Merge pull request #39 from lefou/cleanup-build #62
This file contains 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: | |
- 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" | |
- 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.PUBLISH_USER }} | |
SONATYPE_PASSWORD: ${{ secrets.PUBLISH_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/cache-action@v6.4 | |
- uses: coursier/setup-action@v1.2.0-M3 | |
with: | |
jvm: temurin:17 | |
- 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/upload-artifact@v3.1.2 | |
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/cache-action@v6.4 | |
- uses: coursier/setup-action@v1.2.0-M3 | |
with: | |
jvm: temurin:17 | |
- run: | | |
./mill -i "native-static.writeNativeImageScript" generate.sh "" && \ | |
./generate.sh && \ | |
./mill -i "tests.test.nativeStatic" && \ | |
./mill -i "native-static.copyToArtifacts" artifacts/ | |
- uses: actions/upload-artifact@v3.1.2 | |
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/cache-action@v6.4 | |
- uses: coursier/setup-action@v1.2.0-M3 | |
with: | |
jvm: temurin:17 | |
- 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/upload-artifact@v3.1.2 | |
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 }} |