Update sbt to 2.0.1 #42
Workflow file for this run
This file contains hidden or 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
| name: CI | |
| on: | |
| push: | |
| branches: [master] | |
| pull_request: | |
| branches: [master] | |
| workflow_dispatch: | |
| concurrency: | |
| group: ${{ github.workflow }}-${{ github.ref }} | |
| cancel-in-progress: true | |
| env: | |
| JVM_VERSION: "zulu:25" | |
| JAVA_VERSION: "25" | |
| JAVA_DISTRIBUTION: "zulu" | |
| jobs: | |
| # ─── Scalafmt check ──────────────────────────────────────────────── | |
| format: | |
| name: Scalafmt check | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v7 | |
| with: | |
| fetch-depth: 0 | |
| - uses: coursier/setup-action@v3.0.0 | |
| with: | |
| jvm: ${{ env.JVM_VERSION }} | |
| apps: sbt | |
| - name: Check formatting | |
| run: sbt "scalafmtCheckAll; scalafmtSbtCheck" | |
| # ─── JVM tests (6 desktop platforms) ─────────────────────────────── | |
| test-jvm: | |
| name: JVM tests (${{ matrix.label }}) | |
| runs-on: ${{ matrix.os }} | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| include: | |
| - os: ubuntu-latest | |
| label: linux-x86_64 | |
| - os: ubuntu-24.04-arm | |
| label: linux-aarch64 | |
| - os: macos-latest | |
| label: macos-x86_64 | |
| architecture: x64 | |
| - os: macos-latest | |
| label: macos-aarch64 | |
| - os: windows-latest | |
| label: windows-x86_64 | |
| - os: windows-11-arm | |
| label: windows-aarch64 | |
| steps: | |
| - uses: actions/checkout@v7 | |
| with: | |
| fetch-depth: 0 | |
| - uses: actions/setup-java@v5 | |
| with: | |
| distribution: ${{ env.JAVA_DISTRIBUTION }} | |
| java-version: ${{ env.JAVA_VERSION }} | |
| cache: sbt | |
| architecture: ${{ matrix.architecture || '' }} | |
| - uses: sbt/setup-sbt@v1 | |
| - name: Run JVM tests with coverage | |
| run: sbt ci-jvm-3 | |
| - name: Upload coverage to Codecov | |
| if: always() | |
| uses: codecov/codecov-action@v7 | |
| with: | |
| files: target/out/jvm/scala-3.8.4/lls-build/scoverage-report/scoverage.xml | |
| flags: ${{ matrix.label }} | |
| fail_ci_if_error: false | |
| env: | |
| CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }} | |
| # ─── Scala.js tests ──────────────────────────────────────────────── | |
| test-js: | |
| name: Scala.js tests | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v7 | |
| with: | |
| fetch-depth: 0 | |
| - uses: coursier/setup-action@v3.0.0 | |
| with: | |
| jvm: ${{ env.JVM_VERSION }} | |
| apps: sbt | |
| - name: Run Scala.js tests | |
| run: sbt test-js-3 | |
| # ─── Scala Native tests (5 desktop platforms) ────────────────────── | |
| test-native: | |
| name: Native tests (${{ matrix.label }}) | |
| runs-on: ${{ matrix.os }} | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| include: | |
| - os: ubuntu-latest | |
| label: linux-x86_64 | |
| - os: ubuntu-24.04-arm | |
| label: linux-aarch64 | |
| - os: macos-latest | |
| label: macos-x86_64 | |
| architecture: x64 | |
| - os: macos-latest | |
| label: macos-aarch64 | |
| - os: windows-latest | |
| label: windows-x86_64 | |
| steps: | |
| - uses: actions/checkout@v7 | |
| with: | |
| fetch-depth: 0 | |
| - uses: actions/setup-java@v5 | |
| with: | |
| distribution: ${{ env.JAVA_DISTRIBUTION }} | |
| java-version: ${{ env.JAVA_VERSION }} | |
| cache: sbt | |
| architecture: ${{ matrix.architecture || '' }} | |
| - uses: sbt/setup-sbt@v1 | |
| - name: Install Scala Native system dependencies (Linux) | |
| if: runner.os == 'Linux' | |
| run: | | |
| sudo apt-get update | |
| sudo apt-get install -y clang libc++-dev | |
| - name: Install Scala Native system dependencies (Windows) | |
| if: runner.os == 'Windows' | |
| run: choco install llvm --yes | |
| - name: Run Scala Native tests | |
| run: sbt test-native-3 |