pekko/.github/workflows/nightly-builds.yml
dependabot[bot] 261fe397a9
chore(deps): bump VirtusLab/scala-cli-setup from 1.7.1 to 1.8.0 (#1844)
Bumps [VirtusLab/scala-cli-setup](https://github.com/virtuslab/scala-cli-setup) from 1.7.1 to 1.8.0.
- [Release notes](https://github.com/virtuslab/scala-cli-setup/releases)
- [Commits](6fc878be89...ca54569bf1)

---
updated-dependencies:
- dependency-name: VirtusLab/scala-cli-setup
  dependency-version: 1.8.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-05-12 11:13:20 +08:00

191 lines
6.2 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-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.DEVELOCITY_ACCESS_KEY }}
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 \
-Dio.netty.leakDetection.level=PARANOID \
-Dmultinode.XX:MetaspaceSize=128M \
-Dmultinode.Xms256M \
-Dmultinode.Xmx256M \
-Dmultinode.Xlog:gc \
-Dmultinode.XX:+AlwaysActAsServerClassMachine \
clean cluster-metrics/test
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.DEVELOCITY_ACCESS_KEY }}
# 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 \
-Dio.netty.leakDetection.level=PARANOID \
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.DEVELOCITY_ACCESS_KEY }}
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 \
-Dio.netty.leakDetection.level=PARANOID \
clean "++ ${{ matrix.scalaVersion }} test" checkTestsHaveRun
- 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 }}
uses: VirtusLab/scala-cli-setup@ca54569bf13a29cd648721038a89c47c7921c060 # v1.8.0
# 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