Skip to content

Update dependencies, build and CI (#1478) #1920

Update dependencies, build and CI (#1478)

Update dependencies, build and CI (#1478) #1920

Workflow file for this run

name: CI
env:
JDK_JAVA_OPTIONS: '-XX:+PrintCommandLineFlags -Xmx4G' # JDK_JAVA_OPTIONS is _the_ env. variable to use for modern Java
JVM_OPTS: '-XX:+PrintCommandLineFlags -Xmx4G' # for Java 8 only (sadly, it is not modern enough for JDK_JAVA_OPTIONS)
on:
pull_request:
push:
branches: ['master', 'series/4.x']
release:
types:
- published
jobs:
website:
runs-on: ubuntu-22.04
timeout-minutes: 60
steps:
- name: Checkout current branch
uses: actions/checkout@v3.3.0
- name: Setup Java
uses: actions/setup-java@v4.5.0
with:
distribution: temurin
java-version: 11
check-latest: true
- name: Cache scala dependencies
uses: coursier/cache-action@v6
- name: Check Document Generation
run: ./sbt docs/compileDocs
lint:
runs-on: ubuntu-22.04
timeout-minutes: 30
steps:
- name: Checkout current branch
uses: actions/checkout@v3.3.0
with:
fetch-depth: 0
- name: Setup Java
uses: actions/setup-java@v4.5.0
with:
distribution: temurin
java-version: 11
check-latest: true
- name: Cache scala dependencies
uses: coursier/cache-action@v6
- name: Check formatting
run: sbt fmt
- name: Check binary compatibility
run: sbt "++2.12; checkMima; ++2.13; checkMima; ++3.3; checkMima"
test:
runs-on: ubuntu-22.04
timeout-minutes: 30
strategy:
fail-fast: false
matrix:
java: ['11', '21']
scala: ['2.12.20', '2.13.15', '3.3.4']
platform: ['JS', 'JVM', 'Native']
steps:
- name: Checkout current branch
uses: actions/checkout@v3.3.0
with:
fetch-depth: 0
- name: Setup Java
uses: actions/setup-java@v4.5.0
with:
distribution: temurin
java-version: ${{ matrix.java }}
check-latest: true
- name: Cache scala dependencies
uses: coursier/cache-action@v6
- name: Run JS tests
if: ${{ matrix.platform == 'JS' && !startsWith(matrix.scala, '3.') }}
run: sbt ++${{ matrix.scala }}! testJS
- name: Run 2.12 JVM tests
if: ${{ matrix.platform == 'JVM' && startsWith(matrix.scala, '2.12') }}
run: sbt ++${{ matrix.scala }}! testJVM212
- name: Run 2.13 JVM tests
if: ${{ matrix.platform == 'JVM' && startsWith(matrix.scala, '2.13') }}
run: sbt ++${{ matrix.scala }}! testJVM213
- name: Run 3.x JVM tests
if: ${{ matrix.platform == 'JVM' && startsWith(matrix.scala, '3.') }}
run: sbt ++${{ matrix.scala }}! testJVM3x
ci:
runs-on: ubuntu-22.04
needs: [website, test]
steps:
- name: Report successful build
run: echo "ci passed"
publish:
runs-on: ubuntu-22.04
timeout-minutes: 30
needs: [ci]
if: github.event_name != 'pull_request'
steps:
- name: Checkout current branch
uses: actions/checkout@v3.3.0
with:
fetch-depth: 0
- name: Setup Java
uses: actions/setup-java@v4.5.0
with:
distribution: temurin
java-version: 11
check-latest: true
- name: Cache scala dependencies
uses: coursier/cache-action@v6
- 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 }}