Skip to content

Commit

Permalink
Break out E2E tests into a pull_request_target workflow
Browse files Browse the repository at this point in the history
The workflow will require we label the PR with "test-e2e".

Signed-off-by: Kyle Squizzato <[email protected]>
  • Loading branch information
squizzi committed Sep 3, 2024
1 parent 9722797 commit 82195f2
Show file tree
Hide file tree
Showing 2 changed files with 65 additions and 45 deletions.
52 changes: 52 additions & 0 deletions .github/workflows/build.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,52 @@
name: Build and Unit Test

concurrency:
group: test-${{ github.head_ref || github.run_id }}
cancel-in-progress: true

on:
push:
branches:
- main
- release-*
tags:
- '*'
paths-ignore:
- '**.md'
pull_request:
branches:
- main
- release-*
paths-ignore:
- 'config/**'
- '**.md'

env:
GO_VERSION: '1.22'

jobs:
build:
name: Build and Unit Test
runs-on: ubuntu-latest
steps:
- name: Checkout repository
uses: actions/checkout@v4
- name: Setup Go
uses: actions/setup-go@v5
with:
go-version: ${{ env.GO_VERSION }}
- name: Lint
uses: golangci/golangci-lint-action@v6
with:
args: --timeout 10m0s
- name: Verify all generated pieces are up-to-date
run: make generate-all && git add -N . && git diff --exit-code
- name: Unit tests
run: |
make test
- name: Build
run: |
make build
- name: Image build
run: |
make docker-build
58 changes: 13 additions & 45 deletions .github/workflows/test.yml
Original file line number Diff line number Diff line change
@@ -1,77 +1,45 @@
name: Build and Test
name: E2E Tests

concurrency:
group: test-${{ github.head_ref || github.run_id }}
cancel-in-progress: true

permissions:
id-token: write
contents: write

on:
push:
branches:
- main
- release-*
tags:
- '*'
paths-ignore:
- '**.md'
pull_request_target:
types:
- opened
- synchronize
- reopened
types: [labeled]
branches:
- main
- release-*
paths-ignore:
- 'config/**'
- '**.md'

env:
GO_VERSION: '1.22'

jobs:
build:
name: Build and Test
e2etest:
name: E2E Tests
runs-on: ubuntu-latest
if: contains(github.event.pull_request.labels.*.name, 'test-e2e')
env:
AWS_REGION: us-west-2
AWS_ACCESS_KEY_ID: ${{ secrets.CI_AWS_ACCESS_KEY_ID }}
AWS_SECRET_ACCESS_KEY: ${{ secrets.CI_AWS_SECRET_ACCESS_KEY }}
steps:
- name: Checkout repository
uses: actions/checkout@v4
- name: Setup Go
uses: actions/setup-go@v5
with:
go-version: ${{ env.GO_VERSION }}
- name: Lint
uses: golangci/golangci-lint-action@v6
with:
args: --timeout 10m0s
- name: Verify all generated pieces are up-to-date
run: make generate-all && git add -N . && git diff --exit-code
- name: Unit tests
run: |
make test
- name: Build
run: |
make build
- name: Image build
run: |
make docker-build
go-version: ${{ env.GO_VERSION }}
- name: Setup kubectl
uses: azure/setup-kubectl@v4
- name: Run E2E tests
env:
AWS_ACCESS_KEY_ID: ${{ secrets.CI_AWS_ACCESS_KEY_ID }}
AWS_SECRET_ACCESS_KEY: ${{ secrets.CI_AWS_SECRET_ACCESS_KEY }}
SOME_TEST_SECRET: ${{ secrets.CI_TEST_SECRET }}
AWS_REGION: 'us-west-2'
run: |
echo $SOME_TEST_SECRET
make test-e2e
- name: Archive test results
uses: actions/upload-artifact@v4
with:
name: test-logs
path: |
test/e2e/*.log
name: test-logs
path: |
test/e2e/*.log

0 comments on commit 82195f2

Please sign in to comment.