Skip to content

Update sbt to 2.0.1 #42

Update sbt to 2.0.1

Update sbt to 2.0.1 #42

Workflow file for this run

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