-
Notifications
You must be signed in to change notification settings - Fork 56
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
GHA: split into more workflows (PR #325)
Currently, CI using GitHub actions builds everything in one workflow. Unfortunately, unlike GitLab or Travis, one cannot restart individual jobs inside a workflow but only the whole workflow. That means that a single failing job (e.g. because SBT cannot fetch dependencies because of temporary network outage or similar) fails the whole workflow and restarting it is a very costly operation. Therefore, this PR splits the workflow into the following parts: * Main for building on latest JDK on Linux, Windows and MacOS. This also checks for encoding and coding style issues. This is meant as always-must-be-in-the-green workflow. * Plugins for building and testing plugins (JDK 8 only) * Windows (legacy) is a matrix build for all out-of-the-box supported JDKs on Windows excluding JDK 17. * MacOS (legacy) is just like the above but on Mac. * Linux is a matrix build for JDKs 8 to 16, including also OpenJ9 (8, 11, 16). This should simplify restarting the jobs and might also simplify identifying the failing job a bit more quickly.
- Loading branch information
Showing
5 changed files
with
213 additions
and
79 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,63 @@ | ||
name: Linux | ||
on: [push, pull_request] | ||
jobs: | ||
linux: | ||
strategy: | ||
matrix: | ||
image: | ||
- openjdk8 | ||
- openjdk9 | ||
- openjdk10 | ||
- openjdk11 | ||
- openjdk12 | ||
- openjdk13 | ||
- openjdk14 | ||
- openjdk15 | ||
- openjdk16 | ||
- openj9-openjdk8 | ||
- openj9-openjdk11 | ||
- openj9-openjdk16 | ||
runs-on: ubuntu-latest | ||
container: "renaissancebench/buildenv:${{ matrix.image }}" | ||
steps: | ||
- name: Git checkout | ||
uses: actions/checkout@v2 | ||
with: | ||
fetch-depth: 0 | ||
|
||
- name: Cache SBT | ||
uses: actions/cache@v2 | ||
with: | ||
path: | | ||
~/.ivy2/cache | ||
~/.sbt | ||
~/.cache/coursier | ||
key: ${{ runner.os }}-sbt-${{ hashFiles('**/build.sbt') }} | ||
|
||
- name: Environment configuration | ||
shell: bash | ||
run: "tools/ci/pre-show-env.sh" | ||
|
||
- name: Build base | ||
shell: bash | ||
run: "tools/ci/build-base.sh" | ||
|
||
- name: Build JMH | ||
shell: bash | ||
run: "tools/ci/build-jmh.sh" | ||
|
||
- name: Stop SBT | ||
shell: bash | ||
run: "tools/ci/stop-sbt.sh" | ||
|
||
- name: Check JMH | ||
shell: bash | ||
run: "tools/ci/check-jmh.sh" | ||
|
||
- name: Run the suite | ||
shell: bash | ||
run: "tools/ci/bench-base.sh" | ||
|
||
- name: Run the suite with JMH | ||
shell: bash | ||
run: "tools/ci/bench-jmh.sh" |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,52 @@ | ||
name: MacOS (legacy) | ||
on: [push, pull_request] | ||
jobs: | ||
macos: | ||
strategy: | ||
matrix: | ||
java: [ '8', '11', '13', '15' ] | ||
runs-on: macos-latest | ||
continue-on-error: true | ||
steps: | ||
- name: Git checkout | ||
uses: actions/checkout@v2 | ||
with: | ||
fetch-depth: 0 | ||
|
||
- name: Setup correct Java version | ||
uses: actions/setup-java@v2 | ||
with: | ||
distribution: adopt | ||
java-version: ${{ matrix.java }} | ||
|
||
- name: Environment configuration | ||
shell: bash | ||
run: "tools/ci/pre-show-env.sh" | ||
|
||
- name: Build base | ||
shell: bash | ||
run: "tools/ci/build-base.sh" | ||
|
||
- name: Build JMH | ||
shell: bash | ||
run: "tools/ci/build-jmh.sh" | ||
|
||
- name: Stop SBT | ||
shell: bash | ||
run: "tools/ci/stop-sbt.sh" | ||
|
||
- name: Check JMH | ||
shell: bash | ||
run: "tools/ci/check-jmh.sh" | ||
|
||
- name: Dummy run and environment configuration | ||
shell: bash | ||
run: "tools/ci/bench-show-env.sh" | ||
|
||
- name: Run the suite | ||
shell: bash | ||
run: "tools/ci/bench-base.sh" | ||
|
||
- name: Run the suite with JMH | ||
shell: bash | ||
run: "tools/ci/bench-jmh.sh" |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,40 @@ | ||
name: Plugins | ||
on: [push, pull_request] | ||
jobs: | ||
plugins: | ||
runs-on: ubuntu-latest | ||
container: "renaissancebench/buildenv:openjdk8-with-ant-gcc" | ||
steps: | ||
- name: Git checkout | ||
uses: actions/checkout@v2 | ||
with: | ||
fetch-depth: 0 | ||
|
||
- name: Cache SBT | ||
uses: actions/cache@v2 | ||
with: | ||
path: | | ||
~/.ivy2/cache | ||
~/.sbt | ||
~/.cache/coursier | ||
key: ${{ runner.os }}-sbt-${{ hashFiles('**/build.sbt') }} | ||
|
||
- name: Environment configuration | ||
shell: bash | ||
run: "tools/ci/pre-show-env.sh" | ||
|
||
- name: Build base | ||
shell: bash | ||
run: "tools/ci/build-base.sh" | ||
|
||
- name: Build plugins | ||
shell: bash | ||
run: "tools/ci/build-plugins.sh" | ||
|
||
- name: Stop SBT | ||
shell: bash | ||
run: "tools/ci/stop-sbt.sh" | ||
|
||
- name: Run the suite with all plugins | ||
shell: bash | ||
run: "tools/ci/bench-plugins.sh" |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,47 @@ | ||
name: "Windows (legacy)" | ||
on: [push, pull_request] | ||
jobs: | ||
windows: | ||
strategy: | ||
matrix: | ||
java: [ '8', '11' , '13', '15' ] | ||
runs-on: windows-latest | ||
steps: | ||
- name: Git checkout | ||
uses: actions/checkout@v2 | ||
with: | ||
fetch-depth: 0 | ||
|
||
- name: Setup correct Java version | ||
uses: actions/setup-java@v2 | ||
with: | ||
distribution: adopt | ||
java-version: ${{ matrix.java }} | ||
|
||
- name: Environment configuration | ||
shell: bash | ||
run: "tools/ci/pre-show-env.sh" | ||
|
||
- name: Build base | ||
shell: bash | ||
run: java -jar tools/sbt/bin/sbt-launch.jar assembly | ||
|
||
- name: Build JMH | ||
shell: bash | ||
run: java -jar tools/sbt/bin/sbt-launch.jar renaissanceJmh/jmh:assembly | ||
|
||
- name: Check JMH | ||
shell: bash | ||
run: "tools/ci/check-jmh.sh" | ||
|
||
- name: Dummy run and environment configuration | ||
shell: bash | ||
run: "tools/ci/bench-show-env.sh" | ||
|
||
- name: Run the suite | ||
shell: bash | ||
run: "tools/ci/bench-base.sh" | ||
|
||
- name: Run the suite with JMH | ||
shell: bash | ||
run: "tools/ci/bench-jmh.sh" |