diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 97813eaf..65a06286 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -16,49 +16,40 @@ on: env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + +concurrency: + group: ${{ github.workflow }} @ ${{ github.ref }} + cancel-in-progress: true + jobs: build: name: Build and Test strategy: matrix: os: [ubuntu-latest] - scala: [3.3.1] + scala: [3] java: [temurin@17] project: [rootJS, rootJVM] runs-on: ${{ matrix.os }} + timeout-minutes: 60 steps: - name: Checkout current branch (full) - uses: actions/checkout@v3 + uses: actions/checkout@v4 with: fetch-depth: 0 - - name: Download Java (temurin@17) - id: download-java-temurin-17 - if: matrix.java == 'temurin@17' - uses: typelevel/download-java@v2 - with: - distribution: temurin - java-version: 17 - - name: Setup Java (temurin@17) + id: setup-java-temurin-17 if: matrix.java == 'temurin@17' uses: actions/setup-java@v3 with: - distribution: jdkfile + distribution: temurin java-version: 17 - jdkFile: ${{ steps.download-java-temurin-17.outputs.jdkFile }} + cache: sbt - - name: Cache sbt - uses: actions/cache@v3 - with: - path: | - ~/.sbt - ~/.ivy2/cache - ~/.coursier/cache/v1 - ~/.cache/coursier/v1 - ~/AppData/Local/Coursier/Cache/v1 - ~/Library/Caches/Coursier/v1 - key: ${{ runner.os }}-sbt-cache-v2-${{ hashFiles('**/*.sbt') }}-${{ hashFiles('project/build.properties') }} + - name: sbt update + if: matrix.java == 'temurin@17' && steps.setup-java-temurin-17.outputs.cache-hit == 'false' + run: sbt +update - name: Check that workflows are up to date run: sbt githubWorkflowCheck @@ -67,6 +58,10 @@ jobs: if: matrix.java == 'temurin@17' run: sbt 'project ${{ matrix.project }}' '++ ${{ matrix.scala }}' headerCheckAll scalafmtCheckAll 'project /' scalafmtSbtCheck lucumaScalafmtCheck lucumaScalafixCheck + - name: Check scalafix lints + if: matrix.java == 'temurin@17' && matrix.os == 'ubuntu-latest' + run: sbt 'project ${{ matrix.project }}' '++ ${{ matrix.scala }}' 'scalafixAll --check' + - name: scalaJSLink if: matrix.project == 'rootJS' run: sbt 'project ${{ matrix.project }}' '++ ${{ matrix.scala }}' Test/scalaJSLinkerResult @@ -74,12 +69,8 @@ jobs: - name: Test run: sbt 'project ${{ matrix.project }}' '++ ${{ matrix.scala }}' test - - name: Check scalafix lints - if: matrix.java == 'temurin@17' && matrix.os == 'ubuntu-latest' - run: sbt 'project ${{ matrix.project }}' '++ ${{ matrix.scala }}' 'scalafixAll --check' - - name: Aggregate coverage reports run: sbt 'project ${{ matrix.project }}' '++ ${{ matrix.scala }}' coverageReport coverageAggregate - name: Upload code coverage data - run: 'bash <(curl -s https://codecov.io/bash)' + uses: codecov/codecov-action@v3 diff --git a/.mergify.yml b/.mergify.yml index c3b4b3f3..2827e4b0 100644 --- a/.mergify.yml +++ b/.mergify.yml @@ -13,8 +13,8 @@ pull_request_rules: - body~=labels:.*early-semver-patch - body~=labels:.*early-semver-minor - 'title=flake.lock: Update' - - status-success=Build and Test (ubuntu-latest, 3.3.1, temurin@17, rootJS) - - status-success=Build and Test (ubuntu-latest, 3.3.1, temurin@17, rootJVM) + - status-success=Build and Test (ubuntu-latest, 3, temurin@17, rootJS) + - status-success=Build and Test (ubuntu-latest, 3, temurin@17, rootJVM) actions: merge: {} - name: Label epics PRs diff --git a/.scalafmt-common.conf b/.scalafmt-common.conf index 0218680c..62659460 100644 --- a/.scalafmt-common.conf +++ b/.scalafmt-common.conf @@ -4,10 +4,10 @@ # this file by hand! Instead, if you wish to make changes, you should # make a PR to sbt-lucuma. -version = "3.7.2" +version = "3.7.12" style = default -runner.dialect = scala213source3 +runner.dialect = scala3 maxColumn = 100 project.git = true