Skip to content

Commit f3aae7a

Browse files
committed
Add integration test
1 parent 0b56c87 commit f3aae7a

File tree

1 file changed

+84
-0
lines changed

1 file changed

+84
-0
lines changed
Lines changed: 84 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,84 @@
1+
name: Integration tests
2+
3+
on:
4+
push:
5+
branches: ["**"]
6+
7+
concurrency:
8+
group: integration-test-${{ github.ref }}
9+
cancel-in-progress: true
10+
11+
env:
12+
split-total: 3
13+
14+
jobs:
15+
generate-split-index-json:
16+
name: Generate split indexes
17+
runs-on: ubuntu-latest
18+
outputs:
19+
json: ${{ steps.generate.outputs.split-index-json }}
20+
steps:
21+
- name: Generate split index list
22+
id: generate
23+
uses: donnerbart/split-tests-java-action/generate-split-index-json@11efbe6f3e414504547447682e5b7eef6ac3e860 # v1
24+
with:
25+
split-total: ${{ env.split-total }}
26+
27+
integration-test:
28+
name: "Test #${{ matrix.split-index }}"
29+
runs-on: ubuntu-latest
30+
needs:
31+
- generate-split-index-json
32+
permissions:
33+
contents: read
34+
checks: write
35+
strategy:
36+
fail-fast: false
37+
matrix:
38+
split-index: ${{ fromjson(needs.generate-split-index-json.outputs.json) }}
39+
steps:
40+
- name: Checkout split-test-java
41+
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4
42+
43+
- name: Set up JDK 21
44+
uses: actions/setup-java@3a4f6e1af504cf6a31855fa899c6aa5355ba6c12 # v4
45+
with:
46+
distribution: temurin
47+
java-version: 21
48+
49+
- name: Split tests
50+
id: split-tests
51+
uses: donnerbart/split-tests-java-action@11efbe6f3e414504547447682e5b7eef6ac3e860 # v1
52+
with:
53+
split-index: ${{ matrix.split-index }}
54+
split-total: ${{ env.split-total }}
55+
glob: '**/src/test/resources/tests/*Test.java'
56+
exclude-glob: '**/NoClassNameTest.java'
57+
junit-glob: '**/src/test/resources/reports/*.xml'
58+
format: 'list'
59+
new-test-time: 'average'
60+
calculate-optimal-total-split: true
61+
debug: true
62+
63+
- name: Assert tests
64+
run: |
65+
case ${{ matrix.split-index }} in
66+
0)
67+
TESTSUITE="foobar0"
68+
;;
69+
1)
70+
TESTSUITE="foobar1"
71+
;;
72+
2)
73+
TESTSUITE="foobar2"
74+
;;
75+
*)
76+
echo "Unexpected split index"
77+
exit 1
78+
;;
79+
esac
80+
if [ "${{ steps.split-tests.outputs.test-suite }}" -ne "$TESTSUITE" ]; then
81+
echo "Expected: $TESTSUITE"
82+
echo "Actual: ${{ steps.split-tests.outputs.test-suite }}"
83+
exit 1
84+
fi

0 commit comments

Comments
 (0)