Nightly Builds #831
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-22.04 | |
if: github.repository == 'apache/pekko' | |
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: 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: sbt cluster-metrics/test | |
env: | |
DEVELOCITY_ACCESS_KEY: ${{ secrets.GE_ACCESS_TOKEN }} | |
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 | |
pekko-classic-remoting-tests: | |
name: Pekko Classic Remoting Tests | |
runs-on: ubuntu-22.04 | |
if: github.repository == 'apache/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@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: sbt ${{ matrix.command }} | |
env: | |
DEVELOCITY_ACCESS_KEY: ${{ secrets.GE_ACCESS_TOKEN }} | |
# 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 }} | |
jdk-nightly-build: | |
name: JDK ${{ matrix.javaVersion }} / Scala ${{ matrix.scalaVersion }} | |
runs-on: ubuntu-22.04 | |
if: github.repository == 'apache/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.x", "2.13.x", "3.3.x"] | |
javaVersion: [8, 11, 17, 21] | |
env: | |
DEVELOCITY_ACCESS_KEY: ${{ secrets.GE_ACCESS_TOKEN }} | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v4 | |
with: | |
fetch-depth: 0 | |
fetch-tags: true | |
- name: Setup Java ${{ matrix.javaVersion }} | |
uses: actions/setup-java@v4 | |
with: | |
distribution: temurin | |
java-version: ${{ matrix.javaVersion }} | |
- 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: Check if the dependency task in the built correctly | |
run: sbt dependWalkerCheck | |
- 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 | |
# genjavadoc does not support Scala 3.x | |
sbt \ | |
-Dpekko.genjavadoc.enabled=${{ !startsWith(matrix.scalaVersion, '3') }} \ | |
"++ ${{ 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" | |
- name: Install scala-cli | |
if: ${{ matrix.javaVersion == 11 }} | |
run: |- | |
curl -sS "https://virtuslab.github.io/scala-cli-packages/KEY.gpg" | sudo gpg --dearmor -o /etc/apt/trusted.gpg.d/scala-cli.gpg 2>/dev/null | |
sudo curl -s --compressed -o /etc/apt/sources.list.d/scala_cli_packages.list "https://virtuslab.github.io/scala-cli-packages/debian/scala_cli_packages.list" | |
sudo apt update | |
sudo apt install scala-cli | |
- name: Use Scala-CLI to verify jdk 9 classes | |
if: ${{ matrix.javaVersion == 11 }} | |
run: |- | |
chmod +x .github/workflows/verify-jdk9-classes.sh | |
.github/workflows/verify-jdk9-classes.sh |