Skip to content

Commit cfda671

Browse files
authored
ci: separate e2e job (#78)
1 parent 4244eb1 commit cfda671

File tree

2 files changed

+45
-41
lines changed

2 files changed

+45
-41
lines changed

.github/workflows/ci.yml

Lines changed: 3 additions & 41 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
name: CI
22

33
concurrency:
4-
group: e2e-tests-${{ github.ref }}
4+
group: ci-${{ github.ref }}
55
cancel-in-progress: false
66

77
on:
@@ -14,8 +14,6 @@ on:
1414
- '**' # Run on PRs to any branch
1515

1616
jobs:
17-
# All jobs run in parallel except e2e-tests which requires secrets
18-
1917
unit-tests:
2018
name: Unit Tests
2119
runs-on: ubuntu-latest
@@ -86,46 +84,10 @@ jobs:
8684
8785
- name: Build tf-migrate
8886
run: |
89-
go build -o tf-migrate ./cmd/tf-migrate
90-
./tf-migrate version
87+
make build
88+
./bin/tf-migrate version
9189
9290
- name: Run integration tests for v4 to v5
9391
run: |
9492
cd integration/v4_to_v5
9593
go test -v -race -timeout 10m
96-
97-
e2e-tests:
98-
name: E2E Tests
99-
runs-on: ubuntu-latest
100-
if: ${{ github.ref == 'refs/heads/main' }}
101-
permissions:
102-
contents: read
103-
steps:
104-
- name: Checkout code
105-
uses: actions/checkout@v4
106-
107-
- name: Setup Go
108-
uses: actions/setup-go@v5
109-
with:
110-
go-version-file: ./go.mod
111-
112-
- name: Setup Terraform
113-
uses: hashicorp/setup-terraform@v3
114-
with:
115-
terraform_version: "1.9.8"
116-
117-
- name: Get dependencies
118-
run: |
119-
go mod download
120-
go mod tidy
121-
122-
- name: Run E2E tests
123-
env:
124-
CLOUDFLARE_API_KEY: ${{ secrets.CLOUDFLARE_API_KEY }}
125-
CLOUDFLARE_EMAIL: ${{ secrets.CLOUDFLARE_EMAIL }}
126-
CLOUDFLARE_ACCOUNT_ID: ${{ secrets.CLOUDFLARE_ACCOUNT_ID }}
127-
CLOUDFLARE_ZONE_ID: ${{ secrets.CLOUDFLARE_ZONE_ID }}
128-
CLOUDFLARE_R2_ACCESS_KEY_ID: ${{ secrets.CLOUDFLARE_R2_ACCESS_KEY_ID }}
129-
CLOUDFLARE_R2_SECRET_ACCESS_KEY: ${{ secrets.CLOUDFLARE_R2_SECRET_ACCESS_KEY }}
130-
run: |
131-
./scripts/run-e2e-tests

.github/workflows/e2e-tests.yml

Lines changed: 42 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,42 @@
1+
name: E2E Tests
2+
concurrency:
3+
group: e2e-tests
4+
5+
on:
6+
workflow_dispatch:
7+
push:
8+
branches:
9+
- main
10+
11+
env:
12+
CLOUDFLARE_ACCOUNT_ID: ${{ secrets.CLOUDFLARE_ACCOUNT_ID }}
13+
CLOUDFLARE_ZONE_ID: ${{ secrets.CLOUDFLARE_ZONE_ID }}
14+
CLOUDFLARE_EMAIL: ${{ secrets.CLOUDFLARE_EMAIL }}
15+
CLOUDFLARE_API_KEY: ${{ secrets.CLOUDFLARE_API_KEY }}
16+
CLOUDFLARE_R2_ACCESS_KEY_ID: ${{ secrets.CLOUDFLARE_R2_ACCESS_KEY_ID }}
17+
CLOUDFLARE_R2_SECRET_ACCESS_KEY: ${{ secrets.CLOUDFLARE_R2_SECRET_ACCESS_KEY }}
18+
19+
jobs:
20+
e2e-tests:
21+
name: E2E Migration Tests
22+
runs-on: ubuntu-latest
23+
permissions:
24+
contents: read
25+
steps:
26+
- uses: actions/checkout@v4
27+
28+
- name: Setup go
29+
uses: actions/setup-go@v5
30+
with:
31+
go-version-file: ./go.mod
32+
33+
- name: Setup Terraform
34+
uses: hashicorp/setup-terraform@v3
35+
with:
36+
terraform_version: "~> 1.0"
37+
38+
- name: Build binaries
39+
run: make build-all
40+
41+
- name: Run E2E Tests
42+
run: bin/e2e-runner run

0 commit comments

Comments
 (0)