-
Notifications
You must be signed in to change notification settings - Fork 590
80 lines (75 loc) · 2.72 KB
/
ci.yaml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
name: CI
on:
push:
branches: ['main']
pull_request:
types: [ opened, synchronize, reopened ]
concurrency:
group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }}
cancel-in-progress: ${{ github.ref != 'refs/heads/main' }}
jobs:
test:
name: "test with JDK=${{matrix.java-dist}}:${{matrix.java-ver}}"
runs-on: [ubuntu-latest]
strategy:
fail-fast: false
matrix:
java-ver: [11]
java-dist: ['microsoft', 'temurin']
steps:
- uses: actions/checkout@v4
with:
fetch-depth: 0 # so gradle doesn't fail traversing the history
- uses: actions/setup-java@v4
with:
java-version: ${{ matrix.java-ver }}
distribution: ${{ matrix.java-dist }}
cache: gradle
# see: https://github.com/gradle/actions/blob/main/setup-gradle/README.md
- uses: gradle/actions/setup-gradle@v4 # v4.0.0
- name: gradle build
run: ./gradlew --no-daemon -PmaxParallelForks=1 build
integration-test:
name: "integration-test with JDK=${{matrix.java-dist}}:${{matrix.java-ver}}"
runs-on: [ubuntu-latest]
strategy:
fail-fast: false
matrix:
java-ver: [11]
java-dist: ['microsoft', 'temurin']
steps:
- uses: actions/checkout@v4
with:
fetch-depth: 0 # so gradle doesn't fail traversing the history
- uses: actions/setup-java@v4
with:
java-version: ${{ matrix.java-ver }}
distribution: ${{ matrix.java-dist }}
cache: gradle
# see: https://github.com/gradle/actions/blob/main/setup-gradle/README.md
- uses: gradle/actions/setup-gradle@v4 # v4.0.0
- name: gradle integration test
run: ./gradlew --no-daemon -PmaxParallelForks=1 clean integrationTest
build-platform:
name: platform build with JDK=${{matrix.java-dist}}:${{matrix.java-ver}} on ${{matrix.hw_platform}}
strategy:
fail-fast: false
matrix:
java-ver: [11]
java-dist: ['temurin']
hw_platform: ['s390x']
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
with:
fetch-depth: 0 # so gradle doesn't fail traversing the history
- run: |
# install required qemu libraries
docker run --rm --privileged tonistiigi/binfmt:latest --install all
# run docker container with qemu emulation
docker run --rm \
--platform ${{ matrix.hw_platform }} \
--name qemu-cross-${{ matrix.hw_platform }} \
--mount type=bind,source=${PWD},target=/workspace \
--workdir /workspace \
${{matrix.hw_platform}}/eclipse-temurin:11-jdk-focal uname -a; ./gradlew --no-daemon -PmaxParallelForks=1 build