Update zio-json to 0.7.0 (#3041) #41
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: | |
pull_request: {} | |
push: | |
branches: | |
- master | |
release: | |
types: [ published ] # Triggers the CI when a new Github Release is published | |
env: | |
# See: | |
# - https://stackoverflow.com/a/73708006 | |
# - https://stackoverflow.com/questions/73465937/apache-spark-3-3-0-breaks-on-java-17-with-cannot-access-class-sun-nio-ch-direct | |
JDK_JAVA_OPTIONS: -Xms6G -Xmx6G -XX:+UseG1GC --add-exports java.base/sun.nio.ch=ALL-UNNAMED | |
jobs: | |
scalafmt: | |
timeout-minutes: 15 | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4.0.0 | |
- name: Cache sbt | |
uses: actions/cache@v4 | |
with: | |
path: | | |
~/.cache/coursier | |
~/.sbt | |
key: ${{ runner.os }}-${{matrix.scala}}-${{matrix.module}}-${{ hashFiles('**/build.sbt') }} | |
- name: Setup Java | |
uses: actions/setup-java@v3.12.0 | |
with: | |
distribution: temurin | |
java-version: '17' | |
check-latest: true | |
- name: Check scalafmt | |
run: sbt 'scalafmtCheckAll' # https://scalameta.org/scalafmt/docs/installation.html#task-keys | |
build: | |
runs-on: ubuntu-latest | |
env: | |
SCALA_VERSION: ${{ matrix.scala }} | |
POSTGRES_PASSWORD: postgres | |
MYSQL_PASSWORD: root | |
strategy: | |
fail-fast: false | |
matrix: | |
scala: [2.12.x, 2.13.x, 3.3.x] | |
module: [base, db, codegen, bigdata] | |
include: | |
- scala: 2.12.x | |
scala_short: 212 | |
scala_short_dot: 2.12 | |
- scala: 2.13.x | |
scala_short: 213 | |
scala_short_dot: 2.13 | |
- scala: 3.3.x | |
scala_short: 33 | |
scala_short_dot: 3.3 | |
exclude: | |
# For now, only do the `base` build for Scala 3 | |
- scala: 3.3.x | |
module: db | |
- scala: 3.3.x | |
module: codegen | |
- scala: 3.3.x | |
module: bigdata | |
# For other modules, `base` build is already included | |
- scala: 2.12.x | |
module: base | |
- scala: 2.13.x | |
module: base | |
name: Build ${{matrix.scala_short_dot}} - ${{matrix.module}} | |
steps: | |
- uses: actions/checkout@v4.0.0 | |
- name: Cache sbt | |
uses: actions/cache@v4 | |
with: | |
path: | | |
~/.cache/coursier | |
~/.sbt | |
key: ${{ runner.os }}-${{matrix.scala}}-${{matrix.module}}-${{ hashFiles('**/build.sbt') }} | |
- name: Setup Java | |
uses: actions/setup-java@v3.12.0 | |
with: | |
distribution: temurin | |
java-version: '17' | |
check-latest: true | |
- name: Build modules | |
run: | | |
echo "SCALA_VERSION='$SCALA_VERSION'" | |
./build/build.sh ${{ matrix.module }} | |
env: | |
SCALA_VERSION: ${{ matrix.scala }} | |
release_scala: | |
if: ${{github.event_name != 'pull_request'}} | |
runs-on: ubuntu-latest | |
needs: build | |
env: | |
CI_RELEASE: publishSigned # By default, sbt-ci-release uses the `+publishSigned` which is publishing for all the Scala versions configured, which is not what we want | |
CI_SNAPSHOT_RELEASE: publish # By default, sbt-ci-release uses the `+publish` which is publishing for all the Scala versions configured, which is not what we want | |
steps: | |
- uses: actions/checkout@v4.0.0 | |
- name: Setup Java | |
uses: actions/setup-java@v3.12.0 | |
with: | |
distribution: temurin | |
java-version: '11' | |
check-latest: true | |
- run: | | |
sbt ++2.12.x -Dquill.scala.version=2.12.x -Dquill.macro.log=false ci-release | |
sbt ++2.13.x -Dquill.scala.version=2.13.x -Dquill.macro.log=false ci-release | |
sbt ++3.3.x -Dquill.scala.version=3.3.x -Dquill.macro.log=false ci-release | |
env: | |
PGP_PASSPHRASE: ${{ secrets.PGP_PASSPHRASE }} | |
PGP_SECRET: ${{ secrets.PGP_SECRET }} | |
SONATYPE_PASSWORD: ${{ secrets.SONATYPE_PASSWORD }} | |
SONATYPE_USERNAME: ${{ secrets.SONATYPE_USERNAME }} |