S3CSI-225: Port prefix parsing fix from upstream PR #658 #1385
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| name: E2E Integration Tests with RING S3 | |
| on: | |
| push: | |
| branches: | |
| - main | |
| pull_request: | |
| branches: | |
| - '**' | |
| paths-ignore: | |
| - 'docs/**' | |
| - '*.md' | |
| - 'mkdocs.yml' | |
| - 'requirements.txt' # MkDocs requirements | |
| - 'NOTICE' | |
| - '.lychee.toml' | |
| - '.markdownlint.yaml' | |
| - "CLAUDE.md" | |
| env: | |
| KUBECONFIG: "/home/runner/.kube/config" | |
| jobs: | |
| dev-image: | |
| name: Dev Image | |
| permissions: | |
| contents: read | |
| packages: write | |
| uses: scality/workflows/.github/workflows/docker-build.yaml@v2 | |
| with: | |
| context: . | |
| name: mountpoint-s3-csi-driver | |
| namespace: ${{ github.repository_owner }} | |
| tag: ${{ github.sha }} | |
| e2e-tests: | |
| name: v${{ matrix.ring_version }} | |
| runs-on: ubuntu-22.04-8core | |
| needs: dev-image | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| include: | |
| - ring_version: "9.5" | |
| github_varirable_name: "CLOUDSERVER_RING_9_5" | |
| env: | |
| CLOUDSERVER_TAG: ${{ vars[matrix.github_varirable_name] }} | |
| steps: | |
| - name: Check out repository | |
| uses: actions/checkout@v5 | |
| with: | |
| ref: ${{ github.sha }} | |
| fetch-depth: 0 | |
| - name: CI Setup | |
| uses: ./.github/actions/ci-setup | |
| with: | |
| cluster_name: helm-test-cluster | |
| - name: Set up Go | |
| uses: actions/setup-go@v4 | |
| with: | |
| go-version-file: "tests/e2e/go.mod" | |
| cache: true | |
| - name: Install Ginkgo CLI | |
| run: go install github.com/onsi/ginkgo/v2/ginkgo@v2.25.2 | |
| - name: Pull Container Images and Download Go Dependencies in Parallel | |
| run: | | |
| CSI_IMAGE_REPOSITORY=ghcr.io/${{ github.repository }} \ | |
| CSI_IMAGE_TAG=${{ github.sha }} \ | |
| CLOUDSERVER_TAG=${CLOUDSERVER_TAG} \ | |
| mage e2e:pullImages | |
| - name: Load CSI Driver into KIND and Deploy Cloudserver (S3) | |
| run: | | |
| kind load docker-image ghcr.io/${{ github.repository }}:${{ github.sha }} --name helm-test-cluster | |
| mage e2e:deployS3 | |
| - name: Get Host IP Address | |
| id: get_ip | |
| run: echo "host_ip=$(hostname -I | awk '{print $1}')" >> $GITHUB_OUTPUT | |
| - name: Configure hosts file for S3 FQDN | |
| run: | | |
| echo "${{ steps.get_ip.outputs.host_ip }} s3.scality.com" | sudo tee -a /etc/hosts | |
| # Verify the hosts entry | |
| cat /etc/hosts | grep s3.scality.com | |
| - name: Configure CoreDNS for S3 FQDN | |
| run: S3_HOST_IP=${{ steps.get_ip.outputs.host_ip }} mage e2e:configureCIDNS | |
| - name: Start Kubernetes Event and Log Capture | |
| run: mage e2e:startCapture | |
| - name: Apply CRDs | |
| run: mage e2e:applyCRDs | |
| - name: Run CSI Compliance Tests | |
| run: S3_ENDPOINT_URL=http://s3.scality.com:8000 mage e2e:complianceTest | |
| - name: Run Scality Tests | |
| run: | | |
| mkdir -p test-results | |
| S3_ENDPOINT_URL=http://s3.scality.com:8000 \ | |
| CSI_IMAGE_TAG=${{ github.sha }} \ | |
| CSI_IMAGE_REPOSITORY=ghcr.io/${{ github.repository }} \ | |
| JUNIT_REPORT=./test-results/e2e-tests-results.xml \ | |
| mage e2e:all | |
| - name: Stop Capture and Collect Artifacts | |
| if: always() | |
| run: mage e2e:stopCapture | |
| - name: Upload Test Artifacts | |
| if: always() | |
| uses: actions/upload-artifact@v4 | |
| with: | |
| name: e2e-test-artifacts-${{ matrix.ring_version }} | |
| path: artifacts | |
| - name: Upload test results to Codecov | |
| if: ${{ always() }} | |
| uses: codecov/test-results-action@v1 | |
| with: | |
| token: ${{ secrets.CODECOV_TOKEN }} | |
| file: ./tests/e2e/test-results/e2e-tests-results.xml | |
| flags: e2e_tests,cloudserver_${{ matrix.ring_version }} | |
| slug: scality/mountpoint-s3-csi-driver | |
| s3-tls-verify: | |
| name: S3 TLS Verification | |
| runs-on: ubuntu-22.04 | |
| steps: | |
| - name: Check out repository | |
| uses: actions/checkout@v5 | |
| with: | |
| fetch-depth: 0 | |
| - name: CI Setup | |
| uses: ./.github/actions/ci-setup | |
| with: | |
| cluster_name: tls-test-cluster | |
| - name: Get Host IP Address | |
| id: get_ip | |
| run: echo "host_ip=$(hostname -I | awk '{print $1}')" >> $GITHUB_OUTPUT | |
| - name: Configure hosts file for S3 FQDN | |
| run: | | |
| echo "${{ steps.get_ip.outputs.host_ip }} s3.scality.com" | sudo tee -a /etc/hosts | |
| - name: Deploy S3 with TLS | |
| run: CLOUDSERVER_TAG=${{ vars.CLOUDSERVER_RING_9_5 }} mage e2e:deployS3TLS | |
| - name: Start Kubernetes Event and Log Capture | |
| run: mage e2e:startCapture | |
| - name: Verify S3 TLS Endpoint Locally | |
| run: mage e2e:verifyS3TLS | |
| - name: Configure CoreDNS for S3 FQDN | |
| run: S3_HOST_IP=${{ steps.get_ip.outputs.host_ip }} mage e2e:configureCIDNS | |
| - name: Verify S3 TLS from Kubernetes Pod | |
| run: mage e2e:verifyS3TLSInCluster | |
| - name: Stop Capture and Collect Artifacts | |
| if: always() | |
| run: mage e2e:stopCapture | |
| - name: Upload Test Artifacts | |
| if: always() | |
| uses: actions/upload-artifact@v4 | |
| with: | |
| name: s3-tls-verify-artifacts | |
| path: artifacts |