83 lines
3 KiB
YAML
83 lines
3 KiB
YAML
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
|
|
# 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 ${{ 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}}
|