Skip to content

fix: Binary Scan Findings dropdown renders versions that didn't have vulnerabilities #67

fix: Binary Scan Findings dropdown renders versions that didn't have vulnerabilities

fix: Binary Scan Findings dropdown renders versions that didn't have vulnerabilities #67

Workflow file for this run

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