Skip to content

Commit b972df6

Browse files
authored
create CI jobs to test and publish snapshots for 1.5.x (#2597)
* create CI jobs to test and publish snapshots for 1.5.x * Update binary-compatibility-checks.yml
1 parent 280e1ec commit b972df6

File tree

7 files changed

+251
-17
lines changed

7 files changed

+251
-17
lines changed

.github/workflows/binary-compatibility-checks.yml

Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -22,11 +22,7 @@ on:
2222
push:
2323
branches:
2424
- main
25-
- 1.0.x
26-
- 1.1.x
27-
- 1.2.x
28-
- 1.3.x
29-
- 1.4.x
25+
- 1.*
3026

3127
permissions: {}
3228

.github/workflows/nightly-1.3-builds.yml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,7 @@ jobs:
3737
uses: sbt/setup-sbt@3e125ece5c3e5248e18da9ed8d2cce3d335ec8dd # v1.1.14
3838

3939
- name: Cache Coursier cache
40-
uses: coursier/cache-action@bebeeb0e6f48ebad66d3783946588ecf43114433 # v6.4.8
40+
uses: coursier/cache-action@bebeeb0e6f48ebad66d3783946588ecf43114433 # v7.0.0
4141

4242
- name: Enable jvm-opts
4343
run: cp .jvmopts-ci .jvmopts
@@ -93,7 +93,7 @@ jobs:
9393
uses: sbt/setup-sbt@3e125ece5c3e5248e18da9ed8d2cce3d335ec8dd # v1.1.14
9494

9595
- name: Cache Coursier cache
96-
uses: coursier/cache-action@bebeeb0e6f48ebad66d3783946588ecf43114433 # v6.4.8
96+
uses: coursier/cache-action@bebeeb0e6f48ebad66d3783946588ecf43114433 # v7.0.0
9797

9898
- name: Enable jvm-opts
9999
run: cp .jvmopts-ci .jvmopts
@@ -148,7 +148,7 @@ jobs:
148148
uses: sbt/setup-sbt@3e125ece5c3e5248e18da9ed8d2cce3d335ec8dd # v1.1.14
149149

150150
- name: Cache Coursier cache
151-
uses: coursier/cache-action@bebeeb0e6f48ebad66d3783946588ecf43114433 # v6.4.8
151+
uses: coursier/cache-action@bebeeb0e6f48ebad66d3783946588ecf43114433 # v7.0.0
152152

153153
- name: Enable jvm-opts
154154
run: cp .jvmopts-ci .jvmopts

.github/workflows/nightly-1.4-builds.yml

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -9,8 +9,6 @@
99
name: Nightly Builds (1.4)
1010

1111
on:
12-
schedule:
13-
- cron: "0 0 * * *"
1412
workflow_dispatch:
1513

1614
permissions: {}
@@ -39,7 +37,7 @@ jobs:
3937
uses: sbt/setup-sbt@3e125ece5c3e5248e18da9ed8d2cce3d335ec8dd # v1.1.14
4038

4139
- name: Cache Coursier cache
42-
uses: coursier/cache-action@bebeeb0e6f48ebad66d3783946588ecf43114433 # v6.4.8
40+
uses: coursier/cache-action@bebeeb0e6f48ebad66d3783946588ecf43114433 # v7.0.0
4341

4442
- name: Enable jvm-opts
4543
run: cp .jvmopts-ci .jvmopts
@@ -95,7 +93,7 @@ jobs:
9593
uses: sbt/setup-sbt@3e125ece5c3e5248e18da9ed8d2cce3d335ec8dd # v1.1.14
9694

9795
- name: Cache Coursier cache
98-
uses: coursier/cache-action@bebeeb0e6f48ebad66d3783946588ecf43114433 # v6.4.8
96+
uses: coursier/cache-action@bebeeb0e6f48ebad66d3783946588ecf43114433 # v7.0.0
9997

10098
- name: Enable jvm-opts
10199
run: cp .jvmopts-ci .jvmopts
@@ -150,7 +148,7 @@ jobs:
150148
uses: sbt/setup-sbt@3e125ece5c3e5248e18da9ed8d2cce3d335ec8dd # v1.1.14
151149

152150
- name: Cache Coursier cache
153-
uses: coursier/cache-action@bebeeb0e6f48ebad66d3783946588ecf43114433 # v6.4.8
151+
uses: coursier/cache-action@bebeeb0e6f48ebad66d3783946588ecf43114433 # v7.0.0
154152

155153
- name: Enable jvm-opts
156154
run: cp .jvmopts-ci .jvmopts
Lines changed: 168 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,168 @@
1+
# Licensed to the Apache Software Foundation (ASF) under one or more
2+
# license agreements; and to You under the Apache License, version 2.0:
3+
#
4+
# https://www.apache.org/licenses/LICENSE-2.0
5+
#
6+
# This file is part of the Apache Pekko project, which was derived from Akka.
7+
#
8+
9+
name: Nightly Builds (1.5)
10+
11+
on:
12+
schedule:
13+
- cron: "0 0 * * *"
14+
workflow_dispatch:
15+
16+
permissions: {}
17+
18+
jobs:
19+
pekko-cluster-metrics-sigar:
20+
name: Pekko Cluster Metrics Test with Sigar
21+
runs-on: ubuntu-22.04
22+
if: github.repository == 'apache/pekko'
23+
steps:
24+
- name: Checkout
25+
uses: actions/[email protected]
26+
with:
27+
fetch-depth: 0
28+
fetch-tags: true
29+
persist-credentials: false
30+
ref: 1.5.x
31+
32+
- name: Setup Java 11
33+
uses: actions/setup-java@v5
34+
with:
35+
distribution: temurin
36+
java-version: 11
37+
38+
- name: Install sbt
39+
uses: sbt/setup-sbt@3e125ece5c3e5248e18da9ed8d2cce3d335ec8dd # v1.1.14
40+
41+
- name: Cache Coursier cache
42+
uses: coursier/cache-action@bebeeb0e6f48ebad66d3783946588ecf43114433 # v7.0.0
43+
44+
- name: Enable jvm-opts
45+
run: cp .jvmopts-ci .jvmopts
46+
47+
- name: sbt cluster-metrics/test
48+
env:
49+
DEVELOCITY_ACCESS_KEY: ${{ secrets.DEVELOCITY_ACCESS_KEY }}
50+
run: |-
51+
sbt \
52+
-Djava.security.egd=file:/dev/./urandom \
53+
-Dpekko.test.sigar=true \
54+
-Dpekko.cluster.assert=on \
55+
-Dpekko.test.timefactor=2 \
56+
-Dpekko.actor.testkit.typed.timefactor=2 \
57+
-Dpekko.test.tags.exclude=gh-exclude,timing \
58+
-Dpekko.log.timestamps=true \
59+
-Dio.netty.leakDetection.level=PARANOID \
60+
-Dmultinode.XX:MetaspaceSize=128M \
61+
-Dmultinode.Xms256M \
62+
-Dmultinode.Xmx256M \
63+
-Dmultinode.Xlog:gc \
64+
-Dmultinode.XX:+AlwaysActAsServerClassMachine \
65+
clean cluster-metrics/test
66+
67+
pekko-classic-remoting-tests:
68+
name: Pekko Classic Remoting Tests
69+
runs-on: ubuntu-22.04
70+
if: github.repository == 'apache/pekko'
71+
strategy:
72+
fail-fast: false
73+
matrix:
74+
command:
75+
- cluster/test distributed-data/test cluster-tools/test cluster-metrics/test
76+
- cluster-sharding/test
77+
- cluster-typed/test cluster-sharding-typed/test
78+
steps:
79+
- name: Checkout
80+
uses: actions/[email protected]
81+
with:
82+
# we don't know what commit the last tag was it's safer to get entire repo so previousStableVersion resolves
83+
fetch-depth: 0
84+
fetch-tags: true
85+
persist-credentials: false
86+
ref: 1.5.x
87+
88+
- name: Setup Java 11
89+
uses: actions/setup-java@v5
90+
with:
91+
distribution: temurin
92+
java-version: 11
93+
94+
- name: Install sbt
95+
uses: sbt/setup-sbt@3e125ece5c3e5248e18da9ed8d2cce3d335ec8dd # v1.1.14
96+
97+
- name: Cache Coursier cache
98+
uses: coursier/cache-action@bebeeb0e6f48ebad66d3783946588ecf43114433 # v7.0.0
99+
100+
- name: Enable jvm-opts
101+
run: cp .jvmopts-ci .jvmopts
102+
103+
- name: sbt ${{ matrix.command }}
104+
env:
105+
DEVELOCITY_ACCESS_KEY: ${{ secrets.DEVELOCITY_ACCESS_KEY }}
106+
# note that this is not running any multi-jvm tests because multi-in-test=false
107+
run: |-
108+
sbt \
109+
-Djava.security.egd=file:/dev/./urandom \
110+
-Dpekko.remote.artery.enabled=off \
111+
-Dpekko.test.timefactor=2 \
112+
-Dpekko.actor.testkit.typed.timefactor=2 \
113+
-Dpekko.test.tags.exclude=gh-exclude,timing \
114+
-Dpekko.test.multi-in-test=false \
115+
-Dio.netty.leakDetection.level=PARANOID \
116+
-Dpekko.cluster.assert=on \
117+
clean ${{ matrix.command }}
118+
119+
jdk-nightly-build:
120+
name: JDK ${{ matrix.javaVersion }} / Scala ${{ matrix.scalaVersion }}
121+
runs-on: ubuntu-22.04
122+
if: github.repository == 'apache/pekko'
123+
strategy:
124+
fail-fast: false
125+
matrix:
126+
# No need to specify the full Scala version. Only the Scala
127+
# binary version is required and Pekko build will set the right
128+
# full version from it.
129+
scalaVersion: ["2.12.x", "2.13.x", "3.3.x"]
130+
javaVersion: [8, 11, 17, 21, 25]
131+
steps:
132+
- name: Checkout
133+
uses: actions/[email protected]
134+
with:
135+
fetch-depth: 0
136+
fetch-tags: true
137+
persist-credentials: false
138+
ref: 1.5.x
139+
140+
- name: Setup Java ${{ matrix.javaVersion }}
141+
uses: actions/setup-java@v5
142+
with:
143+
distribution: temurin
144+
java-version: ${{ matrix.javaVersion }}
145+
146+
- name: Install sbt
147+
uses: sbt/setup-sbt@3e125ece5c3e5248e18da9ed8d2cce3d335ec8dd # v1.1.14
148+
149+
- name: Cache Coursier cache
150+
uses: coursier/cache-action@bebeeb0e6f48ebad66d3783946588ecf43114433 # v7.0.0
151+
152+
- name: Enable jvm-opts
153+
run: cp .jvmopts-ci .jvmopts
154+
155+
- name: Compile and Test
156+
env:
157+
DEVELOCITY_ACCESS_KEY: ${{ secrets.DEVELOCITY_ACCESS_KEY }}
158+
# note that this is not running any multi-jvm tests because multi-in-test=false
159+
run: |-
160+
sbt \
161+
-Dpekko.cluster.assert=on \
162+
-Dpekko.log.timestamps=true \
163+
-Dpekko.test.timefactor=2 \
164+
-Dpekko.actor.testkit.typed.timefactor=2 \
165+
-Dpekko.test.tags.exclude=gh-exclude,timing \
166+
-Dpekko.test.multi-in-test=false \
167+
-Dio.netty.leakDetection.level=PARANOID \
168+
clean "++ ${{ matrix.scalaVersion }} test" checkTestsHaveRun

.github/workflows/publish-1.3-nightly.yml

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -21,8 +21,6 @@ name: Publish nightly 1.3 snapshots
2121

2222
on:
2323
workflow_dispatch:
24-
schedule:
25-
- cron: "0 0 * * *"
2624

2725
permissions:
2826
contents: read
@@ -53,7 +51,7 @@ jobs:
5351
uses: sbt/setup-sbt@3e125ece5c3e5248e18da9ed8d2cce3d335ec8dd # v1.1.14
5452

5553
- name: Cache Coursier cache
56-
uses: coursier/cache-action@bebeeb0e6f48ebad66d3783946588ecf43114433 # v6.4.8
54+
uses: coursier/cache-action@bebeeb0e6f48ebad66d3783946588ecf43114433 # v7.0.0
5755

5856
- name: Install Graphviz
5957
run: |-

.github/workflows/publish-1.4-nightly.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -53,7 +53,7 @@ jobs:
5353
uses: sbt/setup-sbt@3e125ece5c3e5248e18da9ed8d2cce3d335ec8dd # v1.1.14
5454

5555
- name: Cache Coursier cache
56-
uses: coursier/cache-action@bebeeb0e6f48ebad66d3783946588ecf43114433 # v6.4.8
56+
uses: coursier/cache-action@bebeeb0e6f48ebad66d3783946588ecf43114433 # v7.0.0
5757

5858
- name: Install Graphviz
5959
run: |-
Lines changed: 74 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,74 @@
1+
# Licensed to the Apache Software Foundation (ASF) under one
2+
# or more contributor license agreements. See the NOTICE file
3+
# distributed with this work for additional information
4+
# regarding copyright ownership. The ASF licenses this file
5+
# to you under the Apache License, Version 2.0 (the
6+
# "License"); you may not use this file except in compliance
7+
# with the License. You may obtain a copy of the License at
8+
#
9+
# http://www.apache.org/licenses/LICENSE-2.0
10+
#
11+
# Unless required by applicable law or agreed to in writing,
12+
# software distributed under the License is distributed on an
13+
# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
14+
# KIND, either express or implied. See the License for the
15+
# specific language governing permissions and limitations
16+
# under the License.
17+
18+
# Based on Apache Arrow's java-nightly workflow
19+
# https://github.com/apache/arrow/blob/master/.github/workflows/java_nightly.yml
20+
name: Publish nightly 1.5 snapshots
21+
22+
on:
23+
workflow_dispatch:
24+
schedule:
25+
- cron: "0 0 * * *"
26+
27+
permissions:
28+
contents: read
29+
30+
jobs:
31+
publish-nightly:
32+
name: Publish 1.5 nightly
33+
runs-on: ubuntu-22.04
34+
if: github.repository == 'apache/pekko'
35+
env:
36+
DEVELOCITY_ACCESS_KEY: ${{ secrets.DEVELOCITY_ACCESS_KEY }}
37+
steps:
38+
- name: Checkout
39+
uses: actions/[email protected]
40+
with:
41+
fetch-depth: 0
42+
fetch-tags: true
43+
persist-credentials: false
44+
ref: 1.5.x
45+
46+
- name: Setup Java 11
47+
uses: actions/setup-java@v5
48+
with:
49+
distribution: temurin
50+
java-version: 11
51+
52+
- name: Install sbt
53+
uses: sbt/setup-sbt@3e125ece5c3e5248e18da9ed8d2cce3d335ec8dd # v1.1.14
54+
55+
- name: Cache Coursier cache
56+
uses: coursier/cache-action@bebeeb0e6f48ebad66d3783946588ecf43114433 # v7.0.0
57+
58+
- name: Install Graphviz
59+
run: |-
60+
sudo apt-get install graphviz
61+
62+
- name: Report MIMA incompatibility issues
63+
run: |-
64+
sbt +mimaReportBinaryIssues
65+
66+
- name: Publish to Apache Maven repo
67+
env:
68+
NEXUS_USER: ${{ secrets.NEXUS_USER }}
69+
NEXUS_PW: ${{ secrets.NEXUS_PW }}
70+
run: sbt -Dsbt.repository.publish.attempts=10 +publish
71+
72+
- name: Build Documentation
73+
run: |-
74+
sbt -Dpekko.genjavadoc.enabled=true docs/paradox unidoc

0 commit comments

Comments
 (0)