Skip to content

Commit

Permalink
parallel test and integrationTest
Browse files Browse the repository at this point in the history
  • Loading branch information
mhratson committed Sep 2, 2024
1 parent 0052373 commit 00003a4
Showing 1 changed file with 62 additions and 46 deletions.
108 changes: 62 additions & 46 deletions .github/workflows/ci.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -11,51 +11,67 @@ concurrency:
cancel-in-progress: ${{ github.ref != 'refs/heads/main' }}

jobs:
build:
name: test with JDK=${{matrix.java-dist}}-${{ matrix.java-ver }} OS=${{ matrix.os }}
strategy:
fail-fast: false
matrix:
os: [ubuntu-latest]
java-ver: [ 11 ]
java-dist: [ 'temurin']
runs-on: ${{ matrix.os }}
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 }}
# 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
- name: gradle integration test
run: ./gradlew --no-daemon -PmaxParallelForks=1 clean integrationTest
setup:
runs-on: [ubuntu-latest]
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 }}
# see: https://github.com/gradle/actions/blob/main/setup-gradle/README.md
- uses: gradle/actions/setup-gradle@v4 # v4.0.0

test:
name: "test with JDK=${{matrix.java-dist}}:${{matrix.java-ver}}"
needs: setup
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
java-ver: [ 11 ]
java-dist: ['microsoft', 'temurin']
steps:
- name: gradle build
run: ./gradlew --no-daemon -PmaxParallelForks=1 build

integration-test:
name: "integration test with JDK=${{matrix.java-dist}}:${{matrix.java-ver}}"
needs: setup
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
os: [ubuntu-latest]
java-ver: [ 11 ]
java-dist: ['microsoft', 'temurin']
steps:
- name: gradle build
run: ./gradlew --no-daemon -PmaxParallelForks=1 build

- name: gradle integration test
run: ./gradlew --no-daemon -PmaxParallelForks=1 clean integrationTest

build-platform:
name: test with JDK=${{matrix.java-dist}}-${{ matrix.java-ver }} OS=${{ matrix.os }} on ${{ matrix.hw_platform }}
strategy:
fail-fast: false
matrix:
os: [ubuntu-latest]
java-ver: [ 11 ]
java-dist: [ 'temurin']
hw_platform: [ 's390x' ]
runs-on: ${{ matrix.os }}
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
needs: setup
name: test 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:
- 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

0 comments on commit 00003a4

Please sign in to comment.