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 | 53 +++++++++++++++++++++------------- .github/workflows/pr.yml | 55 ++++++++++++++++++++++-------------- 2 files changed, 67 insertions(+), 41 deletions(-) diff --git a/.github/workflows/master.yml b/.github/workflows/master.yml index 925d615076..6af2b071df 100644 --- a/.github/workflows/master.yml +++ b/.github/workflows/master.yml @@ -19,8 +19,34 @@ permissions: contents: read jobs: - # Runs before all other jobs - # builds the minikube binaries + # 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 + - 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 e2e-linux-amd64 e2e-darwin-amd64 + cp -r test/integration/testdata ./out + whoami + echo github ref $GITHUB_REF + echo workflow $GITHUB_WORKFLOW + echo home $HOME + echo event name $GITHUB_EVENT_NAME + echo workspace $GITHUB_WORKSPACE + echo "end of debug stuff" + echo $(which jq) + - uses: actions/upload-artifact@a8a3f3ad30e3422c9c7b888a15615d19a852ae32 + with: + name: minikube_binaries + path: out build_minikube: runs-on: ubuntu-20.04 steps: @@ -35,19 +61,6 @@ jobs: run: | make cross make e2e-cross - cp -r test/integration/testdata ./out - whoami - echo github ref $GITHUB_REF - echo workflow $GITHUB_WORKFLOW - echo home $HOME - echo event name $GITHUB_EVENT_NAME - echo workspace $GITHUB_WORKSPACE - echo "end of debug stuff" - echo $(which jq) - - uses: actions/upload-artifact@a8a3f3ad30e3422c9c7b888a15615d19a852ae32 - with: - name: minikube_binaries - path: out 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 d9a4db0be9..10ef45b4eb 100644 --- a/.github/workflows/pr.yml +++ b/.github/workflows/pr.yml @@ -17,8 +17,34 @@ permissions: contents: read jobs: - # Runs before all other jobs - # builds the minikube binaries + # 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 + - 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 e2e-linux-amd64 e2e-darwin-amd64 + cp -r test/integration/testdata ./out + whoami + echo github ref $GITHUB_REF + echo workflow $GITHUB_WORKFLOW + echo home $HOME + echo event name $GITHUB_EVENT_NAME + echo workspace $GITHUB_WORKSPACE + echo "end of debug stuff" + echo $(which jq) + - uses: actions/upload-artifact@a8a3f3ad30e3422c9c7b888a15615d19a852ae32 + with: + name: minikube_binaries + path: out build_minikube: runs-on: ubuntu-20.04 steps: @@ -33,19 +59,6 @@ jobs: run: | make cross make e2e-cross - cp -r test/integration/testdata ./out - whoami - echo github ref $GITHUB_REF - echo workflow $GITHUB_WORKFLOW - echo home $HOME - echo event name $GITHUB_EVENT_NAME - echo workspace $GITHUB_WORKSPACE - echo "end of debug stuff" - echo $(which jq) - - uses: actions/upload-artifact@a8a3f3ad30e3422c9c7b888a15615d19a852ae32 - with: - name: minikube_binaries - path: out 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"