Skip to content

Commit 98a1fe3

Browse files
committed
ci: Add reusable workflow for e2e tests
1 parent bdbf6f1 commit 98a1fe3

File tree

3 files changed

+59
-39
lines changed

3 files changed

+59
-39
lines changed
File renamed without changes.

.github/workflows/checks.yml

Lines changed: 8 additions & 39 deletions
Original file line numberDiff line numberDiff line change
@@ -55,48 +55,17 @@ jobs:
5555
test-results: test.json
5656

5757
e2e-test:
58-
runs-on: ubuntu-22.04
59-
permissions:
60-
checks: write
6158
strategy:
6259
matrix:
63-
PROVIDER:
60+
provider:
6461
- Docker
65-
- AWS
66-
steps:
67-
- name: Check out code
68-
uses: actions/checkout@v4
69-
with:
70-
fetch-depth: 0
71-
72-
- name: Install devbox
73-
uses: jetpack-io/[email protected]
74-
with:
75-
enable-cache: true
76-
77-
- name: Go cache
78-
uses: actions/cache@v4
79-
with:
80-
path: |
81-
~/.cache/go-build
82-
~/go/pkg/mod
83-
key: ${{ runner.os }}-go-${{ hashFiles('**/go.sum') }}
84-
restore-keys: |
85-
${{ runner.os }}-go-
86-
87-
- name: Run e2e tests
88-
run: devbox run -- make e2e-test E2E_LABEL='provider:${{ matrix.PROVIDER }}'
89-
env:
90-
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
91-
92-
- if: success() || failure() # always run even if the previous step fails
93-
name: Publish e2e test report
94-
uses: mikepenz/action-junit-report@v4
95-
with:
96-
report_paths: 'junit-e2e.xml'
97-
check_name: 'e2e test report'
98-
detailed_summary: true
99-
require_passed_tests: true
62+
uses: ./.github/workflows/e2e.yml
63+
with:
64+
provider: ${{ matrix.provider }}
65+
secrets: inherit
66+
permissions:
67+
contents: read
68+
checks: write
10069

10170
lint-go:
10271
runs-on: ubuntu-22.04

.github/workflows/e2e.yml

Lines changed: 51 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,51 @@
1+
# Copyright 2024 D2iQ, Inc. All rights reserved.
2+
# SPDX-License-Identifier: Apache-2.0
3+
4+
on:
5+
workflow_call:
6+
inputs:
7+
provider:
8+
description: Infrastructure provider to run e2e tests with
9+
type: string
10+
required: true
11+
12+
jobs:
13+
e2e-test:
14+
runs-on: ubuntu-22.04
15+
permissions:
16+
contents: read
17+
checks: write
18+
steps:
19+
- name: Check out code
20+
uses: actions/checkout@v4
21+
with:
22+
fetch-depth: 0
23+
24+
- name: Install devbox
25+
uses: jetpack-io/[email protected]
26+
with:
27+
enable-cache: true
28+
29+
- name: Go cache
30+
uses: actions/cache@v4
31+
with:
32+
path: |
33+
~/.cache/go-build
34+
~/go/pkg/mod
35+
key: ${{ runner.os }}-go-${{ hashFiles('**/go.sum') }}
36+
restore-keys: |
37+
${{ runner.os }}-go-
38+
39+
- name: Run e2e tests
40+
run: devbox run -- make e2e-test E2E_LABEL='provider:${{ inputs.provider }}'
41+
env:
42+
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
43+
44+
- if: success() || failure() # always run even if the previous step fails
45+
name: Publish e2e test report
46+
uses: mikepenz/action-junit-report@v4
47+
with:
48+
report_paths: 'junit-e2e.xml'
49+
check_name: 'e2e test report'
50+
detailed_summary: true
51+
require_passed_tests: true

0 commit comments

Comments
 (0)