fix: Binary Scan Findings dropdown renders versions that didn't have vulnerabilities #67
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 Tests | |
| on: | |
| pull_request: | |
| types: | |
| - opened | |
| - synchronize | |
| paths: | |
| - 'chart/**' | |
| - 'services/**' | |
| - 'pkg/**' | |
| - 'api/**' | |
| - '.github/workflows/e2e.yaml' | |
| env: | |
| REGISTRY: ghcr.io/tonedefdev/opendepot | |
| IMAGE_TAG: pr-${{ github.event.pull_request.number }}-${{ github.sha }} | |
| jobs: | |
| build-images: | |
| name: Build and push ${{ matrix.service }} | |
| runs-on: ubuntu-latest | |
| if: github.event.pull_request.head.repo.full_name == github.repository | |
| permissions: | |
| contents: read | |
| packages: write | |
| strategy: | |
| matrix: | |
| include: | |
| - service: depot-controller | |
| dockerfile: services/depot/Dockerfile | |
| buildArgs: "" | |
| - service: module-controller | |
| dockerfile: services/module/Dockerfile | |
| buildArgs: "" | |
| - service: provider-controller | |
| dockerfile: services/provider/Dockerfile | |
| buildArgs: "" | |
| - service: server | |
| dockerfile: services/server/Dockerfile | |
| buildArgs: "" | |
| - service: version-controller | |
| dockerfile: services/version/Dockerfile | |
| buildArgs: "" | |
| - service: version-controller-scanning | |
| dockerfile: services/version/Dockerfile | |
| buildArgs: "INCLUDE_TRIVY=true" | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - name: Log in to ghcr.io | |
| uses: docker/login-action@v3 | |
| with: | |
| registry: ghcr.io | |
| username: ${{ github.actor }} | |
| password: ${{ secrets.GITHUB_TOKEN }} | |
| - name: Set up Docker Buildx | |
| uses: docker/setup-buildx-action@v3 | |
| - name: Build ${{ matrix.service }} | |
| uses: docker/build-push-action@v6 | |
| with: | |
| context: . | |
| file: ${{ matrix.dockerfile }} | |
| push: false | |
| load: true | |
| tags: ${{ env.REGISTRY }}/${{ matrix.service }}:${{ env.IMAGE_TAG }} | |
| build-args: ${{ matrix.buildArgs }} | |
| cache-from: type=gha,scope=${{ matrix.service }} | |
| cache-to: type=gha,mode=max,scope=${{ matrix.service }} | |
| - name: Run Trivy vulnerability scanner | |
| if: ${{ matrix.service != 'version-controller-scanning' }} | |
| uses: aquasecurity/trivy-action@v0.36.0 | |
| with: | |
| image-ref: ${{ env.REGISTRY }}/${{ matrix.service }}:${{ env.IMAGE_TAG }} | |
| format: 'table' | |
| exit-code: '1' | |
| ignore-unfixed: true | |
| vuln-type: 'os,library' | |
| severity: 'CRITICAL,HIGH' | |
| - name: Push ${{ matrix.service }} | |
| run: docker push ${{ env.REGISTRY }}/${{ matrix.service }}:${{ env.IMAGE_TAG }} | |
| e2e-module: | |
| name: Module controller e2e | |
| runs-on: ubuntu-latest | |
| timeout-minutes: 30 | |
| needs: build-images | |
| permissions: | |
| contents: read | |
| packages: read | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - name: Set up Go | |
| uses: actions/setup-go@v5 | |
| with: | |
| go-version: "1.25" | |
| cache: true | |
| - name: Log in to ghcr.io | |
| uses: docker/login-action@v3 | |
| with: | |
| registry: ghcr.io | |
| username: ${{ github.actor }} | |
| password: ${{ secrets.GITHUB_TOKEN }} | |
| - name: Pull e2e images | |
| run: | | |
| docker pull ${{ env.REGISTRY }}/module-controller:${{ env.IMAGE_TAG }} | |
| docker pull ${{ env.REGISTRY }}/version-controller:${{ env.IMAGE_TAG }} | |
| docker pull ${{ env.REGISTRY }}/version-controller-scanning:${{ env.IMAGE_TAG }} | |
| docker pull ${{ env.REGISTRY }}/server:${{ env.IMAGE_TAG }} | |
| docker tag ${{ env.REGISTRY }}/module-controller:${{ env.IMAGE_TAG }} module-controller:e2e-test | |
| docker tag ${{ env.REGISTRY }}/version-controller:${{ env.IMAGE_TAG }} version-controller:e2e-test | |
| docker tag ${{ env.REGISTRY }}/version-controller-scanning:${{ env.IMAGE_TAG }} version-controller:e2e-test-scanning | |
| docker tag ${{ env.REGISTRY }}/server:${{ env.IMAGE_TAG }} server:e2e-test | |
| - name: Install kind | |
| uses: helm/kind-action@v1 | |
| with: | |
| install_only: true | |
| - name: Install Helm | |
| uses: azure/setup-helm@v4 | |
| with: | |
| version: "v4.0.0" | |
| - name: Install OpenTofu | |
| uses: opentofu/setup-opentofu@v1 | |
| with: | |
| tofu_version: "1.6.0" | |
| - name: Create kind cluster | |
| run: kind create cluster --name opendepot-test-e2e | |
| - name: Run module e2e tests | |
| working-directory: services/module | |
| run: SKIP_IMAGE_BUILD=true KIND_CLUSTER=opendepot-test-e2e IMG=module-controller:e2e-test go test ./test/e2e/ -v -ginkgo.v -count=1 -timeout 20m | |
| e2e-provider: | |
| name: Provider controller e2e | |
| runs-on: ubuntu-latest | |
| timeout-minutes: 40 | |
| needs: build-images | |
| permissions: | |
| contents: read | |
| packages: read | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - name: Set up Go | |
| uses: actions/setup-go@v5 | |
| with: | |
| go-version: "1.25" | |
| cache: true | |
| - name: Log in to ghcr.io | |
| uses: docker/login-action@v3 | |
| with: | |
| registry: ghcr.io | |
| username: ${{ github.actor }} | |
| password: ${{ secrets.GITHUB_TOKEN }} | |
| - name: Pull e2e images | |
| run: | | |
| docker pull ${{ env.REGISTRY }}/provider-controller:${{ env.IMAGE_TAG }} | |
| docker pull ${{ env.REGISTRY }}/version-controller:${{ env.IMAGE_TAG }} | |
| docker pull ${{ env.REGISTRY }}/version-controller-scanning:${{ env.IMAGE_TAG }} | |
| docker pull ${{ env.REGISTRY }}/server:${{ env.IMAGE_TAG }} | |
| docker tag ${{ env.REGISTRY }}/provider-controller:${{ env.IMAGE_TAG }} provider-controller:e2e-test | |
| docker tag ${{ env.REGISTRY }}/version-controller:${{ env.IMAGE_TAG }} version-controller:e2e-test | |
| docker tag ${{ env.REGISTRY }}/version-controller-scanning:${{ env.IMAGE_TAG }} version-controller:e2e-test-scanning | |
| docker tag ${{ env.REGISTRY }}/server:${{ env.IMAGE_TAG }} server:e2e-test | |
| - name: Install kind | |
| uses: helm/kind-action@v1 | |
| with: | |
| install_only: true | |
| - name: Install Helm | |
| uses: azure/setup-helm@v4 | |
| with: | |
| version: "v4.0.0" | |
| - name: Install OpenTofu | |
| uses: opentofu/setup-opentofu@v1 | |
| with: | |
| tofu_version: "1.6.0" | |
| - name: Create kind cluster | |
| run: kind create cluster --name opendepot-test-e2e | |
| - name: Run provider e2e tests | |
| working-directory: services/provider | |
| run: SKIP_IMAGE_BUILD=true KIND_CLUSTER=opendepot-test-e2e IMG=provider-controller:e2e-test go test ./test/e2e/ -v -ginkgo.v -count=1 -timeout 30m | |
| e2e-depot: | |
| name: Depot controller e2e | |
| runs-on: ubuntu-latest | |
| timeout-minutes: 30 | |
| needs: build-images | |
| permissions: | |
| contents: read | |
| packages: read | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - name: Set up Go | |
| uses: actions/setup-go@v5 | |
| with: | |
| go-version: "1.25" | |
| cache: true | |
| - name: Log in to ghcr.io | |
| uses: docker/login-action@v3 | |
| with: | |
| registry: ghcr.io | |
| username: ${{ github.actor }} | |
| password: ${{ secrets.GITHUB_TOKEN }} | |
| - name: Pull e2e images | |
| run: | | |
| docker pull ${{ env.REGISTRY }}/depot-controller:${{ env.IMAGE_TAG }} | |
| docker pull ${{ env.REGISTRY }}/version-controller:${{ env.IMAGE_TAG }} | |
| docker pull ${{ env.REGISTRY }}/server:${{ env.IMAGE_TAG }} | |
| docker tag ${{ env.REGISTRY }}/depot-controller:${{ env.IMAGE_TAG }} depot-controller:e2e-test | |
| docker tag ${{ env.REGISTRY }}/version-controller:${{ env.IMAGE_TAG }} version-controller:e2e-test | |
| docker tag ${{ env.REGISTRY }}/server:${{ env.IMAGE_TAG }} server:e2e-test | |
| - name: Install kind | |
| uses: helm/kind-action@v1 | |
| with: | |
| install_only: true | |
| - name: Install Helm | |
| uses: azure/setup-helm@v4 | |
| with: | |
| version: "v4.0.0" | |
| - name: Create kind cluster | |
| run: kind create cluster --name opendepot-test-e2e | |
| - name: Run depot e2e tests | |
| working-directory: services/depot | |
| run: KIND_CLUSTER=opendepot-test-e2e IMG=depot-controller:e2e-test go test ./test/e2e/ -v -ginkgo.v -count=1 -timeout 20m | |
| e2e-server: | |
| name: Server e2e | |
| runs-on: ubuntu-latest | |
| timeout-minutes: 30 | |
| needs: build-images | |
| permissions: | |
| contents: read | |
| packages: read | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - name: Set up Go | |
| uses: actions/setup-go@v5 | |
| with: | |
| go-version: "1.25" | |
| cache: true | |
| - name: Log in to ghcr.io | |
| uses: docker/login-action@v3 | |
| with: | |
| registry: ghcr.io | |
| username: ${{ github.actor }} | |
| password: ${{ secrets.GITHUB_TOKEN }} | |
| - name: Pull e2e images | |
| run: | | |
| docker pull ${{ env.REGISTRY }}/server:${{ env.IMAGE_TAG }} | |
| docker tag ${{ env.REGISTRY }}/server:${{ env.IMAGE_TAG }} server:e2e-test | |
| - name: Install kind | |
| uses: helm/kind-action@v1 | |
| with: | |
| install_only: true | |
| - name: Install Helm | |
| uses: azure/setup-helm@v4 | |
| with: | |
| version: "v4.0.0" | |
| - name: Install OpenTofu | |
| uses: opentofu/setup-opentofu@v1 | |
| with: | |
| tofu_version: "1.11.5" | |
| - name: Create kind cluster | |
| run: kind create cluster --name opendepot-test-e2e | |
| - name: Run server e2e tests | |
| working-directory: services/server | |
| run: KIND_CLUSTER=opendepot-test-e2e IMG=server:e2e-test go test ./test/e2e/ -v -ginkgo.v -count=1 -timeout 20m | |
| e2e-version: | |
| name: Version controller e2e | |
| runs-on: ubuntu-latest | |
| timeout-minutes: 30 | |
| needs: build-images | |
| permissions: | |
| contents: read | |
| packages: read | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - name: Set up Go | |
| uses: actions/setup-go@v5 | |
| with: | |
| go-version: "1.25" | |
| cache: true | |
| - name: Log in to ghcr.io | |
| uses: docker/login-action@v3 | |
| with: | |
| registry: ghcr.io | |
| username: ${{ github.actor }} | |
| password: ${{ secrets.GITHUB_TOKEN }} | |
| - name: Pull e2e images | |
| run: | | |
| docker pull ${{ env.REGISTRY }}/version-controller:${{ env.IMAGE_TAG }} | |
| docker pull ${{ env.REGISTRY }}/version-controller-scanning:${{ env.IMAGE_TAG }} | |
| docker pull ${{ env.REGISTRY }}/server:${{ env.IMAGE_TAG }} | |
| docker tag ${{ env.REGISTRY }}/version-controller:${{ env.IMAGE_TAG }} version-controller:e2e-test | |
| docker tag ${{ env.REGISTRY }}/version-controller-scanning:${{ env.IMAGE_TAG }} version-controller:e2e-test-scanning | |
| docker tag ${{ env.REGISTRY }}/server:${{ env.IMAGE_TAG }} server:e2e-test | |
| - name: Install kind | |
| uses: helm/kind-action@v1 | |
| with: | |
| install_only: true | |
| - name: Install Helm | |
| uses: azure/setup-helm@v4 | |
| with: | |
| version: "v4.0.0" | |
| - name: Create kind cluster | |
| run: kind create cluster --name opendepot-test-e2e | |
| - name: Run version e2e tests | |
| working-directory: services/version | |
| run: SKIP_IMAGE_BUILD=true KIND_CLUSTER=opendepot-test-e2e IMG=version-controller:e2e-test go test ./test/e2e/ -v -ginkgo.v -count=1 -timeout 20m |