From 6d65e9ce2740fd509f0b1d68880034413ff9ea0d Mon Sep 17 00:00:00 2001 From: Steven Powell Date: Tue, 10 Oct 2023 15:24:30 -0700 Subject: [PATCH] CI: GitHub Actions only build required test binaries --- .github/workflows/master.yml | 33 +++++++++++++++++++++++---------- .github/workflows/pr.yml | 35 ++++++++++++++++++++++++----------- 2 files changed, 47 insertions(+), 21 deletions(-) diff --git a/.github/workflows/master.yml b/.github/workflows/master.yml index 925d61507643..6af2b071df14 100644 --- a/.github/workflows/master.yml +++ b/.github/workflows/master.yml @@ -19,9 +19,9 @@ permissions: contents: read jobs: - # Runs before all other jobs - # builds the minikube binaries - build_minikube: + # Runs before before the functional tests + # builds the binaries required for testing + build_minikube_test_binaries: runs-on: ubuntu-20.04 steps: - uses: actions/checkout@8ade135a41bc03ea155e62e844d188df1ea18608 @@ -33,8 +33,7 @@ jobs: run: go mod download - name: Build Binaries run: | - make cross - make e2e-cross + make e2e-linux-amd64 e2e-darwin-amd64 cp -r test/integration/testdata ./out whoami echo github ref $GITHUB_REF @@ -48,6 +47,20 @@ jobs: with: name: minikube_binaries path: out + build_minikube: + runs-on: ubuntu-20.04 + steps: + - uses: actions/checkout@8ade135a41bc03ea155e62e844d188df1ea18608 + - uses: actions/setup-go@93397bea11091df50f3d7e59dc26a7711a8bcfbe + with: + go-version: ${{env.GO_VERSION}} + cache-dependency-path: ./go.sum + - name: Download Dependencies + run: go mod download + - name: Build Binaries + run: | + make cross + make e2e-cross lint: runs-on: ubuntu-20.04 steps: @@ -91,7 +104,7 @@ jobs: functional_docker_ubuntu: permissions: contents: none - needs: [build_minikube] + needs: [build_minikube_test_binaries] env: TIME_ELAPSED: time JOB_NAME: "functional_docker_ubuntu" @@ -189,7 +202,7 @@ jobs: functional_docker_containerd_ubuntu: permissions: contents: none - needs: [build_minikube] + needs: [build_minikube_test_binaries] env: TIME_ELAPSED: time JOB_NAME: "functional_docker_containerd_ubuntu" @@ -288,7 +301,7 @@ jobs: functional_podman_ubuntu: permissions: contents: none - needs: [ build_minikube ] + needs: [build_minikube_test_binaries] env: TIME_ELAPSED: time JOB_NAME: functional_podman_ubuntu @@ -390,7 +403,7 @@ jobs: functional_virtualbox_macos: permissions: contents: none - needs: [build_minikube] + needs: [build_minikube_test_binaries] env: TIME_ELAPSED: time JOB_NAME: "functional_virtualbox_macos" @@ -487,7 +500,7 @@ jobs: functional_baremetal_ubuntu20_04: permissions: contents: none - needs: [build_minikube] + needs: [build_minikube_test_binaries] env: TIME_ELAPSED: time JOB_NAME: "functional_baremetal_ubuntu20_04" diff --git a/.github/workflows/pr.yml b/.github/workflows/pr.yml index d9a4db0be923..10ef45b4eb66 100644 --- a/.github/workflows/pr.yml +++ b/.github/workflows/pr.yml @@ -17,9 +17,9 @@ permissions: contents: read jobs: - # Runs before all other jobs - # builds the minikube binaries - build_minikube: + # Runs before before the functional tests + # builds the binaries required for testing + build_minikube_test_binaries: runs-on: ubuntu-20.04 steps: - uses: actions/checkout@8ade135a41bc03ea155e62e844d188df1ea18608 @@ -31,8 +31,7 @@ jobs: run: go mod download - name: Build Binaries run: | - make cross - make e2e-cross + make e2e-linux-amd64 e2e-darwin-amd64 cp -r test/integration/testdata ./out whoami echo github ref $GITHUB_REF @@ -46,6 +45,20 @@ jobs: with: name: minikube_binaries path: out + build_minikube: + runs-on: ubuntu-20.04 + steps: + - uses: actions/checkout@8ade135a41bc03ea155e62e844d188df1ea18608 + - uses: actions/setup-go@93397bea11091df50f3d7e59dc26a7711a8bcfbe + with: + go-version: ${{env.GO_VERSION}} + cache-dependency-path: ./go.sum + - name: Download Dependencies + run: go mod download + - name: Build Binaries + run: | + make cross + make e2e-cross lint: runs-on: ubuntu-20.04 steps: @@ -89,7 +102,7 @@ jobs: functional_docker_ubuntu: permissions: contents: none - needs: [build_minikube] + needs: [build_minikube_test_binaries] env: TIME_ELAPSED: time JOB_NAME: "functional_docker_ubuntu" @@ -188,7 +201,7 @@ jobs: functional_docker_containerd_ubuntu: permissions: contents: none - needs: [build_minikube] + needs: [build_minikube_test_binaries] env: TIME_ELAPSED: time JOB_NAME: "functional_docker_containerd_ubuntu" @@ -288,7 +301,7 @@ jobs: functional_docker_rootless_containerd_ubuntu: permissions: contents: none - needs: [build_minikube] + needs: [build_minikube_test_binaries] env: TIME_ELAPSED: time JOB_NAME: "functional_docker_rootless_containerd_ubuntu" @@ -405,7 +418,7 @@ jobs: functional_podman_ubuntu: permissions: contents: none - needs: [ build_minikube ] + needs: [build_minikube_test_binaries] env: TIME_ELAPSED: time JOB_NAME: functional_podman_ubuntu @@ -508,7 +521,7 @@ jobs: functional_virtualbox_macos: permissions: contents: none - needs: [build_minikube] + needs: [build_minikube_test_binaries] env: TIME_ELAPSED: time JOB_NAME: "functional_virtualbox_macos" @@ -606,7 +619,7 @@ jobs: functional_baremetal_ubuntu20_04: permissions: contents: none - needs: [build_minikube] + needs: [build_minikube_test_binaries] env: TIME_ELAPSED: time JOB_NAME: "functional_baremetal_ubuntu20_04"