Merge pull request #115 from Gedochao/update/coursier-actions #201
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: | |
jvm-tests: | |
runs-on: ubuntu-20.04 | |
steps: | |
- uses: actions/checkout@v3 | |
with: | |
fetch-depth: 0 | |
submodules: true | |
- uses: coursier/[email protected] | |
- uses: coursier/setup-action@v1 | |
with: | |
jvm: "temurin:17" | |
- run: | | |
./mill -i "jvm-integration[_].test" | |
if: runner.os != 'Windows' | |
- run: | | |
@call ./mill.bat -i "jvm-integration[_].test" | |
shell: cmd | |
if: runner.os == 'Windows' | |
native-tests: | |
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/setup-action@v1 | |
with: | |
jvm: "temurin:17" | |
- run: | | |
cs java --update --ttl 0 -version && \ | |
./mill -i "native-cli.base-image.writeNativeImageScript" generate.sh "" && \ | |
./generate.sh && \ | |
./mill -i "native-cli.base-image.copyToArtifacts" artifacts/ | |
if: runner.os != 'Windows' | |
- run: | | |
export USE_NATIVE_IMAGE_JAVA_PLATFORM_MODULE_SYSTEM=false | |
.github/scripts/generate-native-image-windows.sh | |
shell: bash | |
if: runner.os == 'Windows' | |
- uses: actions/upload-artifact@v3 | |
with: | |
name: launchers | |
path: artifacts/ | |
if-no-files-found: error | |
retention-days: 1 | |
- run: ./mill -i "native-integration.native.test" | |
if: github.event_name == 'push' | |
native-static-tests: | |
runs-on: ubuntu-20.04 | |
steps: | |
- uses: actions/checkout@v3 | |
with: | |
fetch-depth: 0 | |
submodules: true | |
- uses: coursier/[email protected] | |
- uses: coursier/setup-action@v1 | |
with: | |
jvm: "temurin:17" | |
- run: | | |
cs java --update --ttl 0 -version && \ | |
./mill -i "native-cli.static-image.writeNativeImageScript" generate.sh "" && \ | |
./generate.sh && \ | |
./mill -i "native-cli.static-image.copyToArtifacts" artifacts/ | |
- uses: actions/upload-artifact@v3 | |
with: | |
name: launchers | |
path: artifacts/ | |
if-no-files-found: error | |
retention-days: 1 | |
- run: ./mill -i "native-integration.static.test" | |
if: github.event_name == 'push' | |
native-mostly-static-tests: | |
runs-on: ubuntu-20.04 | |
steps: | |
- uses: actions/checkout@v3 | |
with: | |
fetch-depth: 0 | |
submodules: true | |
- uses: coursier/[email protected] | |
- uses: coursier/setup-action@v1 | |
with: | |
jvm: "temurin:17" | |
- run: | | |
cs java --update --ttl 0 -version && \ | |
./mill -i "native-cli.mostly-static-image.writeNativeImageScript" generate.sh "" && \ | |
./generate.sh && \ | |
./mill -i "native-cli.mostly-static-image.copyToArtifacts" artifacts/ | |
- uses: actions/upload-artifact@v3 | |
with: | |
name: launchers | |
path: artifacts/ | |
if-no-files-found: error | |
retention-days: 1 | |
- run: ./mill -i "native-integration.mostly-static.test" | |
if: github.event_name == 'push' | |
upload-launchers: | |
needs: [format, jvm-tests, native-tests, native-static-tests, native-mostly-static-tests] | |
runs-on: ubuntu-20.04 | |
if: github.event_name == 'push' | |
steps: | |
- uses: actions/checkout@v3 | |
with: | |
fetch-depth: 0 | |
submodules: true | |
- uses: coursier/[email protected] | |
- uses: coursier/setup-action@v1 | |
with: | |
jvm: "temurin:17" | |
- uses: actions/download-artifact@v3 | |
with: | |
name: launchers | |
path: artifacts/ | |
- run: ./mill -i ci.upload artifacts/ | |
env: | |
UPLOAD_GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
format: | |
timeout-minutes: 15 | |
runs-on: ubuntu-20.04 | |
steps: | |
- uses: actions/checkout@v3 | |
with: | |
fetch-depth: 0 | |
submodules: true | |
- uses: coursier/[email protected] | |
- uses: coursier/setup-action@v1 | |
with: | |
jvm: "temurin:17" | |
apps: scalafmt:3.0.0 | |
- run: scalafmt --check | |
publish: | |
needs: [format, jvm-tests, native-tests, native-static-tests, native-mostly-static-tests] | |
if: github.event_name == 'push' | |
runs-on: ubuntu-20.04 | |
steps: | |
- uses: actions/checkout@v3 | |
with: | |
fetch-depth: 0 | |
submodules: true | |
- uses: coursier/[email protected] | |
- uses: coursier/setup-action@v1 | |
with: | |
jvm: "temurin:17" | |
- name: GPG setup | |
run: .github/scripts/gpg-setup.sh | |
env: | |
PGP_SECRET: ${{ secrets.PGP_SECRET }} | |
- run: ./mill -i ci.publishSonatype __.publishArtifacts | |
env: | |
PGP_PASSWORD: ${{ secrets.PGP_PASSPHRASE }} | |
SONATYPE_PASSWORD: ${{ secrets.SONATYPE_PASSWORD }} | |
SONATYPE_USERNAME: ${{ secrets.SONATYPE_USERNAME }} |