Configurable synopsis (#255) #427
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 | |
env: | |
JDK_JAVA_OPTIONS: -XX:+PrintCommandLineFlags # JDK_JAVA_OPTIONS is _the_ env. variable to use for modern Java | |
JVM_OPTS: -XX:+PrintCommandLineFlags # for Java 8 only (sadly, it is not modern enough for JDK_JAVA_OPTIONS) | |
on: | |
pull_request: | |
push: | |
branches: [ 'master' ] | |
release: | |
types: | |
- published | |
jobs: | |
lint: | |
runs-on: ubuntu-20.04 | |
timeout-minutes: 30 | |
steps: | |
- name: Checkout current branch | |
uses: actions/checkout@v3 | |
with: | |
fetch-depth: 0 | |
- name: Cache scala dependencies | |
uses: coursier/cache-action@v6 | |
- name: Setup Java | |
uses: actions/[email protected] | |
with: | |
distribution: temurin | |
java-version: 17 | |
check-latest: true | |
- name: Lint code | |
run: sbt check | |
website: | |
runs-on: ubuntu-20.04 | |
timeout-minutes: 60 | |
steps: | |
- name: Checkout current branch | |
uses: actions/checkout@v3 | |
with: | |
fetch-depth: 0 | |
- name: Cache scala dependencies | |
uses: coursier/cache-action@v6 | |
- name: Setup Java | |
uses: actions/[email protected] | |
with: | |
distribution: temurin | |
java-version: 17 | |
check-latest: true | |
- name: Check Document Generation | |
run: sbt docs/compileDocs | |
test: | |
runs-on: ubuntu-20.04 | |
timeout-minutes: 30 | |
strategy: | |
fail-fast: false | |
matrix: | |
java: [ '11', '17' ] | |
scala: [ '2.12.18', '2.13.11', '3.3.0' ] | |
platform: [ 'JVM', 'JS', 'Native' ] | |
steps: | |
- name: Checkout current branch | |
uses: actions/checkout@v3 | |
with: | |
fetch-depth: 0 | |
- name: Cache scala dependencies | |
uses: coursier/cache-action@v6 | |
- name: Setup Java | |
uses: actions/[email protected] | |
with: | |
distribution: temurin | |
java-version: ${{ matrix.java }} | |
check-latest: true | |
- name: Run tests | |
if: ${{ !startsWith(matrix.scala, '3.') }} | |
run: sbt "++${{ matrix.scala }} test" | |
- name: Run dotty tests | |
if: ${{ startsWith(matrix.scala, '3.') && matrix.platform == 'JVM' }} | |
run: sbt "++${{ matrix.scala }} test" | |
publish: | |
runs-on: ubuntu-20.04 | |
timeout-minutes: 30 | |
needs: [ lint, website, test ] | |
if: github.event_name != 'pull_request' | |
steps: | |
- name: Checkout current branch | |
uses: actions/checkout@v3 | |
with: | |
fetch-depth: 0 | |
- name: Cache scala dependencies | |
uses: coursier/cache-action@v6 | |
- name: Setup Java | |
uses: actions/[email protected] | |
with: | |
distribution: temurin | |
java-version: 17 | |
check-latest: true | |
- name: Release artifacts | |
run: sbt ci-release | |
env: | |
PGP_PASSPHRASE: ${{ secrets.PGP_PASSPHRASE }} | |
PGP_SECRET: ${{ secrets.PGP_SECRET }} | |
SONATYPE_PASSWORD: ${{ secrets.SONATYPE_PASSWORD }} | |
SONATYPE_USERNAME: ${{ secrets.SONATYPE_USERNAME }} |