Skip to content

Add native launcher #1521

Add native launcher

Add native launcher #1521

Workflow file for this run

name: CI
on:
push:
branches:
- main
tags:
- "v*"
pull_request:
jobs:
examples:
runs-on: ${{ matrix.OS }}
strategy:
fail-fast: false
matrix:
OS: ["ubuntu-latest", "windows-latest"]
steps:
- uses: actions/checkout@v4
with:
fetch-depth: 0
submodules: true
- name: Set up Python
uses: actions/setup-python@v5
with:
python-version: "3.10"
- name: Install python dependencies
run: |
python -m pip install --upgrade pip
pip install -r examples/requirements.txt --no-dependencies
- uses: coursier/[email protected]
with:
jvm: 8
- run: ./mill -i scala.examples.test
shell: bash
test:
runs-on: ${{ matrix.OS }}
strategy:
fail-fast: false
matrix:
OS: [ubuntu-latest]
JDK: [8]
SCALA: [2.12.18, 2.12.19, 2.13.13, 2.13.14, 3.3.3]
include:
- OS: windows-latest
JDK: 8
SCALA: 2.13.14
- OS: macos-12
JDK: 8
SCALA: 2.13.14
- OS: ubuntu-latest
JDK: 17
SCALA: 2.12.19
steps:
- uses: actions/checkout@v4
with:
fetch-depth: 0
submodules: true
- uses: coursier/[email protected]
with:
jvm: ${{ matrix.JDK }}
apps:
- run: ./mill -i "__[$SCALA].test"
shell: bash
env:
SCALA: ${{ matrix.SCALA }}
integration-tests:
runs-on: ${{ matrix.OS }}
timeout-minutes: 60
strategy:
fail-fast: false
matrix:
OS: ["ubuntu-22.04", macos-12, windows-latest]
steps:
- uses: actions/checkout@v4
with:
fetch-depth: 0
submodules: true
- uses: coursier/[email protected]
with:
jvm: 8
apps: scala-cli
- run: .github/scripts/run/run-its.sh
shell: bash
native-integration-tests:
runs-on: ${{ matrix.OS }}
timeout-minutes: 60
strategy:
fail-fast: false
matrix:
OS: [ubuntu-latest, macos-12, windows-latest]
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@v3
with:
fetch-depth: 0
submodules: true
- uses: coursier/[email protected]
- uses: coursier/[email protected]
with:
jvm: 8
apps: scala-cli
- name: Copy launcher
run: ./mill -i ci.copyNativeLauncher artifacts/
- uses: actions/upload-artifact@v3
with:
name: launchers
path: artifacts/
if-no-files-found: error
retention-days: 2
- run: .github/scripts/run/run-its-native.sh
shell: bash
bincompat:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
with:
fetch-depth: 0
submodules: true
- uses: coursier/[email protected]
with:
jvm: 8
- run: ./mill __.mimaReportBinaryIssues
shell: bash
website:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
with:
fetch-depth: 0
submodules: true
- uses: coursier/[email protected]
with:
jvm: 17
apps: cs
- run: ./mill docs.generate
shell: bash
format:
timeout-minutes: 15
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
with:
fetch-depth: 0
submodules: true
- uses: coursier/[email protected]
with:
jvm: "temurin:17"
apps: scalafmt
- run: scalafmt --check
publishLocal:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
with:
fetch-depth: 0
submodules: true
- uses: coursier/[email protected]
with:
jvm: 8
apps:
- run: |
mv .mill-jvm-opts .mill-jvm-opts.bak
echo "-Xmx2g" > .mill-jvm-opts
cat .mill-jvm-opts.bak | grep -v Xmx >> .mill-jvm-opts
# sometimes running into memory issues when attempting __.publishLocal upfront
for SV in $(./mill dev.scalaVersions); do
./mill -i '__['"$SV"'].compile'
./mill -i '__['"$SV"'].docJar'
./mill -i '__['"$SV"'].publishLocal'
done
./mill -i __.publishLocal
shell: bash
# job whose name doesn't change when we bump Scala versions, add OSes, …
# We require this job for auto-merge.
all-tests:
needs: [examples, bincompat, test, integration-tests, native-integration-tests, website, publishLocal]
runs-on: ubuntu-latest
steps:
- run: true
shell: bash