Skip to content

Add scalafmt & scalafix #298

Add scalafmt & scalafix

Add scalafmt & scalafix #298

Workflow file for this run

name: CI
on:
push:
branches:
- main
tags:
- "v*"
pull_request:
jobs:
format:
timeout-minutes: 15
runs-on: ubuntu-24.04
steps:
- uses: actions/checkout@v4
with:
fetch-depth: 0
submodules: true
- uses: VirtusLab/scala-cli-setup@v1
- run: scala-cli fmt . --check
scalafix:
timeout-minutes: 15
runs-on: ubuntu-24.04
steps:
- uses: actions/checkout@v2
with:
fetch-depth: 0
submodules: true
- uses: coursier/cache-action@v6
- uses: coursier/setup-action@v1
with:
jvm: temurin:17
- name: Run scalafix
run: ./mill -i __.fix --check
test:
needs:
- format
- scalafix
runs-on: ubuntu-24.04
strategy:
fail-fast: false
steps:
- uses: actions/checkout@v4
with:
fetch-depth: 0
submodules: true
- uses: VirtusLab/scala-cli-setup@v1
with:
jvm: "temurin:17"
- uses: actions/setup-node@v4
with:
node-version: '22'
- name: Test CLI
run: ./mill -i 'tests.test'
publish:
needs:
- test
- format
- scalafix
runs-on: ubuntu-24.04
if: github.event_name == 'push'
steps:
- uses: actions/checkout@v4
with:
fetch-depth: 0
submodules: true
- uses: VirtusLab/scala-cli-setup@v1
with:
jvm: "temurin:17"
- run: .github/scripts/gpg-setup.sh
env:
PGP_SECRET: ${{ secrets.PUBLISH_SECRET_KEY }}
- run: ./mill -i ci.publishSonatype --tasks __.publishArtifacts
env:
PGP_PASSPHRASE: ${{ secrets.PUBLISH_SECRET_KEY_PASSWORD }}
SONATYPE_USERNAME: ${{ secrets.SONATYPE_USERNAME }}
SONATYPE_PASSWORD: ${{ secrets.SONATYPE_PASSWORD }}
generate-launchers:
needs:
- test
- format
- scalafix
runs-on: ${{ matrix.os }}
strategy:
fail-fast: false
matrix:
os: [ubuntu-24.04, windows-latest, macos-latest, macos-13]
steps:
- uses: actions/checkout@v4
with:
fetch-depth: 0
submodules: true
- uses: coursier/[email protected]
- uses: coursier/setup-action@v1
with:
jvm: temurin:17
- uses: actions/setup-node@v4
with:
node-version: '22'
- run: |
./mill -i "native.writeNativeImageScript" --scriptDest generate.sh --imageDest "" && \
./generate.sh && \
./mill -i "tests.test.native" && \
./mill -i "native.copyToArtifacts" --directory artifacts/
if: runner.os != 'Windows'
- run: |
@call ./mill.bat -i "native.writeNativeImageScript" --scriptDest generate.bat --imageDest ""
@call generate.bat
@call ./mill.bat -i "tests.test.native"
@call ./mill.bat -i "native.copyToArtifacts" --directory artifacts/
shell: cmd
if: runner.os == 'Windows'
- uses: actions/upload-artifact@v4
with:
name: launcher-${{ matrix.os }}
path: artifacts/
if-no-files-found: error
retention-days: 1
- run: ./mill -i ci.upload --directory artifacts/
if: github.event_name == 'push'
env:
UPLOAD_GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
generate-static-launcher:
needs:
- test
- format
- scalafix
runs-on: ubuntu-24.04
strategy:
fail-fast: false
steps:
- uses: actions/checkout@v4
with:
fetch-depth: 0
submodules: true
- uses: coursier/[email protected]
- uses: coursier/setup-action@v1
with:
jvm: temurin:17
- uses: actions/setup-node@v4
with:
node-version: '22'
- run: |
./mill -i "native-static.writeNativeImageScript" --scriptDest generate.sh --imageDest "" && \
./generate.sh && \
./mill -i "tests.test.nativeStatic" && \
./mill -i "native-static.copyToArtifacts" --directory artifacts/
- uses: actions/upload-artifact@v4
with:
name: launcher-${{ matrix.os }}-static
path: artifacts/
if-no-files-found: error
retention-days: 1
- run: ./mill -i ci.upload --directory artifacts/
if: github.event_name == 'push'
env:
UPLOAD_GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
generate-mostly-static-launcher:
needs:
- test
- format
- scalafix
runs-on: ubuntu-24.04
strategy:
fail-fast: false
steps:
- uses: actions/checkout@v4
with:
fetch-depth: 0
submodules: true
- uses: coursier/[email protected]
- uses: coursier/setup-action@v1
with:
jvm: temurin:17
- uses: actions/setup-node@v4
with:
node-version: '22'
- run: |
./mill -i "native-mostly-static.writeNativeImageScript" --scriptDest generate.sh --imageDest "" && \
./generate.sh && \
./mill -i "tests.test.nativeStatic" && \
./mill -i "native-mostly-static.copyToArtifacts" --directory artifacts/
- uses: actions/upload-artifact@v4
with:
name: launcher-${{ matrix.os }}-mostly-static
path: artifacts/
if-no-files-found: error
retention-days: 1
- run: ./mill -i ci.upload --directory artifacts/
if: github.event_name == 'push'
env:
UPLOAD_GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}