diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 7a3e65e4..3add6461 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -5,7 +5,9 @@ on: pull_request: env: COURSIER_CACHE: ${{ github.workspace }}/.cache/coursier -jobs: + +jobs: + checks: runs-on: ubuntu-latest container: "ghcr.io/renaissance-benchmarks/renaissance-buildenv:v12-openjdk23" @@ -41,10 +43,10 @@ jobs: shell: bash run: tools/ci/check-markdown.sh - linux: + + build: runs-on: ubuntu-latest - container: "ghcr.io/renaissance-benchmarks/renaissance-buildenv:v12-openjdk23" - continue-on-error: true + container: "ghcr.io/renaissance-benchmarks/renaissance-buildenv:v12-openjdk11-with-ant-gcc" steps: - name: Git checkout uses: actions/checkout@v4 @@ -72,75 +74,30 @@ jobs: - name: Check JMH bundle shell: bash run: tools/ci/check-jmh.sh - - - name: Run the suite - shell: bash - run: tools/ci/bench-base.sh - - - name: Run the suite in standalone mode - shell: bash - run: tools/ci/bench-standalone.sh - - - name: Run the suite with JMH - shell: bash - run: tools/ci/bench-jmh.sh - - macos: - runs-on: macos-latest - continue-on-error: true - steps: - - name: Git checkout - uses: actions/checkout@v4 + + - name: Upload final JAR + uses: actions/upload-artifact@v4 with: - fetch-depth: 0 + name: the-jar + path: target/renaissance-*.jar + retention-days: 1 - - name: Fix Git safe directory - shell: bash - run: git config --global --add safe.directory $GITHUB_WORKSPACE - - name: Setup JDK 23 - uses: actions/setup-java@v4 - with: - java-version: 23 - distribution: temurin - - - name: Environment configuration - shell: bash - run: tools/ci/pre-show-env.sh - - - name: Coursier downloads cache - uses: actions/cache@v4 - with: - key: coursier_cache-${{ runner.os }}-${{ hashFiles('build.sbt') }} - path: ${{ env.COURSIER_CACHE }} - - - name: Build both base & JMH bundles - shell: bash - run: tools/ci/build-both.sh - - - name: Check JMH bundle - 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 in standalone mode - shell: bash - run: tools/ci/bench-standalone.sh - - - name: Run the suite with JMH - shell: bash - run: tools/ci/bench-jmh.sh - - windows: - runs-on: windows-latest - continue-on-error: true + run-linux: + needs: build + strategy: + fail-fast: false + matrix: + image: + - openjdk11 + - openjdk17 + - openjdk21 + - openjdk23 + - openj9-openjdk11 + - openj9-openjdk17 + - openj9-openjdk21 + runs-on: ubuntu-latest + container: "ghcr.io/renaissance-benchmarks/renaissance-buildenv:v12-${{ matrix.image }}" steps: - name: Git checkout uses: actions/checkout@v4 @@ -151,33 +108,15 @@ jobs: shell: bash run: git config --global --add safe.directory $GITHUB_WORKSPACE - - name: Setup Java JDK 23 - uses: actions/setup-java@v4 - with: - java-version: 23 - distribution: temurin - - name: Environment configuration shell: bash run: tools/ci/pre-show-env.sh - - name: Coursier downloads cache - uses: actions/cache@v4 + - name: Fetch pre-build JAR + uses: actions/download-artifact@v4 with: - key: coursier_cache-${{ runner.os }}-${{ hashFiles('build.sbt') }} - path: ${{ env.COURSIER_CACHE }} - - - name: Build both base & JMH bundles - shell: bash - run: tools/ci/build-both.sh - - - name: Check JMH bundle - shell: bash - run: tools/ci/check-jmh.sh - - - name: Dummy run and environment configuration - shell: bash - run: tools/ci/bench-show-env.sh + name: the-jar + path: target - name: Run the suite shell: bash @@ -191,56 +130,14 @@ jobs: shell: bash run: tools/ci/bench-jmh.sh - plugins: - runs-on: ubuntu-latest - needs: linux - container: "ghcr.io/renaissance-benchmarks/renaissance-buildenv:v12-openjdk11-with-ant-gcc" - steps: - - name: Git checkout - uses: actions/checkout@v4 - with: - fetch-depth: 0 - - - name: Fix Git safe directory - shell: bash - run: git config --global --add safe.directory $GITHUB_WORKSPACE - - - name: Environment configuration - shell: bash - run: tools/ci/pre-show-env.sh - - - name: Coursier downloads cache - uses: actions/cache@v4 - with: - key: coursier_cache-${{ runner.os }}-${{ hashFiles('build.sbt') }} - path: ${{ env.COURSIER_CACHE }} - - name: Build base - shell: bash - run: tools/ci/build-base.sh - - - name: Build plugins - shell: bash - run: tools/ci/build-plugins.sh - - - name: Run the suite with all plugins - shell: bash - run: tools/ci/bench-plugins.sh - - linux-jdks: - needs: linux + run-macos: + needs: build strategy: + fail-fast: false matrix: - image: - - openjdk11 - - openjdk17 - - openjdk21 - - openj9-openjdk11 - - openj9-openjdk17 - - openj9-openjdk21 - runs-on: ubuntu-latest - continue-on-error: true - container: "ghcr.io/renaissance-benchmarks/renaissance-buildenv:v12-${{ matrix.image }}" + java: [ '11', '17', '21', '23' ] + runs-on: macos-latest steps: - name: Git checkout uses: actions/checkout@v4 @@ -251,23 +148,21 @@ jobs: shell: bash run: git config --global --add safe.directory $GITHUB_WORKSPACE + - name: Setup correct Java version + uses: actions/setup-java@v4 + with: + distribution: temurin + java-version: ${{ matrix.java }} + - name: Environment configuration shell: bash run: tools/ci/pre-show-env.sh - - name: Coursier downloads cache - uses: actions/cache@v4 + - name: Fetch pre-build JAR + uses: actions/download-artifact@v4 with: - key: coursier_cache-${{ runner.os }}-${{ hashFiles('build.sbt') }} - path: ${{ env.COURSIER_CACHE }} - - - name: Build base & JMH bundles - shell: bash - run: tools/ci/build-both.sh - - - name: Check JMH bundle - shell: bash - run: tools/ci/check-jmh.sh + name: the-jar + path: target - name: Run the suite shell: bash @@ -281,14 +176,13 @@ jobs: shell: bash run: tools/ci/bench-jmh.sh - - windows-legacy: - needs: windows + run-windows: + needs: build strategy: + fail-fast: false matrix: - java: [ '11', '17', '21' ] + java: [ '11', '17', '21', '23' ] runs-on: windows-latest - continue-on-error: true steps: - name: Git checkout uses: actions/checkout@v4 @@ -309,23 +203,11 @@ jobs: shell: bash run: tools/ci/pre-show-env.sh - - name: Coursier downloads cache - uses: actions/cache@v4 + - name: Fetch pre-build JAR + uses: actions/download-artifact@v4 with: - key: coursier_cache-${{ runner.os }}-${{ hashFiles('build.sbt') }} - path: ${{ env.COURSIER_CACHE }} - - - name: Build both base & JMH bundles - shell: bash - run: tools/ci/build-both.sh - - - name: Check JMH bundle - shell: bash - run: tools/ci/check-jmh.sh - - - name: Dummy run and environment configuration - shell: bash - run: tools/ci/bench-show-env.sh + name: the-jar + path: target - name: Run the suite shell: bash @@ -339,13 +221,10 @@ jobs: shell: bash run: tools/ci/bench-jmh.sh - macos-legacy: - needs: macos - strategy: - matrix: - java: [ '11', '17', '21' ] - runs-on: macos-latest - continue-on-error: true + plugins: + runs-on: ubuntu-latest + needs: build + container: "ghcr.io/renaissance-benchmarks/renaissance-buildenv:v12-openjdk11-with-ant-gcc" steps: - name: Git checkout uses: actions/checkout@v4 @@ -356,12 +235,6 @@ jobs: shell: bash run: git config --global --add safe.directory $GITHUB_WORKSPACE - - name: Setup correct Java version - uses: actions/setup-java@v4 - with: - distribution: temurin - java-version: ${{ matrix.java }} - - name: Environment configuration shell: bash run: tools/ci/pre-show-env.sh @@ -372,26 +245,14 @@ jobs: key: coursier_cache-${{ runner.os }}-${{ hashFiles('build.sbt') }} path: ${{ env.COURSIER_CACHE }} - - name: Build both base & JMH bundles - shell: bash - run: tools/ci/build-both.sh - - - name: Check JMH bundle - 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 + - name: Build base shell: bash - run: tools/ci/bench-base.sh + run: tools/ci/build-base.sh - - name: Run the suite in standalone mode + - name: Build plugins shell: bash - run: tools/ci/bench-standalone.sh + run: tools/ci/build-plugins.sh - - name: Run the suite with JMH + - name: Run the suite with all plugins shell: bash - run: tools/ci/bench-jmh.sh + run: tools/ci/bench-plugins.sh