202 lines
6.3 KiB
YAML
202 lines
6.3 KiB
YAML
# Licensed to the Apache Software Foundation (ASF) under one or more
|
|
# license agreements; and to You under the Apache License, version 2.0:
|
|
#
|
|
# https://www.apache.org/licenses/LICENSE-2.0
|
|
#
|
|
# This file is part of the Apache Pekko project, which was derived from Akka.
|
|
#
|
|
|
|
name: Pull Requests
|
|
|
|
on:
|
|
pull_request:
|
|
|
|
permissions: {}
|
|
|
|
concurrency:
|
|
# Only run once for latest commit per ref and cancel other (previous) runs.
|
|
group: ci-${{ github.ref }}
|
|
cancel-in-progress: true
|
|
|
|
jobs:
|
|
check-code-style:
|
|
name: Check / Code Style
|
|
runs-on: ubuntu-22.04
|
|
env:
|
|
DEVELOCITY_ACCESS_KEY: ${{ secrets.DEVELOCITY_ACCESS_KEY }}
|
|
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: Cache Coursier cache
|
|
uses: coursier/cache-action@4e2615869d13561d626ed48655e1a39e5b192b3c # v6.4.7
|
|
|
|
- name: Setup Java 17
|
|
uses: actions/setup-java@v4
|
|
with:
|
|
distribution: temurin
|
|
java-version: 17
|
|
|
|
- name: Install sbt
|
|
uses: sbt/setup-sbt@234370af1319038bf8dc432f8a7e4b83078a1781 # v1.1.11
|
|
|
|
- name: Code style check
|
|
run: |-
|
|
cp .jvmopts-ci .jvmopts
|
|
sbt \
|
|
-Dsbt.override.build.repos=false \
|
|
-Dsbt.log.noformat=false \
|
|
javafmtCheckAll
|
|
pull-request-validation:
|
|
name: Check / Tests
|
|
runs-on: ubuntu-22.04
|
|
env:
|
|
DEVELOCITY_ACCESS_KEY: ${{ secrets.DEVELOCITY_ACCESS_KEY }}
|
|
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: 0
|
|
|
|
- name: Setup Java 17
|
|
uses: actions/setup-java@v4
|
|
with:
|
|
distribution: temurin
|
|
java-version: 17
|
|
|
|
- name: Install sbt
|
|
uses: sbt/setup-sbt@234370af1319038bf8dc432f8a7e4b83078a1781 # v1.1.11
|
|
|
|
- name: Cache Coursier cache
|
|
uses: coursier/cache-action@4e2615869d13561d626ed48655e1a39e5b192b3c # v6.4.7
|
|
|
|
- name: Enable jvm-opts
|
|
run: cp .jvmopts-ci .jvmopts
|
|
|
|
- name: sbt validateCompile
|
|
run: |-
|
|
sbt \
|
|
-Dpekko.mima.enabled=false \
|
|
-Dpekko.test.multi-in-test=false \
|
|
-Dpekko.test.timefactor=2 \
|
|
-Dpekko.actor.testkit.typed.timefactor=2 \
|
|
-Dpekko.test.tags.exclude=gh-exclude,timing \
|
|
-Dpekko.cluster.assert=on \
|
|
-Dsbt.override.build.repos=false \
|
|
-Dpekko.test.multi-node=false \
|
|
-Dsbt.log.noformat=false \
|
|
-Dpekko.log.timestamps=true \
|
|
validateCompile
|
|
|
|
- name: sbt validatePullRequest
|
|
run: |-
|
|
sbt \
|
|
-Dpekko.mima.enabled=false \
|
|
-Dpekko.test.multi-in-test=false \
|
|
-Dpekko.test.timefactor=2 \
|
|
-Dpekko.actor.testkit.typed.timefactor=2 \
|
|
-Dpekko.test.tags.exclude=gh-exclude,timing \
|
|
-Dpekko.cluster.assert=on \
|
|
-Dsbt.override.build.repos=false \
|
|
-Dpekko.test.multi-node=false \
|
|
-Dsbt.log.noformat=false \
|
|
-Dpekko.log.timestamps=true \
|
|
-Dio.netty.leakDetection.level=PARANOID \
|
|
validatePullRequest
|
|
|
|
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
|
|
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 17
|
|
uses: actions/setup-java@v4
|
|
with:
|
|
distribution: temurin
|
|
java-version: 17
|
|
|
|
- name: Install sbt
|
|
uses: sbt/setup-sbt@234370af1319038bf8dc432f8a7e4b83078a1781 # v1.1.11
|
|
|
|
- name: Cache Coursier cache
|
|
uses: coursier/cache-action@4e2615869d13561d626ed48655e1a39e5b192b3c # v6.4.7
|
|
|
|
- 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 \
|
|
clean ${{ matrix.command }}
|
|
|
|
jdk-21-extra-tests:
|
|
name: Java 21 Extra Tests (including all tests that need Java 9+)
|
|
runs-on: ubuntu-22.04
|
|
env:
|
|
DEVELOCITY_ACCESS_KEY: ${{ secrets.DEVELOCITY_ACCESS_KEY }}
|
|
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: 0
|
|
|
|
- name: Setup Java 21
|
|
uses: actions/setup-java@v4
|
|
with:
|
|
distribution: temurin
|
|
java-version: 21
|
|
|
|
- name: Install sbt
|
|
uses: sbt/setup-sbt@234370af1319038bf8dc432f8a7e4b83078a1781 # v1.1.11
|
|
|
|
- name: Cache Coursier cache
|
|
uses: coursier/cache-action@4e2615869d13561d626ed48655e1a39e5b192b3c # v6.4.7
|
|
|
|
- name: Enable jvm-opts
|
|
run: cp .jvmopts-ci .jvmopts
|
|
|
|
- name: sbt TestJdk9/test
|
|
run: |-
|
|
sbt \
|
|
-Dpekko.mima.enabled=false \
|
|
-Dpekko.test.multi-in-test=false \
|
|
-Dpekko.test.timefactor=2 \
|
|
-Dpekko.actor.testkit.typed.timefactor=2 \
|
|
-Dpekko.test.tags.exclude=gh-exclude,timing \
|
|
-Dpekko.cluster.assert=on \
|
|
-Dsbt.override.build.repos=false \
|
|
-Dpekko.test.multi-node=false \
|
|
-Dsbt.log.noformat=false \
|
|
-Dpekko.log.timestamps=true \
|
|
-Dio.netty.leakDetection.level=PARANOID \
|
|
TestJdk9/test
|