Skip to content

Commit

Permalink
.
Browse files Browse the repository at this point in the history
  • Loading branch information
lihaoyi committed Sep 13, 2024
1 parent cce5f83 commit fd44db0
Showing 1 changed file with 133 additions and 133 deletions.
266 changes: 133 additions & 133 deletions .github/workflows/run-tests.yml
Original file line number Diff line number Diff line change
Expand Up @@ -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

0 comments on commit fd44db0

Please sign in to comment.