Skip to content

bugfix: honor skip ci tag #4

bugfix: honor skip ci tag

bugfix: honor skip ci tag #4

Workflow file for this run

name: Compile Full Standard Library
on:
push:
branches:
- 'main'
pull_request:
workflow_call:
permissions:
contents: read
env:
DOTTY_CI_RUN: true
jobs:
test-scala-library-nonbootstrapped:
name: Non-Bootstrapped Library Unit Tests
runs-on: ubuntu-latest
if: github.event_name != 'pull_request' || !contains(github.event.pull_request.body, '[skip ci]')
steps:
- uses: actions/checkout@v6
- uses: actions/setup-java@v5
with:
distribution: 'temurin'
java-version: 17
cache: 'sbt'
- uses: sbt/setup-sbt@v1
- run: ./project/scripts/sbt scala-library-nonbootstrapped/test
test-scala-library-bootstrapped:
name: Bootstrapped Library Unit Tests
runs-on: ubuntu-latest
if: github.event_name != 'pull_request' || !contains(github.event.pull_request.body, '[skip ci]')
steps:
- uses: actions/checkout@v6
- uses: actions/setup-java@v5
with:
distribution: 'temurin'
java-version: 17
cache: 'sbt'
- uses: sbt/setup-sbt@v1
- run: ./project/scripts/sbt scala-library-bootstrapped/test
#################################################################################################
########################################### MiMa JOBS ###########################################
#################################################################################################
mima-scala-library-nonbootstrapped:
runs-on: ubuntu-latest
if: false
steps:
- name: Git Checkout
uses: actions/checkout@v6
- name: Set up JDK 17
uses: actions/setup-java@v5
with:
distribution: 'temurin'
java-version: 17
cache: 'sbt'
- uses: sbt/setup-sbt@v1
- name: Report MiMa issues in `scala-library-nonbootstrapped`
run: ./project/scripts/sbt scala-library-nonbootstrapped/mimaReportBinaryIssues
mima-scala3-interfaces:
runs-on: ubuntu-latest
if: github.event_name != 'pull_request' || !contains(github.event.pull_request.body, '[skip ci]')
steps:
- name: Git Checkout
uses: actions/checkout@v6
- name: Set up JDK 17
uses: actions/setup-java@v5
with:
distribution: 'temurin'
java-version: 17
cache: 'sbt'
- uses: sbt/setup-sbt@v1
- name: Report MiMa issues in `scala3-interfaces`
run: ./project/scripts/sbt scala3-interfaces/mimaReportBinaryIssues
mima-tasty-core-nonbootstrapped:
runs-on: ubuntu-latest
if: github.event_name != 'pull_request' || !contains(github.event.pull_request.body, '[skip ci]')
steps:
- name: Git Checkout
uses: actions/checkout@v6
- name: Set up JDK 17
uses: actions/setup-java@v5
with:
distribution: 'temurin'
java-version: 17
cache: 'sbt'
- uses: sbt/setup-sbt@v1
- name: Report MiMa issues in `tasty-core-nonbootstrapped`
run: ./project/scripts/sbt tasty-core-nonbootstrapped/mimaReportBinaryIssues
static-analysis-scala-library-bootstrapped:
runs-on: ubuntu-latest
if: github.event_name != 'pull_request' || !contains(github.event.pull_request.body, '[skip ci]')
steps:
- name: Git Checkout
uses: actions/checkout@v6
- name: Set up JDK 17
uses: actions/setup-java@v5
with:
distribution: 'temurin'
java-version: 17
cache: 'sbt'
- uses: sbt/setup-sbt@v1
- name: Report MiMa issues in `scala-library-bootstrapped`
run: ./project/scripts/sbt scala-library-bootstrapped/mimaReportBinaryIssues
- name: Report missingLink checks
run: ./project/scripts/sbt scala-library-bootstrapped/missinglinkCheck
mima-tasty-core-bootstrapped:
runs-on: ubuntu-latest
if: github.event_name != 'pull_request' || !contains(github.event.pull_request.body, '[skip ci]')
steps:
- name: Git Checkout
uses: actions/checkout@v6
- name: Set up JDK 17
uses: actions/setup-java@v5
with:
distribution: 'temurin'
java-version: 17
cache: 'sbt'
- uses: sbt/setup-sbt@v1
- name: Report MiMa issues in `tasty-core-bootstrapped`
run: ./project/scripts/sbt tasty-core-bootstrapped/mimaReportBinaryIssues
mima-scala-library-sjs:
runs-on: ubuntu-latest
if: github.event_name != 'pull_request' || !contains(github.event.pull_request.body, '[skip ci]')
steps:
- name: Git Checkout
uses: actions/checkout@v6
- name: Set up JDK 17
uses: actions/setup-java@v5
with:
distribution: 'temurin'
java-version: 17
cache: 'sbt'
- uses: sbt/setup-sbt@v1
- name: Report MiMa issues in `scala-library-sjs`
run: ./project/scripts/sbt scala-library-sjs/mimaReportBinaryIssues
#################################################################################################
########################################### TEST JOBS ###########################################
#################################################################################################
test-scala3-compiler-nonbootstrapped:
runs-on: ubuntu-latest
if: github.event_name != 'pull_request' || !contains(github.event.pull_request.body, '[skip ci]')
steps:
- name: Git Checkout
uses: actions/checkout@v6
- name: Set up JDK 17
uses: actions/setup-java@v5
with:
distribution: 'temurin'
java-version: 17
cache: 'sbt'
- uses: sbt/setup-sbt@v1
- name: Test `scala3-compiler-nonbootstrapped`
run: ./project/scripts/sbt scala3-compiler-nonbootstrapped/test
- name: Cmd Tests
run: |
./project/scripts/sbt scala3-nonbootstrapped/publishLocal
./project/scripts/cmdTests
test-scala3-compiler-bootstrapped:
runs-on: ubuntu-latest
if: github.event_name != 'pull_request' || !contains(github.event.pull_request.body, '[skip ci]')
steps:
- name: Git Checkout
uses: actions/checkout@v6
- name: Set up JDK 17
uses: actions/setup-java@v5
with:
distribution: 'temurin'
java-version: 17
cache: 'sbt'
- uses: sbt/setup-sbt@v1
- name: Test `scala3-compiler-bootstrapped`
run: ./project/scripts/sbt scala3-compiler-bootstrapped/test
- name: Cmd Tests
run: |
./project/scripts/sbt scala3-bootstrapped/publishLocal
./project/scripts/bootstrappedOnlyCmdTests
test-scala3-bootstrapped-compilation-coverage:
runs-on: ubuntu-latest
if: github.event_name != 'pull_request' || !contains(github.event.pull_request.body, '[skip ci]')
steps:
- name: Git Checkout
uses: actions/checkout@v6
- name: Set up JDK 17
uses: actions/setup-java@v5
with:
distribution: 'temurin'
java-version: 17
cache: 'sbt'
- uses: sbt/setup-sbt@v1
- name: Run `scala3-bootstrapped/testCompilation --enable-coverage-phase`
run: ./project/scripts/sbt "scala3-bootstrapped/testCompilation --enable-coverage-phase"
test-scala3-sbt-bridge-nonbootstrapped:
runs-on: ubuntu-latest
if: github.event_name != 'pull_request' || !contains(github.event.pull_request.body, '[skip ci]')
steps:
- name: Git Checkout
uses: actions/checkout@v6
- name: Set up JDK 17
uses: actions/setup-java@v5
with:
distribution: 'temurin'
java-version: 17
cache: 'sbt'
- uses: sbt/setup-sbt@v1
- name: Test `scala3-sbt-bridge-nonbootstrapped`
run: ./project/scripts/sbt scala3-sbt-bridge-nonbootstrapped/test
test-scala3-sbt-bridge-bootstrapped:
runs-on: ubuntu-latest
if: github.event_name != 'pull_request' || !contains(github.event.pull_request.body, '[skip ci]')
steps:
- name: Git Checkout
uses: actions/checkout@v6
- name: Set up JDK 17
uses: actions/setup-java@v5
with:
distribution: 'temurin'
java-version: 17
cache: 'sbt'
- uses: sbt/setup-sbt@v1
- name: Test `scala3-sbt-bridge-bootstrapped`
run: ./project/scripts/sbt scala3-sbt-bridge-bootstrapped/test
test-tasty-core-nonbootstrapped:
runs-on: ubuntu-latest
if: github.event_name != 'pull_request' || !contains(github.event.pull_request.body, '[skip ci]')
steps:
- name: Git Checkout
uses: actions/checkout@v6
- name: Set up JDK 17
uses: actions/setup-java@v5
with:
distribution: 'temurin'
java-version: 17
cache: 'sbt'
- uses: sbt/setup-sbt@v1
- name: Test `tasty-core-nonbootstrapped`
run: ./project/scripts/sbt tasty-core-nonbootstrapped/test
test-tasty-core-bootstrapped:
runs-on: ubuntu-latest
if: github.event_name != 'pull_request' || !contains(github.event.pull_request.body, '[skip ci]')
steps:
- name: Git Checkout
uses: actions/checkout@v6
- name: Set up JDK 17
uses: actions/setup-java@v5
with:
distribution: 'temurin'
java-version: 17
cache: 'sbt'
- uses: sbt/setup-sbt@v1
- name: Test `tasty-core-bootstrapped`
run: ./project/scripts/sbt tasty-core-bootstrapped/test
test-scala3-directives-parser-nonbootstrapped:
runs-on: ubuntu-latest
if: github.event_name != 'pull_request' || !contains(github.event.pull_request.body, '[skip ci]')
steps:
- name: Git Checkout
uses: actions/checkout@v7
- name: Set up JDK 17
uses: actions/setup-java@v5
with:
distribution: 'temurin'
java-version: 17
cache: 'sbt'
- uses: sbt/setup-sbt@v1
- name: Test `scala3-directives-parser-nonbootstrapped`
run: ./project/scripts/sbt scala3-directives-parser-nonbootstrapped/test
test-scala3-directives-parser-bootstrapped:
runs-on: ubuntu-latest
if: github.event_name != 'pull_request' || !contains(github.event.pull_request.body, '[skip ci]')
steps:
- name: Git Checkout
uses: actions/checkout@v7
- name: Set up JDK 17
uses: actions/setup-java@v5
with:
distribution: 'temurin'
java-version: 17
cache: 'sbt'
- uses: sbt/setup-sbt@v1
- name: Test `scala3-directives-parser-bootstrapped`
run: ./project/scripts/sbt scala3-directives-parser-bootstrapped/test
test-scala-js:
runs-on: ubuntu-latest
if: github.event_name != 'pull_request' || !contains(github.event.pull_request.body, '[skip ci]')
steps:
- name: Git Checkout
uses: actions/checkout@v6
- name: Set up JDK 17
uses: actions/setup-java@v5
with:
distribution: 'temurin'
java-version: 17
cache: 'sbt'
- uses: actions/setup-node@v6
with:
node-version: '24.x'
- uses: sbt/setup-sbt@v1
- name: Scala.js compiler tests
run: ./project/scripts/sbt "sjsCompilerTests/test"
- name: Scala.js sandbox
run: ./project/scripts/sbt ";sjsSandbox/run ;sjsSandbox/test"
- name: Scala.js JUnit tests
run: ./project/scripts/sbt ";sjsJUnitTests/test ;set sjsJUnitTests/scalaJSLinkerConfig ~= switchToESModules ;sjsJUnitTests/test"
- name: Scala.js JUnit tests with latest ES version
run: ./project/scripts/sbt ";sjsJUnitTests/clean ;set sjsJUnitTests/scalaJSLinkerConfig ~= switchToLatestESVersion ;sjsJUnitTests/test"
- name: Scala.js JUnit tests with WebAssembly
run: ./project/scripts/sbt ";sjsJUnitTests/clean ;set Global/enableWebAssembly := true; sjsJUnitTests/test"
# TODO Scala.js on Windows
test-repl:
runs-on: ubuntu-latest
if: github.event_name != 'pull_request' || !contains(github.event.pull_request.body, '[skip ci]')
steps:
- name: Git Checkout
uses: actions/checkout@v6
- name: Set up JDK 17
uses: actions/setup-java@v5
with:
distribution: 'temurin'
java-version: 17
cache: 'sbt'
- uses: sbt/setup-sbt@v1
- name: Test REPL
run: ./project/scripts/sbt scala3-repl/test
test-repl-jdk:
runs-on: ubuntu-latest
if: github.event_name != 'pull_request' || !contains(github.event.pull_request.body, '[skip ci]')
strategy:
fail-fast: false
matrix:
jdk: [25, 26]
steps:
- name: Git Checkout
uses: actions/checkout@v7
- name: Set up JDK ${{ matrix.jdk }} (REPL subprocess)
id: jdk
uses: actions/setup-java@v5
with:
distribution: 'temurin'
java-version: ${{ matrix.jdk }}
- name: Set up JDK 17 (build, default)
uses: actions/setup-java@v5
with:
distribution: 'temurin'
java-version: 17
cache: 'sbt'
- uses: sbt/setup-sbt@v1
- name: Test REPL lazy vals warning and shading on JDK ${{ matrix.jdk }}
env:
DOTTY_REPL_TEST_JAVA_HOME: ${{ steps.jdk.outputs.path }}
run: ./project/scripts/sbt "scala3-repl/testOnly *LazyValsWarningTest *ShadingTest"
test-presentation-compiler:
runs-on: ubuntu-latest
if: github.event_name != 'pull_request' || !contains(github.event.pull_request.body, '[skip ci]')
steps:
- name: Git Checkout
uses: actions/checkout@v6
- name: Set up JDK 17
uses: actions/setup-java@v5
with:
distribution: 'temurin'
java-version: 17
cache: 'sbt'
- uses: sbt/setup-sbt@v1
- name: Test Presentation Compiler
run: ./project/scripts/sbt scala3-presentation-compiler/test
test-language-server:
runs-on: ubuntu-latest
if: github.event_name != 'pull_request' || !contains(github.event.pull_request.body, '[skip ci]')
steps:
- name: Git Checkout
uses: actions/checkout@v6
- name: Set up JDK 17
uses: actions/setup-java@v5
with:
distribution: 'temurin'
java-version: 17
cache: 'sbt'
- uses: sbt/setup-sbt@v1
- name: Test Language Server
run: ./project/scripts/sbt scala3-language-server/test
scripted-tests:
runs-on: ubuntu-latest
if: github.event_name != 'pull_request' || !contains(github.event.pull_request.body, '[skip ci]')
steps:
- name: Git Checkout
uses: actions/checkout@v6
- name: Set up JDK 17
uses: actions/setup-java@v5
with:
distribution: 'temurin'
java-version: 17
cache: 'sbt'
- uses: sbt/setup-sbt@v1
- name: Run SBT scripted tests
run: ./project/scripts/sbt scala3-bootstrapped/scripted
community_build_a:
runs-on: ubuntu-latest
if: github.event_name != 'pull_request' || !contains(github.event.pull_request.body, '[skip ci]')
steps:
- name: Checkout cleanup script
uses: actions/checkout@v6
with:
submodules: true
- name: Set up JDK 17
uses: actions/setup-java@v5
with:
distribution: 'temurin'
java-version: 17
cache: 'sbt'
- uses: sbt/setup-sbt@v1
- name: Run Community Build A
run: |
./project/scripts/sbt "community-build/testOnly dotty.communitybuild.CommunityBuildTestA"
community_build_b:
runs-on: ubuntu-latest
if: github.event_name != 'pull_request' || !contains(github.event.pull_request.body, '[skip ci]')
steps:
- name: Checkout cleanup script
uses: actions/checkout@v6
with:
submodules: true
- name: Set up JDK 17
uses: actions/setup-java@v5
with:
distribution: 'temurin'
java-version: 17
cache: 'sbt'
- uses: sbt/setup-sbt@v1
- name: Run Community Build B
run: |
./project/scripts/sbt "community-build/testOnly dotty.communitybuild.CommunityBuildTestB"
community_build_c:
runs-on: ubuntu-latest
if: github.event_name != 'pull_request' || !contains(github.event.pull_request.body, '[skip ci]')
steps:
- name: Checkout cleanup script
uses: actions/checkout@v6
with:
submodules: true
- name: Set up JDK 17
uses: actions/setup-java@v5
with:
distribution: 'temurin'
java-version: 17
cache: 'sbt'
- uses: sbt/setup-sbt@v1
- name: Run Community Build C
run: |
./project/scripts/sbt "community-build/testOnly dotty.communitybuild.CommunityBuildTestC"
#################################################################################################
######################################## GENERATE DOCS ##########################################
#################################################################################################
scala-library-docs:
runs-on: ubuntu-latest
if: github.event_name != 'pull_request' || !contains(github.event.pull_request.body, '[skip ci]')
steps:
- name: Git Checkout
uses: actions/checkout@v6
- name: Set up JDK 17
uses: actions/setup-java@v5
with:
distribution: 'temurin'
java-version: 17
cache: 'sbt'
- uses: sbt/setup-sbt@v1
- name: Generate Documentation of the Standard Library
run: ./project/scripts/sbt scala-library-bootstrapped/doc