198 lines
6.8 KiB
YAML
198 lines
6.8 KiB
YAML
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/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: Cache Coursier cache
|
|
uses: coursier/cache-action@v6
|
|
|
|
- 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
|
|
|
|
pekko-classic-remoting-tests:
|
|
name: Pekko Classic Remoting Tests
|
|
runs-on: ubuntu-20.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: Cache Coursier cache
|
|
uses: coursier/cache-action@v6
|
|
|
|
- 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 }}
|
|
|
|
jdk-nightly-build:
|
|
name: JDK ${{ matrix.javaVersion }} / Scala ${{ matrix.scalaVersion }}
|
|
runs-on: ubuntu-20.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", "2.13", "3.3"]
|
|
javaVersion: [8, 11, 17, 21]
|
|
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: 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
|
|
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"
|
|
|
|
- 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
|