Skip to content

Build and test Pekko with Scala 3 #570

Build and test Pekko with Scala 3

Build and test Pekko with Scala 3 #570

Workflow file for this run

name: Build and test Pekko with Scala 3
on:
schedule:
- cron: "0 0 * * *"
workflow_dispatch:
permissions: {}
concurrency:
# Only run once for latest commit per ref and cancel other (previous) runs.
group: ci-scala3-${{ github.ref }}
cancel-in-progress: true
jobs:
test:
name: Test
runs-on: ubuntu-20.04
if: github.repository == 'apache/pekko'
strategy:
matrix:
command:
- ;testkit/test;actor-tests/test
- ;actor-testkit-typed/test;actor-typed-tests/test
- ;bench-jmh/test
- ;cluster/test;cluster-tools/test;cluster-typed/test;distributed-data/test;cluster-metrics/test;cluster-sharding/test;cluster-sharding-typed/test
- ;discovery/test;coordination/test
- ;persistence/test;persistence-shared/test;persistence-query/test;persistence-typed/test;persistence-testkit/test;persistence-tck/test;persistence-typed-tests/test
- ;pki/test;slf4j/test
- ;serialization-jackson/test
- ;stream/test;stream-testkit/test;stream-tests/test;stream-typed/test;stream-typed-tests/test
- ;stream-tests-tck/test
- ;remote/test;remote-tests/test;protobuf-v3/test
fail-fast: true
steps:
- name: Checkout
uses: actions/checkout@v4
with:
fetch-depth: 0
fetch-tags: true
- name: Setup Java 11
uses: actions/setup-java@v4
with:
distribution: temurin
java-version: 11
- name: Cache Coursier cache
uses: coursier/cache-action@v6
- name: Enable jvm-opts
run: cp .jvmopts-ci .jvmopts
- name: Compile and run tests on Scala 3
env:
DEVELOCITY_ACCESS_KEY: ${{ secrets.GE_ACCESS_TOKEN }}
# note that this is not running any multi-jvm tests (yet) because multi-in-test=false
run: |
sbt \
-Dpekko.log.timestamps=true \
-Dpekko.test.timefactor=2 \
-Dpekko.actor.testkit.typed.timefactor=2 \
-Dpekko.test.multi-in-test=false \
-Dpekko.test.tags.exclude=gh-exclude,timing \
-Dmultinode.XX:MetaspaceSize=128M \
-Dmultinode.Xms256M \
-Dmultinode.Xmx256M \
-Dmultinode.XX:+AlwaysActAsServerClassMachine \
"++ 3.x ${{ matrix.command }}"
# comment out email actions until we have an email address to use (and we need to get INFRA to whitelist dawidd6/action-send-mail)
#- name: Email on failure
# if: ${{ failure() }}
# uses: dawidd6/action-send-mail@v3
# with:
# server_address: smtp.gmail.com
# server_port: 465
# username: ${{secrets.MAIL_USERNAME}}
# password: ${{secrets.MAIL_PASSWORD}}
# subject: "Failed: ${{ github.workflow }} / ${{ github.job }}"
# to: akka.official@gmail.com
# from: Akka CI (GHActions)
# body: |
# Job ${{ github.job }} in workflow ${{ github.workflow }} of ${{github.repository}} failed!
# https://github.com/${{github.repository}}/actions/runs/${{github.run_id}}