Update directories-jni to 0.1.4 #3387
Workflow file for this run
This file contains hidden or 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: | |
permissions: | |
id-token: write | |
attestations: write | |
jobs: | |
compile-publish-all: | |
runs-on: ubuntu-latest | |
name: Compile and publish everything locally | |
steps: | |
- name: Don't convert LF to CRLF during checkout | |
if: runner.os == 'Windows' | |
run: | | |
git config --global core.autocrlf false | |
git config --global core.eol lf | |
- uses: actions/checkout@v4 | |
with: | |
fetch-depth: 0 | |
submodules: true | |
- uses: coursier/cache-action@v6.4 | |
- uses: coursier/setup-action@v1.3 | |
with: | |
jvm: 21 | |
- run: ./mill -i __.compile | |
- run: ./mill -i __.publishLocal | |
compile-all-no-package-object: | |
runs-on: ubuntu-latest | |
name: Compile everything (no package object) | |
steps: | |
- name: Don't convert LF to CRLF during checkout | |
if: runner.os == 'Windows' | |
run: | | |
git config --global core.autocrlf false | |
git config --global core.eol lf | |
- uses: actions/checkout@v4 | |
with: | |
fetch-depth: 0 | |
submodules: true | |
- uses: coursier/cache-action@v6.4 | |
- uses: coursier/setup-action@v1.3 | |
with: | |
jvm: 21 | |
- run: | | |
test -e modules/coursier/shared/src/main/scala/coursier/package.scala | |
rm -f modules/coursier/shared/src/main/scala/coursier/package.scala | |
./mill -i __.compile | |
test: | |
runs-on: ${{ matrix.OS }} | |
name: ${{ matrix.OS }} Scala ${{ matrix.SCALA_VERSION }} | |
strategy: | |
fail-fast: false | |
matrix: | |
OS: ["ubuntu-latest"] | |
SCALA_VERSION: ["2.13.16"] | |
include: | |
- OS: "ubuntu-24.04-arm" | |
SCALA_VERSION: "2.13.16" | |
- OS: "macos-13" | |
SCALA_VERSION: "2.13.16" | |
- OS: "macos-14" | |
SCALA_VERSION: "2.13.16" | |
- OS: "windows-latest" | |
SCALA_VERSION: "2.13.16" | |
- OS: "ubuntu-latest" | |
SCALA_VERSION: "2.12.20" | |
steps: | |
- name: Don't convert LF to CRLF during checkout | |
if: runner.os == 'Windows' | |
run: | | |
git config --global core.autocrlf false | |
git config --global core.eol lf | |
- uses: actions/checkout@v4 | |
with: | |
fetch-depth: 0 | |
submodules: true | |
- uses: coursier/cache-action@v6.4 | |
- uses: coursier/setup-action@v1.3 | |
with: | |
jvm: 21 | |
- run: sudo apt-get install -y nailgun | |
if: runner.os == 'Linux' | |
# - run: .github/scripts/scala-native-setup.sh | |
# if: runner.os != 'Windows' | |
- run: ./mill -i dockerTests | |
shell: bash | |
env: | |
SCALA_VERSION: ${{ matrix.SCALA_VERSION }} | |
COURSIER_JNI: force | |
- run: ./mill -i jvmTests --scalaVersion "$SCALA_VERSION" | |
shell: bash | |
env: | |
SCALA_VERSION: ${{ matrix.SCALA_VERSION }} | |
COURSIER_JNI: force | |
js-test: | |
runs-on: ubuntu-latest | |
name: Scala.JS Scala ${{ matrix.SCALA_VERSION }} | |
strategy: | |
fail-fast: false | |
matrix: | |
SCALA_VERSION: ["2.12.20", "2.13.16"] | |
steps: | |
- name: Don't convert LF to CRLF during checkout | |
if: runner.os == 'Windows' | |
run: | | |
git config --global core.autocrlf false | |
git config --global core.eol lf | |
- uses: actions/checkout@v4 | |
with: | |
fetch-depth: 0 | |
submodules: true | |
- uses: actions/setup-node@v4 | |
with: | |
node-version: '12' | |
- uses: coursier/cache-action@v6.4 | |
- uses: coursier/setup-action@v1.3 | |
with: | |
jvm: 21 | |
- run: npm install && ./mill -i jsTests --scalaVersion "$SCALA_VERSION" | |
shell: bash | |
env: | |
SCALA_VERSION: ${{ matrix.SCALA_VERSION }} | |
bin-compat: | |
runs-on: ubuntu-latest | |
name: Binary compatibility | |
steps: | |
- uses: actions/checkout@v4 | |
with: | |
fetch-depth: 0 | |
submodules: true | |
- uses: coursier/cache-action@v6.4 | |
- uses: coursier/setup-action@v1.3 | |
with: | |
jvm: 21 | |
- run: ./mill -i -k __.mimaReportBinaryIssues | |
website-check: | |
runs-on: ubuntu-latest | |
name: Website check | |
steps: | |
- name: Don't convert LF to CRLF during checkout | |
if: runner.os == 'Windows' | |
run: | | |
git config --global core.autocrlf false | |
git config --global core.eol lf | |
- uses: actions/checkout@v4 | |
with: | |
fetch-depth: 0 | |
submodules: true | |
- uses: actions/setup-node@v4 | |
with: | |
node-version: '12' | |
- uses: coursier/cache-action@v6.4 | |
- uses: coursier/setup-action@v1.3 | |
with: | |
jvm: 21 | |
- run: ./mill -i docs.mdoc | |
env: | |
COURSIER_JNI: force | |
- run: .github/scripts/setup-mkdocs.sh | |
- run: ./mill -i docs.mkdocsBuild | |
env: | |
COURSIER_JNI: force | |
- run: ./mill -i doc.generate --npm-install --yarn-run-build | |
env: | |
COURSIER_JNI: force | |
format: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
with: | |
fetch-depth: 0 | |
submodules: true | |
- uses: coursier/cache-action@v6.4 | |
- uses: coursier/setup-action@v1.3 | |
with: | |
jvm: 21 | |
apps: scalafmt:3.8.3 | |
- run: scalafmt --check | |
publish: | |
needs: ["compile-publish-all", "test", "js-test", "bin-compat", "website-check", "format"] | |
if: github.event_name == 'push' | |
runs-on: ubuntu-latest | |
10000 | steps: |
- uses: actions/checkout@v4 | |
with: | |
fetch-depth: 0 | |
submodules: true | |
- uses: coursier/cache-action@v6.4 | |
- run: .github/scripts/gpg-setup.sh | |
env: | |
PGP_SECRET: ${{ secrets.PUBLISH_SECRET_KEY }} | |
- uses: coursier/setup-action@v1.3 | |
with: | |
jvm: 21 | |
- run: | | |
mv .mill-jvm-opts .mill-jvm-opts.bak | |
cat .mill-jvm-opts.bak | grep -v -- '-Xmx' > .mill-jvm-opts | |
echo '-Xmx2g' >> .mill-jvm-opts | |
- name: Release | |
run: ./mill -i publishSonatype --tasks __.publishArtifacts | |
env: | |
PGP_PASSWORD: ${{ secrets.PUBLISH_SECRET_KEY_PASSWORD }} | |
SONATYPE_PASSWORD: ${{ secrets.SONATYPE_PASSWORD }} | |
SONATYPE_USERNAME: ${{ secrets.SONATYPE_USERNAME }} | |
generate-native-launchers: | |
name: ${{ matrix.OS }} native | |
runs-on: ${{ matrix.OS }} | |
strategy: | |
fail-fast: false | |
matrix: | |
OS: ["ubuntu-latest"] | |
OSSHORT: ["linux"] | |
include: | |
- OS: "windows-latest" | |
OSSHORT: "windows" | |
- OS: "macos-13" | |
OSSHORT: "mac" | |
- OS: "macos-14" | |
OSSHORT: "mac-arm" | |
- OS: "ubuntu-24.04-arm" | |
OSSHORT: "linux-arm" | |
steps: | |
- uses: actions/checkout@v4 | |
with: | |
fetch-depth: 0 | |
submodules: true | |
- uses: coursier/cache-action@v6.4 | |
- uses: coursier/setup-action@v1.3 | |
with: | |
jvm: 21 | |
- run: sudo apt-get install -y nailgun | |
if: runner.os == 'Linux' | |
- run: .github/scripts/maybe-with-graalvm-home.sh nativeTests | |
shell: bash | |
- name: Copy artifacts | |
run: .github/scripts/maybe-with-graalvm-home.sh copyLauncher --directory artifacts/ | |
shell: bash | |
- name: Build OS packages | |
run: .github/scripts/generate-os-packages.sh | |
shell: bash | |
- uses: actions/attest-build-provenance@v2 | |
if: startsWith(github.ref, 'refs/tags/v') | |
with: | |
subject-path: 'artifacts/*' | |
- uses: actions/upload-artifact@v4 | |
with: | |
name: launchers-${{ matrix.OSSHORT }} | |
path: artifacts/ | |
if-no-files-found: error | |
retention-days: 2 | |
generate-compat-native-launchers: | |
name: linux compat native | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
with: | |
fetch-depth: 0 | |
submodules: true | |
- uses: coursier/cache-action@v6.4 | |
- uses: coursier/setup-action@v1.3 | |
with: | |
jvm: 21 | |
- run: sudo apt-get install -y nailgun | |
- run: .github/scripts/maybe-with-graalvm-home.sh nativeCompatTests | |
shell: bash | |
- name: Copy artifacts | |
run: .github/scripts/maybe-with-graalvm-home.sh copyCompatLauncher --directory artifacts/ | |
shell: bash | |
- uses: actions/attest-build-provenance@v2 | |
if: startsWith(github.ref, 'refs/tags/v') | |
with: | |
subject-path: 'artifacts/*' | |
- uses: actions/upload-artifact@v4 | |
with: | |
name: launchers-linux-compat | |
path: artifacts/ | |
if-no-files-found: error | |
retention-days: 2 | |
generate-native-static-launcher: | |
name: ${{ matrix.OS }} static native | |
runs-on: ${{ matrix.OS }} | |
strategy: | |
fail-fast: false | |
matrix: | |
OS: ["ubuntu-latest"] | |
OSSHORT: ["linux"] | |
include: | |
- OS: "ubuntu-24.04-arm" | |
OSSHORT: "linux-arm" | |
steps: | |
- uses: actions/checkout@v4 | |
with: | |
fetch-depth: 0 | |
submodules: true | |
- uses: coursier/cache-action@v6.4 | |
- uses: coursier/setup-action@v1.3 | |
with: | |
jvm: 21 | |
- run: sudo apt-get install -y nailgun | |
if: runner.os == 'Linux' | |
- run: .github/scripts/maybe-with-graalvm-home.sh nativeStaticTests | |
shell: bash | |
- name: Copy artifacts | |
run: .github/scripts/maybe-with-graalvm-home.sh copyStaticLauncher --directory artifacts/ | |
shell: bash | |
- uses: actions/attest-build-provenance@v2 | |
if: startsWith(github.ref, 'refs/tags/v') | |
with: | |
subject-path: 'artifacts/*' | |
- uses: actions/upload-artifact@v4 | |
with: | |
name: launchers-${{ matrix.OSSHORT }}-static | |
path: artifacts/ | |
if-no-files-found: error | |
retention-days: 2 | |
generate-native-mostly-static-launcher: | |
name: ${{ matrix.OS }} mostly static native | |
runs-on: ${{ matrix.OS }} | |
strategy: | |
fail-fast: false | |
matrix: | |
OS: ["ubuntu-latest"] | |
OSSHORT: ["linux"] | |
include: | |
- OS: "ubuntu-24.04-arm" | |
OSSHORT: "linux-arm" | |
steps: | |
- uses: actions/checkout@v4 | |
with: | |
fetch-depth: 0 | |
submodules: true | |
- uses: coursier/cache-action@v6.4 | |
- uses: coursier/setup-action@v1.3 | |
with: | |
jvm: 21 | |
- run: sudo apt-get install -y nailgun | |
if: runner.os == 'Linux' | |
- run: .github/scripts/maybe-with-graalvm-home.sh nativeMostlyStaticTests | |
shell: bash | |
- name: Copy artifacts | |
run: .github/scripts/maybe-with-graalvm-home.sh copyMostlyStaticLauncher --directory artifacts/ | |
shell: bash | |
- uses: actions/attest-build-provenance@v2 | |
if: startsWith(github.ref, 'refs/tags/v') | |
with: | |
subject-path: 'artifacts/*' | |
- uses: actions/upload-artifact@v4 | |
with: | |
name: launchers-${{ matrix.OSSHORT }}-mostly-static | |
path: artifacts/ | |
if-no-files-found: error | |
retention-days: 2 | |
generate-native-container-launcher: | |
name: ${{ matrix.OS }} container native | |
runs-on: ${{ matrix.OS }} | |
strategy: | |
fail-fast: false | |
matrix: | |
OS: ["ubuntu-latest"] | |
OSSHORT: ["linux"] | |
include: | |
- OS: "ubuntu-24.04-arm" | |
OSSHORT: "linux-arm" | |
steps: | |
- uses: actions/checkout@v4 | |
with: | |
fetch-depth: 0 | |
submodules: true | |
- uses: coursier/cache-action@v6.4 | |
- uses: coursier/setup-action@v1.3 | |
with: | |
jvm: 21 | |
- run: sudo apt-get install -y nailgun | |
if: runner.os == 'Linux' | |
- run: .github/scripts/maybe-with-graalvm-home.sh nativeContainerTests | |
shell: bash | |
- name: Copy artifacts | |
run: .github/scripts/maybe-with-graalvm-home.sh copyContainerLauncher --directory artifacts/ | |
shell: bash | |
- uses: actions/attest-build-provenance@v2 | |
if: startsWith(github.ref, 'refs/tags/v') | |
with: | |
subject-path: 'artifacts/*' | |
- uses: actions/upload-artifact@v4 | |
with: | |
name: launchers-${{ matrix.OSSHORT }}-container | |
path: artifacts/ | |
if-no-files-found: error | |
retention-days: 2 | |
generate-jar-launchers: | |
name: Upload JAR launchers | |
needs: publish | |
if: startsWith(github.ref, 'refs/tags/v') | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
with: | |
fetch-depth: 0 | |
submodules: true | |
- uses: coursier/cache-action@v6.4 | |
- uses: coursier/setup-action@v1.3 | |
with: | |
jvm: 21 | |
- name: Wait for sync to Central | |
run: ./mill -i waitForSync | |
- name: Copy artifacts | |
run: ./mill -i copyJarLaunchers | |
- uses: actions/attest-build-provenance@v2 | |
if: startsWith(github.ref, 'refs/tags/v') | |
with: | |
subject-path: 'artifacts/*' | |
- uses: actions/upload-artifact@v4 | |
with: | |
name: launchers-jar | |
path: artifacts/ | |
if-no-files-found: error | |
retention-days: 2 | |
upload-launchers: | |
name: Upload launchers to GitHub release assets | |
needs: [generate-native-launchers, generate-compat-native-launchers, generate-native-static-launcher, generate-native-mostly-static-launcher, generate-native-container-launcher, generate-jar-launchers] | |
if: startsWith(github.ref, 'refs/tags/v') | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
with: | |
fetch-depth: 0 | |
submodules: true | |
- uses: coursier/cache-action@v6.4 | |
- uses: coursier/setup-action@v1.3 | |
with: | |
jvm: 21 | |
- uses: actions/download-artifact@v4 | |
with: | |
name: launchers-linux | |
path: artifacts/ | |
- uses: actions/download-artifact@v4 | |
with: | |
name: launchers-linux-compat | |
path: artifacts/ | |
- uses: actions/download-artifact@v4 | |
with: | |
name: launchers-linux-arm | |
path: artifacts/ | |
- uses: actions/download-artifact@v4 | |
with: | |
name: launchers-windows | |
path: artifacts/ | |
- uses: actions/download-artifact@v4 | |
with: | |
name: launchers-mac | |
path: artifacts/ | |
- uses: actions/download-artifact@v4 | |
with: | |
name: launchers-mac-arm | |
path: artifacts/ | |
- uses: actions/download-artifact@v4 | |
with: | |
name: launchers-linux-static | |
path: artifacts/ | |
- uses: actions/download-artifact@v4 | |
with: | |
name: launchers-linux-arm-static | |
path: artifacts/ | |
- uses: actions/download-artifact@v4 | |
with: | |
name: launchers-linux-mostly-static | |
path: artifacts/ | |
- uses: actions/download-artifact@v4 | |
with: | |
name: launchers-linux-arm-mostly-static | |
path: artifacts/ | |
- uses: actions/download-artifact@v4 | |
with: | |
name: launchers-linux-container | |
path: artifacts/ | |
- uses: actions/download-artifact@v4 | |
with: | |
name: launchers-linux-arm-container | |
path: artifacts/ | |
- uses: actions/download-artifact@v4 | |
with: | |
name: launchers-jar | |
path: artifacts/ | |
- run: ./mill -i uploadLaunchers --directory artifacts/ | |
env: | |
UPLOAD_GH_TOKEN: ${{ secrets.GH_TOKEN }} | |
update-brew-formula: | |
name: Update brew formula | |
needs: [upload-launchers] | |
if: startsWith(github.ref, 'refs/tags/v') | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
with: | |
fetch-depth: 0 | |
submodules: true | |
- uses: coursier/cache-action@v6.4 | |
- uses: coursier/setup-action@v1.3 | |
with: | |
jvm: 21 | |
- run: .github/scripts/scala-cli.sh .github/scripts/UpdateBrewFormula.scala | |
env: | |
GH_TOKEN: ${{ secrets.GH_TOKEN }} | |
update-website-latest: | |
name: Update website (snapshot) | |
if: github.event_name == 'push' && github.ref == 'refs/heads/main' | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
with: | |
fetch-depth: 0 | |
submodules: true | |
- uses: actions/setup-node@v4 | |
with: | |
node-version: '12' | |
- uses: coursier/cache-action@v6.4 | |
- uses: coursier/setup-action@v1.3 | |
with: | |
jvm: 21 | |
- run: .github/scripts/setup-mkdocs.sh | |
- run: npm install && export PATH="$PATH:$(pwd)/node_modules/bower/bin" && ./mill -i updateWebsite | |
env: | |
GH_TOKEN: ${{ secrets.GH_TOKEN }} | |
update-website: | |
name: Update website | |
needs: update-brew-formula | |
if: startsWith(github.ref, 'refs/tags/v') | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
with: | |
fetch-depth: 0 | |
submodules: true | |
- uses: actions/setup-node@v4 | |
with: | |
node-version: '12' | |
- uses: coursier/cache-action@v6.4 | |
- uses: coursier/setup-action@v1.3 | |
with: | |
jvm: 21 | |
- run: .github/scripts/setup-mkdocs.sh | |
- run: npm install && export PATH="$PATH:$(pwd)/node_modules/bower/bin" && ./mill -i updateWebsite | |
env: | |
GH_TOKEN: ${{ secrets.GH_TOKEN }} |