Nightly Builds #336
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: {} | |
jobs: | |
pekko-cluster-metrics-sigar: | |
name: Pekko Cluster Metrics Test with Sigar | |
runs-on: ubuntu-20.04 | |
if: github.repository == 'apache/incubator-pekko' | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v4 | |
with: | |
fetch-depth: 0 | |
fetch-tags: true | |
- name: Setup Java 11 | |
uses: actions/setup-java@v3 | |
with: | |
distribution: temurin | |
java-version: 11 | |
- name: Cache Coursier cache | |
uses: coursier/[email protected] | |
- name: Enable jvm-opts | |
run: cp .jvmopts-ci .jvmopts | |
- name: sbt cluster-metrics/test | |
run: |- | |
sbt \ | |
-Djava.security.egd=file:/dev/./urandom \ | |
-Dpekko.test.sigar=true \ | |
-Dpekko.cluster.assert=on \ | |
-Dpekko.test.timefactor=2 \ | |
-Dpekko.actor.testkit.typed.timefactor=2 \ | |
-Dpekko.test.tags.exclude=gh-exclude,timing \ | |
-Dpekko.log.timestamps=true \ | |
-Dmultinode.XX:MetaspaceSize=128M \ | |
-Dmultinode.Xms256M \ | |
-Dmultinode.Xmx256M \ | |
-Dmultinode.Xlog:gc \ | |
-Dmultinode.XX:+AlwaysActAsServerClassMachine \ | |
clean cluster-metrics/test | |
# comment out test report until an apache or GitHub published action (action-surefire-report) can be found or added allowlist from INFRA | |
# - name: Test Reports | |
# # Makes it easier to spot failures instead of looking at the logs. | |
# if: ${{ failure() }} | |
# uses: marcospereira/action-surefire-report@v1 | |
# with: | |
# report_paths: '**/target/test-reports/TEST-*.xml' | |
# fail_if_no_tests: false | |
# skip_publishing: true | |
# 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: [email protected] | |
# 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}} | |
pekko-classic-remoting-tests: | |
name: Pekko Classic Remoting Tests | |
runs-on: ubuntu-20.04 | |
if: github.repository == 'apache/incubator-pekko' | |
strategy: | |
fail-fast: false | |
matrix: | |
command: | |
- cluster/test distributed-data/test cluster-tools/test cluster-metrics/test | |
- cluster-sharding/test | |
- cluster-typed/test cluster-sharding-typed/test | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v4 | |
with: | |
# we don't know what commit the last tag was it's safer to get entire repo so previousStableVersion resolves | |
fetch-depth: 0 | |
fetch-tags: true | |
- name: Setup Java 11 | |
uses: actions/setup-java@v3 | |
with: | |
distribution: temurin | |
java-version: 11 | |
- name: Cache Coursier cache | |
uses: coursier/[email protected] | |
- name: Enable jvm-opts | |
run: cp .jvmopts-ci .jvmopts | |
- name: sbt ${{ matrix.command }} | |
# note that this is not running any multi-jvm tests because multi-in-test=false | |
run: |- | |
sbt \ | |
-Djava.security.egd=file:/dev/./urandom \ | |
-Dpekko.remote.artery.enabled=off \ | |
-Dpekko.test.timefactor=2 \ | |
-Dpekko.actor.testkit.typed.timefactor=2 \ | |
-Dpekko.test.tags.exclude=gh-exclude,timing \ | |
-Dpekko.test.multi-in-test=false \ | |
-Dpekko.cluster.assert=on \ | |
clean ${{ 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: [email protected] | |
# 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}} | |
jdk-nightly-build: | |
name: JDK ${{ matrix.javaVersion }} / Scala ${{ matrix.scalaVersion }} | |
runs-on: ubuntu-20.04 | |
if: github.repository == 'apache/incubator-pekko' | |
strategy: | |
fail-fast: false | |
matrix: | |
# No need to specify the full Scala version. Only the Scala | |
# binary version is required and Pekko build will set the right | |
# full version from it. | |
scalaVersion: ["2.12", "2.13"] | |
javaVersion: [8, 11, 17] | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v4 | |
with: | |
fetch-depth: 0 | |
fetch-tags: true | |
- name: Setup Java ${{ matrix.javaVersion }} | |
uses: actions/setup-java@v3 | |
with: | |
distribution: temurin | |
java-version: ${{ matrix.javaVersion }} | |
- name: Cache Coursier cache | |
uses: coursier/[email protected] | |
- name: Enable jvm-opts | |
run: cp .jvmopts-ci .jvmopts | |
- name: Compile and Test | |
# note that this is not running any multi-jvm tests because multi-in-test=false | |
run: |- | |
sbt \ | |
-Dpekko.cluster.assert=on \ | |
-Dpekko.log.timestamps=true \ | |
-Dpekko.test.timefactor=2 \ | |
-Dpekko.actor.testkit.typed.timefactor=2 \ | |
-Dpekko.test.tags.exclude=gh-exclude,timing \ | |
-Dpekko.test.multi-in-test=false \ | |
clean "+~ ${{ matrix.scalaVersion }} test" checkTestsHaveRun | |
# comment out test report until an apache or GitHub published action (action-surefire-report) can be found or added allowlist from INFRA | |
# - name: Test Reports | |
# # Makes it easier to spot failures instead of looking at the logs. | |
# if: ${{ failure() }} | |
# uses: marcospereira/action-surefire-report@v1 | |
# 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/upload-artifact@v2 | |
# if: success() || failure() # run this step even if previous step failed | |
# with: | |
# name: test-results-${{ matrix.javaVersion }}-${{ matrix.scalaVersion }} | |
# path: '**/target/test-reports/TEST-*.xml' | |
- name: Docs | |
# Docs generation requires JDK 11. | |
if: ${{ matrix.javaVersion == 11 }} | |
run: |- | |
sudo apt-get install graphviz | |
sbt \ | |
-Dpekko.genjavadoc.enabled=true \ | |
"+~ ${{ matrix.scalaVersion }} doc" | |
- name: Publish | |
# Publish (osgi bundle) not working with JDK 17, issue #31132 | |
if: ${{ matrix.javaVersion == 11 }} | |
run: |- | |
sudo apt-get install graphviz | |
sbt \ | |
-Dpekko.build.scalaVersion=${{ matrix.scalaVersion }} \ | |
"+~ ${{ matrix.scalaVersion }} publishLocal publishM2" | |
# 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: [email protected] | |
# 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}} |