Nightly Builds #70
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: Nightly Builds | |
on: | |
schedule: | |
- cron: "0 0 * * *" | |
workflow_dispatch: | |
permissions: | |
contents: read | |
# scacap/action-surefire-report (see https://github.com/ScaCap/action-surefire-report/pull/88/files) | |
checks: write | |
pull-requests: write | |
jobs: | |
akka-cluster-metrics-sigar: | |
name: Akka Cluster Metrics Test with Sigar | |
runs-on: ubuntu-22.04 | |
if: github.repository == 'akka/akka' | |
steps: | |
- name: Checkout | |
uses: actions/[email protected] | |
with: | |
fetch-depth: 0 | |
- name: Cache Coursier cache | |
uses: coursier/[email protected] | |
- name: Set up JDK 11 | |
uses: coursier/[email protected] | |
with: | |
jvm: temurin:1.11 | |
- name: sbt akka-cluster-metrics/test | |
run: |- | |
cp .jvmopts-ci .jvmopts | |
sbt \ | |
-Djava.security.egd=file:/dev/./urandom \ | |
-Dakka.test.sigar=true \ | |
-Dakka.cluster.assert=on \ | |
-Dakka.test.timefactor=2 \ | |
-Dakka.actor.testkit.typed.timefactor=2 \ | |
-Dakka.test.tags.exclude=gh-exclude,timing \ | |
-Dakka.log.timestamps=true \ | |
-Dmultinode.XX:MetaspaceSize=128M \ | |
-Dmultinode.Xms256M \ | |
-Dmultinode.Xmx256M \ | |
-Dmultinode.Xlog:gc \ | |
-Dmultinode.XX:+AlwaysActAsServerClassMachine \ | |
clean akka-cluster-metrics/test | |
- name: Test Reports | |
# Makes it easier to spot failures instead of looking at the logs. | |
if: ${{ failure() }} | |
# https://github.com/ScaCap/action-surefire-report/releases/ | |
# v1.0.13 | |
uses: scacap/action-surefire-report@482f012643ed0560e23ef605a79e8e87ca081648 | |
with: | |
report_paths: '**/target/test-reports/TEST-*.xml' | |
fail_if_no_tests: false | |
skip_publishing: true | |
- name: Email on failure | |
if: ${{ failure() }} | |
uses: dawidd6/action-send-mail@6063705cefe50cb915fc53bb06d4049cae2953b2 | |
with: | |
server_address: smtp.gmail.com | |
server_port: 465 | |
username: ${{secrets.MAIL_USERNAME}} | |
password: ${{secrets.MAIL_PASSWORD}} | |
subject: "Failed: ${{ github.workflow }} / ${{ github.job }}" | |
to: ${{secrets.MAIL_SEND_TO}} | |
from: Akka CI | |
body: | | |
Job ${{ github.job }} in workflow ${{ github.workflow }} of ${{github.repository}} failed! | |
https://github.com/${{github.repository}}/actions/runs/${{github.run_id}} | |
jdk-nightly-build: | |
name: JDK ${{ matrix.jdkVersion }} / Scala ${{ matrix.scalaVersion }} | |
runs-on: ubuntu-22.04 | |
if: github.repository == 'akka/akka' | |
strategy: | |
fail-fast: false | |
matrix: | |
include: | |
# leaving out some combinations (note that `build-test-prValidations.yml` doesn't run all test | |
- { scalaVersion: "2.13", jdkVersion: "1.11.0", jvmName: "temurin:1.11.0", extraOpts: '' } | |
- { scalaVersion: "2.13", jdkVersion: "1.17.0", jvmName: "temurin:1.17.0", extraOpts: '' } | |
# { scalaVersion: "3.3", jdkVersion: "1.11.0", jvmName: "temurin:1.11.0", extraOpts: '' } | |
- { scalaVersion: "3.3", jdkVersion: "1.17.0", jvmName: "temurin:1.17.0", extraOpts: '' } | |
steps: | |
- name: Checkout | |
uses: actions/[email protected] | |
with: | |
fetch-depth: 0 | |
- name: Cache Coursier cache | |
uses: coursier/[email protected] | |
- name: Set up JDK ${{ matrix.jdkVersion }} | |
uses: coursier/[email protected] | |
with: | |
jvm: ${{ matrix.jvmName }} | |
- name: Compile and Test | |
# note that this is not running any multi-jvm tests because multi-in-test=false | |
run: |- | |
cp .jvmopts-ci .jvmopts | |
sbt \ | |
-Dakka.cluster.assert=on \ | |
-Dakka.log.timestamps=true \ | |
-Dakka.test.timefactor=2 \ | |
-Dakka.actor.testkit.typed.timefactor=2 \ | |
-Dakka.test.tags.exclude=gh-exclude,timing \ | |
-Dakka.test.multi-in-test=false \ | |
${{ matrix.extraOpts }} \ | |
clean "+~ ${{ matrix.scalaVersion }} test" checkTestsHaveRun | |
- name: Test Reports | |
# Makes it easier to spot failures instead of looking at the logs. | |
if: ${{ failure() }} | |
# https://github.com/ScaCap/action-surefire-report/releases/ | |
# v1.0.13 | |
uses: scacap/action-surefire-report@482f012643ed0560e23ef605a79e8e87ca081648 | |
with: | |
report_paths: '**/target/test-reports/TEST-*.xml' | |
fail_if_no_tests: false | |
# Archive test results so we can do some diagnostics later | |
- name: Upload test results | |
uses: actions/[email protected] | |
if: success() || failure() # run this step even if previous step failed | |
with: | |
name: 'test-results-${{ matrix.jdkVersion }}-${{ matrix.scalaVersion }}' | |
path: '**/target/test-reports/TEST-*.xml' | |
- name: Docs | |
# Docs generation requires JDK 11. Checks with `startsWith` helps | |
# the check to be more resilient if the JDK version changes to a | |
# more specific one such as [email protected]. | |
if: ${{ startsWith(matrix.jdkVersion, '1.11') }} | |
run: |- | |
sudo apt-get install graphviz | |
cp .jvmopts-ci .jvmopts | |
sbt \ | |
-Dakka.genjavadoc.enabled=true \ | |
"+~ ${{ matrix.scalaVersion }} doc" | |
- name: Publish | |
# Publish (osgi bundle) not working with JDK 17, issue #31132 | |
if: ${{ startsWith(matrix.jdkVersion, '1.11') }} | |
run: |- | |
sudo apt-get install graphviz | |
cp .jvmopts-ci .jvmopts | |
sbt \ | |
-Dakka.build.scalaVersion=${{ matrix.scalaVersion }} \ | |
"+~ ${{ matrix.scalaVersion }} publishLocal publishM2" | |
- name: Email on failure | |
if: ${{ failure() }} | |
uses: dawidd6/action-send-mail@6063705cefe50cb915fc53bb06d4049cae2953b2 | |
with: | |
server_address: smtp.gmail.com | |
server_port: 465 | |
username: ${{secrets.MAIL_USERNAME}} | |
password: ${{secrets.MAIL_PASSWORD}} | |
subject: "Failed: ${{ github.workflow }} / ${{ github.job }}" | |
to: ${{secrets.MAIL_SEND_TO}} | |
from: Akka CI | |
body: | | |
Job ${{ github.job }} in workflow ${{ github.workflow }} of ${{github.repository}} failed! | |
https://github.com/${{github.repository}}/actions/runs/${{github.run_id}} | |
akka-artery-aeron-tests: | |
name: Akka Artery Aeron Tests | |
runs-on: ubuntu-22.04 | |
if: github.repository == 'akka/akka' | |
strategy: | |
fail-fast: false | |
matrix: | |
command: | |
- akka-remote/test akka-remote-tests/test | |
- akka-cluster/test akka-cluster-typed/test | |
steps: | |
- name: Checkout | |
uses: actions/[email protected] | |
with: | |
# we don't know what commit the last tag was it's safer to get entire repo so previousStableVersion resolves | |
fetch-depth: 0 | |
- name: Cache Coursier cache | |
uses: coursier/[email protected] | |
- name: Set up JDK 11 | |
uses: coursier/[email protected] | |
with: | |
jvm: temurin:1.11 | |
- name: sbt ${{ matrix.command }} | |
# note that this is not running any multi-jvm tests because multi-in-test=false | |
run: |- | |
cp .jvmopts-ci .jvmopts | |
sbt \ | |
-Djava.security.egd=file:/dev/./urandom \ | |
-Dakka.remote.artery.transport=aeron-udp \ | |
-Dakka.test.timefactor=2 \ | |
-Dakka.actor.testkit.typed.timefactor=2 \ | |
-Dakka.test.tags.exclude=gh-exclude,gh-exclude-aeron,timing \ | |
-Dakka.test.multi-in-test=false \ | |
-Dakka.cluster.assert=on \ | |
-Daeron.dir=/opt/volumes/media-driver \ | |
-Daeron.term.buffer.length=33554432 \ | |
clean ${{ matrix.command }} | |
- name: Email on failure | |
if: ${{ failure() }} | |
uses: dawidd6/action-send-mail@6063705cefe50cb915fc53bb06d4049cae2953b2 | |
with: | |
server_address: smtp.gmail.com | |
server_port: 465 | |
username: ${{secrets.MAIL_USERNAME}} | |
password: ${{secrets.MAIL_PASSWORD}} | |
subject: "Failed: ${{ github.workflow }} / ${{ github.job }}" | |
to: ${{secrets.MAIL_SEND_TO}} | |
from: Akka CI | |
body: | | |
Job ${{ github.job }} in workflow ${{ github.workflow }} of ${{github.repository}} failed! | |
https://github.com/${{github.repository}}/actions/runs/${{github.run_id}} | |