Skip to content

Update sbt, scripted-plugin to 1.10.6 (#178) #432

Update sbt, scripted-plugin to 1.10.6 (#178)

Update sbt, scripted-plugin to 1.10.6 (#178) #432

Workflow file for this run

name: Validate and test
on:
pull_request:
push:
branches:
- main
tags-ignore: [ v.* ]
jobs:
compile:
name: Test and compile
runs-on: ubuntu-latest
strategy:
matrix:
SCALA_VERSION: [ 2.12, 2.13, 3.3 ]
JAVA_VERSION: [ 8, 11, 17, 21 ]
steps:
- name: Checkout
uses: actions/checkout@v4
with:
fetch-depth: 0
fetch-tags: true
- name: Setup Java ${{ matrix.JAVA_VERSION }}
uses: actions/setup-java@v4
with:
distribution: temurin
java-version: ${{ matrix.JAVA_VERSION }}
- name: Install sbt
uses: sbt/setup-sbt@v1
- name: Cache Coursier cache
uses: coursier/cache-action@v6
- name: Enable jvm-opts
run: cp .jvmopts-ci .jvmopts
- name: Compile and test for JDK ${{ matrix.JAVA_VERSION }}, Scala ${{ matrix.SCALA_VERSION }}
run: sbt ++${{ matrix.SCALA_VERSION }} test:compile
test-postgres:
name: Run test with Postgres
runs-on: ubuntu-latest
strategy:
matrix:
SCALA_VERSION: [ 2.12, 2.13, 3.3 ]
JAVA_VERSION: [ 8, 11 ]
if: github.repository == 'apache/pekko-persistence-r2dbc'
steps:
- name: Checkout
uses: actions/checkout@v4
with:
fetch-depth: 0
fetch-tags: true
- name: Checkout GitHub merge
if: github.event.pull_request
run: |-
git fetch origin pull/${{ github.event.pull_request.number }}/merge:scratch
git checkout scratch
- name: Setup Java ${{ matrix.JAVA_VERSION }}
uses: actions/setup-java@v4
with:
distribution: temurin
java-version: ${{ matrix.JAVA_VERSION }}
- name: Install sbt
uses: sbt/setup-sbt@v1
- name: Cache Coursier cache
uses: coursier/cache-action@v6
- name: Enable jvm-opts
run: cp .jvmopts-ci .jvmopts
- name: Start DB
run: |-
docker compose -f docker/docker-compose-postgres.yml up -d
# TODO: could we poll the port instead of sleep?
sleep 10
docker exec -i docker-postgres-db-1 psql -U postgres -t < ddl-scripts/create_tables_postgres.sql
- name: test
run: sbt ++${{ matrix.SCALA_VERSION }} test
test-yugabyte:
name: Run tests with Yugabyte
runs-on: ubuntu-latest
strategy:
matrix:
SCALA_VERSION: [ 2.12, 2.13, 3.3 ]
JAVA_VERSION: [ 8, 11 ]
if: github.repository == 'apache/pekko-persistence-r2dbc'
steps:
- name: Checkout
uses: actions/checkout@v4
with:
fetch-depth: 0
fetch-tags: true
- name: Checkout GitHub merge
if: github.event.pull_request
run: |-
git fetch origin pull/${{ github.event.pull_request.number }}/merge:scratch
git checkout scratch
- name: Setup Java ${{ matrix.JAVA_VERSION }}
uses: actions/setup-java@v4
with:
distribution: temurin
java-version: ${{ matrix.JAVA_VERSION }}
- name: Install sbt
uses: sbt/setup-sbt@v1
- name: Cache Coursier cache
uses: coursier/cache-action@v6
- name: Enable jvm-opts
run: cp .jvmopts-ci .jvmopts
- name: Start DB
run: |-
docker compose -f docker/docker-compose-yugabyte.yml up -d
# TODO: could we poll the port instead of sleep?
sleep 10
docker exec -i yb-tserver-n1 /home/yugabyte/bin/ysqlsh -h yb-tserver-n1 -t < ddl-scripts/create_tables_yugabyte.sql
- name: test
run: sbt -Dpekko.persistence.r2dbc.dialect=yugabyte -Dpekko.projection.r2dbc.dialect=yugabyte ++${{ matrix.SCALA_VERSION }} test
test-mysql:
name: Run tests with MySQL
runs-on: ubuntu-latest
strategy:
matrix:
SCALA_VERSION: [ 2.12, 2.13, 3.3 ]
JAVA_VERSION: [ 11, 17, 21 ]
# only compiling on JDK 8, because certain tests depend on the higher timestamp precision added in JDK 9
include:
- JAVA_VERSION: 8
SCALA_VERSION: 2.12
COMPILE_ONLY: true
- JAVA_VERSION: 8
SCALA_VERSION: 2.13
COMPILE_ONLY: true
- JAVA_VERSION: 8
SCALA_VERSION: 3.3
COMPILE_ONLY: true
if: github.repository == 'apache/pekko-persistence-r2dbc'
steps:
- name: Checkout
uses: actions/checkout@v4
with:
fetch-depth: 0
fetch-tags: true
- name: Checkout GitHub merge
if: github.event.pull_request
run: |-
git fetch origin pull/${{ github.event.pull_request.number }}/merge:scratch
git checkout scratch
- name: Setup Java ${{ matrix.JAVA_VERSION }}
uses: actions/setup-java@v4
with:
distribution: temurin
java-version: ${{ matrix.JAVA_VERSION }}
- name: Install sbt
uses: sbt/setup-sbt@v1
- name: Cache Coursier cache
uses: coursier/cache-action@v6
- name: Enable jvm-opts
run: cp .jvmopts-ci .jvmopts
- name: Start DB
run: |-
docker compose -f docker/docker-compose-mysql.yml up -d --wait
docker exec -i docker-mysql-db-1 mysql -h 127.0.0.1 --user=root --password=root --database=mysql < ddl-scripts/create_tables_mysql.sql
- name: test
run: sbt -Dpekko.persistence.r2dbc.dialect=mysql ++${{ matrix.SCALA_VERSION }} ${{ matrix.COMPILE_ONLY && 'Test/compile' || 'test' }}
test-docs:
name: Docs
runs-on: ubuntu-latest
if: github.repository == 'apache/pekko-persistence-r2dbc'
steps:
- name: Checkout
uses: actions/checkout@v4
with:
fetch-depth: 0
fetch-tags: true
- name: Checkout GitHub merge
if: github.event.pull_request
run: |-
git fetch origin pull/${{ github.event.pull_request.number }}/merge:scratch
git checkout scratch
- name: Set up JDK 11
uses: actions/setup-java@v4
with:
distribution: temurin
java-version: 11
- name: Install sbt
uses: sbt/setup-sbt@v1
- name: Cache Coursier cache
uses: coursier/cache-action@v6
- name: Enable jvm-opts
run: cp .jvmopts-ci .jvmopts
- name: Compile docs
run: |-
sbt docs/paradox