diff --git a/.github/workflows/run-tests.yml b/.github/workflows/run-tests.yml index 2a57726a500..b58aa850969 100644 --- a/.github/workflows/run-tests.yml +++ b/.github/workflows/run-tests.yml @@ -24,136 +24,136 @@ jobs: print: steps: run: echo cancel-old-pr-runs-${{ github.workflow }}-${{ github.ref }} - # Jobs are listed in rough order of priority: if multiple jobs fail, the first job - # in the list should be the one that's most worth looking into - build-linux: - if: github.event.pull_request.draft == false - uses: ./.github/workflows/run-mill-action.yml - with: - java-version: '11' - millargs: __.compile - populate_cache: true - - build-windows: - if: github.event.pull_request.draft == false - uses: ./.github/workflows/run-mill-action.yml - with: - os: windows-latest - java-version: '11' - millargs: __.compile - populate_cache: true - - test-docs: - if: github.event.pull_request.draft == false - runs-on: ubuntu-latest - steps: - - uses: actions/checkout@v4 - with: { fetch-depth: 0 } - - - run: ./mill -i docs.githubPages - - linux: - needs: build-linux - strategy: - fail-fast: false - matrix: - - include: - # For most tests, run them arbitrarily on Java 11 or Java 17 on Linux, and - # on the opposite version on Windows below, so we get decent coverage of - # each test on each Java version and each operating system - # We also try to group tests together to manuaully balance out the runtimes of each jobs - - java-version: 17 - millargs: "'{main,scalalib,testrunner,bsp,testkit}.__.testCached'" - - java-version: '11' - millargs: "'{scalajslib,scalanativelib}.__.testCached'" - - java-version: 17 - millargs: "contrib.__.testCached" - - - java-version: 17 - millargs: "'example.javalib.__.local.testCached'" - - java-version: 17 - millargs: "'example.scalalib.__.local.testCached'" - - java-version: '11' - millargs: "'example.thirdparty[{mockito,acyclic,commons-io}].local.testCached'" - - java-version: 17 - millargs: "'example.thirdparty[{fansi,jimfs,netty,gatling}].local.testCached'" - - java-version: '11' - millargs: "'example.{depth,extending}.__.local.testCached'" - - # Most of these integration tests should not depend on which mode they - # are run in, so just run them in `local` - - java-version: '11' - millargs: "'integration.{failure,feature,ide}.__.local.testCached'" - - # These invalidation tests need to be exercised in both execution modes - # to make sure they work with and without -i/--no-server being passed - - java-version: 17 - millargs: "'integration.invalidation.__.fork.testCached'" - - java-version: 17 - millargs: "'integration.invalidation.__.server.testCached'" - - uses: ./.github/workflows/run-mill-action.yml - with: - java-version: ${{ matrix.java-version }} - millargs: ${{ matrix.millargs }} - - windows: - needs: build-windows - strategy: - fail-fast: false - matrix: - include: - # just run a subset of examples/ on Windows, because for some reason running - # the whole suite can take hours on windows v.s. half an hour on linux - - java-version: '11' - millargs: '"{main,scalalib,bsp}.__.testCached"' - - java-version: '11' - millargs: '"example.scalalib.{basic,web}.__.fork.testCached"' - - java-version: 17 - millargs: "'integration.{feature,failure}[_].fork.testCached'" - - java-version: '11' - millargs: "'integration.invalidation[_].server.testCached'" - - java-version: '11' - millargs: "contrib.__.testCached" - - uses: ./.github/workflows/run-mill-action.yml - with: - os: windows-latest - java-version: ${{ matrix.java-version }} - millargs: ${{ matrix.millargs }} - - itest: - needs: build-linux - strategy: - fail-fast: false - matrix: - include: - # bootstrap tests - - java-version: '11' # Have one job on oldest JVM - buildcmd: ci/test-mill-dev.sh && ci/test-mill-release.sh && ./mill -i -k __.ivyDepsTree && ./mill -i -k __.ivyDepsTree --withRuntime - - java-version: 17 # Have one job on default JVM - buildcmd: ci/test-mill-bootstrap.sh - - uses: ./.github/workflows/run-mill-action.yml - with: - java-version: ${{ matrix.java-version }} - buildcmd: ${{ matrix.buildcmd }} - - # Rarely breaks so run it near the end - compiler-bridge: - needs: build-linux - uses: ./.github/workflows/run-mill-action.yml - with: - java-version: '11' - millargs: bridge.__.publishLocal - env-bridge-versions: 'essential' - - # Scalafmt, Mima, and Scalafix job runs last because it's the least important: - # usually just a automated or mechanical manual fix to do before merging - lint-autofix: - needs: build-linux - uses: ./.github/workflows/run-mill-action.yml - with: - java-version: '11' - buildcmd: ./mill -i mill.scalalib.scalafmt.ScalafmtModule/checkFormatAll __.sources + __.mimaReportBinaryIssues + __.fix --check +# # Jobs are listed in rough order of priority: if multiple jobs fail, the first job +# # in the list should be the one that's most worth looking into +# build-linux: +# if: github.event.pull_request.draft == false +# uses: ./.github/workflows/run-mill-action.yml +# with: +# java-version: '11' +# millargs: __.compile +# populate_cache: true +# +# build-windows: +# if: github.event.pull_request.draft == false +# uses: ./.github/workflows/run-mill-action.yml +# with: +# os: windows-latest +# java-version: '11' +# millargs: __.compile +# populate_cache: true +# +# test-docs: +# if: github.event.pull_request.draft == false +# runs-on: ubuntu-latest +# steps: +# - uses: actions/checkout@v4 +# with: { fetch-depth: 0 } +# +# - run: ./mill -i docs.githubPages +# +# linux: +# needs: build-linux +# strategy: +# fail-fast: false +# matrix: +# +# include: +# # For most tests, run them arbitrarily on Java 11 or Java 17 on Linux, and +# # on the opposite version on Windows below, so we get decent coverage of +# # each test on each Java version and each operating system +# # We also try to group tests together to manuaully balance out the runtimes of each jobs +# - java-version: 17 +# millargs: "'{main,scalalib,testrunner,bsp,testkit}.__.testCached'" +# - java-version: '11' +# millargs: "'{scalajslib,scalanativelib}.__.testCached'" +# - java-version: 17 +# millargs: "contrib.__.testCached" +# +# - java-version: 17 +# millargs: "'example.javalib.__.local.testCached'" +# - java-version: 17 +# millargs: "'example.scalalib.__.local.testCached'" +# - java-version: '11' +# millargs: "'example.thirdparty[{mockito,acyclic,commons-io}].local.testCached'" +# - java-version: 17 +# millargs: "'example.thirdparty[{fansi,jimfs,netty,gatling}].local.testCached'" +# - java-version: '11' +# millargs: "'example.{depth,extending}.__.local.testCached'" +# +# # Most of these integration tests should not depend on which mode they +# # are run in, so just run them in `local` +# - java-version: '11' +# millargs: "'integration.{failure,feature,ide}.__.local.testCached'" +# +# # These invalidation tests need to be exercised in both execution modes +# # to make sure they work with and without -i/--no-server being passed +# - java-version: 17 +# millargs: "'integration.invalidation.__.fork.testCached'" +# - java-version: 17 +# millargs: "'integration.invalidation.__.server.testCached'" +# +# uses: ./.github/workflows/run-mill-action.yml +# with: +# java-version: ${{ matrix.java-version }} +# millargs: ${{ matrix.millargs }} +# +# windows: +# needs: build-windows +# strategy: +# fail-fast: false +# matrix: +# include: +# # just run a subset of examples/ on Windows, because for some reason running +# # the whole suite can take hours on windows v.s. half an hour on linux +# - java-version: '11' +# millargs: '"{main,scalalib,bsp}.__.testCached"' +# - java-version: '11' +# millargs: '"example.scalalib.{basic,web}.__.fork.testCached"' +# - java-version: 17 +# millargs: "'integration.{feature,failure}[_].fork.testCached'" +# - java-version: '11' +# millargs: "'integration.invalidation[_].server.testCached'" +# - java-version: '11' +# millargs: "contrib.__.testCached" +# +# uses: ./.github/workflows/run-mill-action.yml +# with: +# os: windows-latest +# java-version: ${{ matrix.java-version }} +# millargs: ${{ matrix.millargs }} +# +# itest: +# needs: build-linux +# strategy: +# fail-fast: false +# matrix: +# include: +# # bootstrap tests +# - java-version: '11' # Have one job on oldest JVM +# buildcmd: ci/test-mill-dev.sh && ci/test-mill-release.sh && ./mill -i -k __.ivyDepsTree && ./mill -i -k __.ivyDepsTree --withRuntime +# - java-version: 17 # Have one job on default JVM +# buildcmd: ci/test-mill-bootstrap.sh +# +# uses: ./.github/workflows/run-mill-action.yml +# with: +# java-version: ${{ matrix.java-version }} +# buildcmd: ${{ matrix.buildcmd }} +# +# # Rarely breaks so run it near the end +# compiler-bridge: +# needs: build-linux +# uses: ./.github/workflows/run-mill-action.yml +# with: +# java-version: '11' +# millargs: bridge.__.publishLocal +# env-bridge-versions: 'essential' +# +# # Scalafmt, Mima, and Scalafix job runs last because it's the least important: +# # usually just a automated or mechanical manual fix to do before merging +# lint-autofix: +# needs: build-linux +# uses: ./.github/workflows/run-mill-action.yml +# with: +# java-version: '11' +# buildcmd: ./mill -i mill.scalalib.scalafmt.ScalafmtModule/checkFormatAll __.sources + __.mimaReportBinaryIssues + __.fix --check