Pr/tammach/tip envoy #4072
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: CI run integration tests | |
| on: | |
| pull_request: {} | |
| # By specifying the access of one of the scopes, all of those that are not specified are set to 'none'. | |
| permissions: | |
| # To be able to access the repository with actions/checkout | |
| contents: read | |
| concurrency: | |
| group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.event.after }} | |
| cancel-in-progress: true | |
| jobs: | |
| go-vendoring: | |
| timeout-minutes: 30 | |
| name: Check Go module vendoring | |
| runs-on: ubuntu-latest | |
| steps: | |
| - name: Install Go | |
| uses: actions/setup-go@b7ad1dad31e06c5925ef5d2fc7ad053ef454303e # v7.0.0 | |
| with: | |
| # renovate: datasource=golang-version depName=go | |
| go-version: 1.26.8 | |
| - name: Checkout code | |
| uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1 | |
| with: | |
| persist-credentials: false | |
| - name: Check module vendoring | |
| run: | | |
| go mod tidy | |
| go mod vendor | |
| test -z "$(git status --porcelain)" || (echo "please run 'go mod tidy && go mod vendor', and submit your changes"; exit 1) | |
| tests: | |
| timeout-minutes: 360 | |
| name: Run integration tests on amd64 | |
| runs-on: ${{ vars.PROXY_BUILD_GITHUB_RUNNER || 'oracle-vm-32cpu-128gb-x86-64' }} | |
| steps: | |
| - name: Set up Docker Buildx | |
| uses: docker/setup-buildx-action@37fe631027851001ddb9b187196cc803df7f5f0e # v4.3.0 | |
| - name: Cache Docker layers | |
| uses: actions/cache@55cc8345863c7cc4c66a329aec7e433d2d1c52a9 # v6.1.0 | |
| with: | |
| path: /tmp/buildx-cache | |
| key: docker-cache-tests | |
| restore-keys: docker-cache-main | |
| - name: Checkout PR Source Code | |
| uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1 | |
| with: | |
| ref: ${{ github.event.pull_request.head.sha }} | |
| persist-credentials: false | |
| - name: Prep for build | |
| run: | | |
| echo "${{ github.event.pull_request.head.sha }}" >SOURCE_VERSION | |
| echo "BUILDER_DOCKER_HASH=$(git ls-tree --full-tree HEAD -- ./Dockerfile.builder | awk '{ print $3 }')" >> $GITHUB_ENV | |
| - name: Wait for build image | |
| uses: ./.github/workflows/wait-for-image | |
| with: | |
| SHA: ${{ env.BUILDER_DOCKER_HASH }} | |
| repo: cilium | |
| images: cilium-envoy-builder-dev | |
| - name: Run integration tests on amd64 | |
| uses: docker/build-push-action@53b7df96c91f9c12dcc8a07bcb9ccacbed38856a # v7.3.0 | |
| id: docker_tests_ci | |
| with: | |
| provenance: false | |
| context: . | |
| file: ./Dockerfile.tests | |
| platforms: linux/amd64 | |
| build-args: | | |
| BUILDER_BASE=quay.io/${{ github.repository_owner }}/cilium-envoy-builder-dev:${{ env.BUILDER_DOCKER_HASH }} | |
| ARCHIVE_IMAGE=quay.io/${{ github.repository_owner }}/cilium-envoy-builder:test-main-archive-latest | |
| BAZEL_BUILD_OPTS=--remote_upload_local_results=false | |
| BAZEL_TEST_OPTS=--jobs=HOST_RAM*.0002 --test_timeout=300 --local_test_jobs=4 --flaky_test_attempts=3 | |
| cache-from: type=local,src=/tmp/buildx-cache | |
| push: false | |
| asan-tests: | |
| timeout-minutes: 360 | |
| name: Run ASAN integration tests on amd64 | |
| runs-on: ${{ vars.PROXY_BUILD_GITHUB_RUNNER || 'oracle-vm-32cpu-128gb-x86-64' }} | |
| steps: | |
| - name: Set up Docker Buildx | |
| uses: docker/setup-buildx-action@37fe631027851001ddb9b187196cc803df7f5f0e # v4.3.0 | |
| - name: Cache Docker layers | |
| uses: actions/cache@55cc8345863c7cc4c66a329aec7e433d2d1c52a9 # v6.1.0 | |
| with: | |
| path: /tmp/buildx-cache | |
| key: docker-cache-tests-asan | |
| restore-keys: docker-cache-tests | |
| - name: Checkout PR Source Code | |
| uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1 | |
| with: | |
| ref: ${{ github.event.pull_request.head.sha }} | |
| persist-credentials: false | |
| - name: Prep for build | |
| run: | | |
| echo "${{ github.event.pull_request.head.sha }}" >SOURCE_VERSION | |
| echo "BUILDER_DOCKER_HASH=$(git ls-tree --full-tree HEAD -- ./Dockerfile.builder | awk '{ print $3 }')" >> $GITHUB_ENV | |
| - name: Wait for build image | |
| uses: ./.github/workflows/wait-for-image | |
| with: | |
| SHA: ${{ env.BUILDER_DOCKER_HASH }} | |
| repo: cilium | |
| images: cilium-envoy-builder-dev | |
| - name: Run ASAN integration tests on amd64 | |
| uses: docker/build-push-action@53b7df96c91f9c12dcc8a07bcb9ccacbed38856a # v7.3.0 | |
| id: docker_asan_tests_ci | |
| with: | |
| provenance: false | |
| context: . | |
| file: ./Dockerfile.tests | |
| platforms: linux/amd64 | |
| build-args: | | |
| BUILDER_BASE=quay.io/${{ github.repository_owner }}/cilium-envoy-builder-dev:${{ env.BUILDER_DOCKER_HASH }} | |
| ARCHIVE_IMAGE=quay.io/${{ github.repository_owner }}/cilium-envoy-builder:test-main-archive-latest | |
| DEBUG=1 | |
| BAZEL_BUILD_OPTS=--remote_upload_local_results=false --config=asan | |
| BAZEL_TEST_OPTS=--jobs=HOST_RAM*.0001 --test_timeout=600 --local_test_jobs=2 --flaky_test_attempts=1 --noshow_progress --noshow_loading_progress | |
| cache-from: type=local,src=/tmp/buildx-cache | |
| push: false | |
| msan-tests: | |
| timeout-minutes: 360 | |
| name: Run MSAN integration tests on amd64 | |
| runs-on: ${{ vars.PROXY_BUILD_GITHUB_RUNNER || 'oracle-vm-32cpu-128gb-x86-64' }} | |
| steps: | |
| - name: Set up Docker Buildx | |
| uses: docker/setup-buildx-action@37fe631027851001ddb9b187196cc803df7f5f0e # v4.3.0 | |
| - name: Cache Docker layers | |
| uses: actions/cache@55cc8345863c7cc4c66a329aec7e433d2d1c52a9 # v6.1.0 | |
| with: | |
| path: /tmp/buildx-cache | |
| key: docker-cache-tests-msan | |
| restore-keys: docker-cache-tests | |
| - name: Checkout PR Source Code | |
| uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1 | |
| with: | |
| ref: ${{ github.event.pull_request.head.sha }} | |
| persist-credentials: false | |
| - name: Prep for build | |
| run: | | |
| echo "${{ github.event.pull_request.head.sha }}" >SOURCE_VERSION | |
| echo "BUILDER_DOCKER_HASH=$(git ls-tree --full-tree HEAD -- ./Dockerfile.builder | awk '{ print $3 }')" >> $GITHUB_ENV | |
| - name: Wait for build image | |
| uses: ./.github/workflows/wait-for-image | |
| with: | |
| SHA: ${{ env.BUILDER_DOCKER_HASH }} | |
| repo: cilium | |
| images: cilium-envoy-builder-dev | |
| - name: Run MSAN integration tests on amd64 | |
| uses: docker/build-push-action@53b7df96c91f9c12dcc8a07bcb9ccacbed38856a # v7.3.0 | |
| id: docker_msan_tests_ci | |
| with: | |
| provenance: false | |
| context: . | |
| file: ./Dockerfile.tests | |
| platforms: linux/amd64 | |
| build-args: | | |
| BUILDER_BASE=quay.io/${{ github.repository_owner }}/cilium-envoy-builder-dev:${{ env.BUILDER_DOCKER_HASH }} | |
| ARCHIVE_IMAGE=quay.io/${{ github.repository_owner }}/cilium-envoy-builder:test-main-archive-latest | |
| DEBUG=1 | |
| BAZEL_BUILD_OPTS=--config=msan --remote_upload_local_results=false | |
| BAZEL_TEST_OPTS=--jobs=HOST_RAM*.00005 --test_timeout=900 --local_test_jobs=1 --notest_keep_going --flaky_test_attempts=1 --noshow_progress --noshow_loading_progress | |
| cache-from: type=local,src=/tmp/buildx-cache | |
| push: false | |
| tsan-tests: | |
| timeout-minutes: 360 | |
| name: Run TSAN integration tests on amd64 | |
| runs-on: ${{ vars.PROXY_BUILD_GITHUB_RUNNER || 'oracle-vm-32cpu-128gb-x86-64' }} | |
| steps: | |
| - name: Set up Docker Buildx | |
| uses: docker/setup-buildx-action@37fe631027851001ddb9b187196cc803df7f5f0e # v4.3.0 | |
| - name: Cache Docker layers | |
| uses: actions/cache@55cc8345863c7cc4c66a329aec7e433d2d1c52a9 # v6.1.0 | |
| with: | |
| path: /tmp/buildx-cache | |
| key: docker-cache-tests-tsan | |
| restore-keys: docker-cache-tests | |
| - name: Checkout PR Source Code | |
| uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1 | |
| with: | |
| ref: ${{ github.event.pull_request.head.sha }} | |
| persist-credentials: false | |
| - name: Prep for build | |
| run: | | |
| echo "${{ github.event.pull_request.head.sha }}" >SOURCE_VERSION | |
| echo "BUILDER_DOCKER_HASH=$(git ls-tree --full-tree HEAD -- ./Dockerfile.builder | awk '{ print $3 }')" >> $GITHUB_ENV | |
| - name: Wait for build image | |
| uses: ./.github/workflows/wait-for-image | |
| with: | |
| SHA: ${{ env.BUILDER_DOCKER_HASH }} | |
| repo: cilium | |
| images: cilium-envoy-builder-dev | |
| - name: Run TSAN integration tests on amd64 | |
| uses: docker/build-push-action@53b7df96c91f9c12dcc8a07bcb9ccacbed38856a # v7.3.0 | |
| id: docker_tsan_tests_ci | |
| with: | |
| provenance: false | |
| context: . | |
| file: ./Dockerfile.tests | |
| platforms: linux/amd64 | |
| build-args: | | |
| BUILDER_BASE=quay.io/${{ github.repository_owner }}/cilium-envoy-builder-dev:${{ env.BUILDER_DOCKER_HASH }} | |
| ARCHIVE_IMAGE=quay.io/${{ github.repository_owner }}/cilium-envoy-builder:test-main-archive-latest | |
| DEBUG=1 | |
| BAZEL_BUILD_OPTS=--config=tsan --remote_upload_local_results=false | |
| BAZEL_TEST_OPTS=--jobs=HOST_RAM*.00005 --test_timeout=900 --local_test_jobs=1 --notest_keep_going --flaky_test_attempts=1 --noshow_progress --noshow_loading_progress --test_env=TSAN_OPTIONS=report_atomic_races=0:halt_on_error=1:strip_path_prefix=/proc/self/cwd/ | |
| cache-from: type=local,src=/tmp/buildx-cache | |
| push: false |