Skip to content

Merge pull request #101 from scala-steward/update/mill-native-image-0… #199

Merge pull request #101 from scala-steward/update/mill-native-image-0…

Merge pull request #101 from scala-steward/update/mill-native-image-0… #199

Workflow file for this run

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