add 1.1 builds (#1630)

This commit is contained in:
PJ Fanning 2024-12-28 11:54:29 +01:00 committed by GitHub
parent 8473abe00d
commit bfa37ffcf4
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
3 changed files with 236 additions and 0 deletions

162
.github/workflows/nightly-1.1-builds.yml vendored Normal file
View file

@ -0,0 +1,162 @@
# 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: Nightly Builds (1.1)
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
ref: 1.1.x
- 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
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
ref: 1.0.x
- 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]
steps:
- name: Checkout
uses: actions/checkout@v4
with:
fetch-depth: 0
fetch-tags: true
ref: 1.0.x
- 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: Compile and Test
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 \
-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

View file

@ -37,6 +37,7 @@ jobs:
with:
fetch-depth: 0
fetch-tags: true
ref: 1.1.x
- name: Setup Java 11
uses: actions/setup-java@v4

View file

@ -0,0 +1,73 @@
# Licensed to the Apache Software Foundation (ASF) under one
# or more contributor license agreements. See the NOTICE file
# distributed with this work for additional information
# regarding copyright ownership. The ASF licenses this file
# to you under the Apache License, Version 2.0 (the
# "License"); you may not use this file except in compliance
# with the License. You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing,
# software distributed under the License is distributed on an
# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
# KIND, either express or implied. See the License for the
# specific language governing permissions and limitations
# under the License.
# Based on Apache Arrow's java-nightly workflow
# https://github.com/apache/arrow/blob/master/.github/workflows/java_nightly.yml
name: Publish nightly 1.1 snapshots
on:
workflow_dispatch:
schedule:
- cron: "0 0 * * *"
permissions:
contents: read
jobs:
publish-nightly:
name: Publish 1.1 nightly
runs-on: ubuntu-22.04
if: github.repository == 'apache/pekko'
env:
DEVELOCITY_ACCESS_KEY: ${{ secrets.GE_ACCESS_TOKEN }}
steps:
- name: Checkout
uses: actions/checkout@v4
with:
fetch-depth: 0
fetch-tags: true
ref: 1.1.x
- 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: Install Graphviz
run: |-
sudo apt-get install graphviz
- name: Report MIMA incompatibility issues
run: |-
sbt +mimaReportBinaryIssues
- name: Publish to Apache Maven repo
env:
NEXUS_USER: ${{ secrets.NEXUS_USER }}
NEXUS_PW: ${{ secrets.NEXUS_PW }}
run: sbt +publish
- name: Build Documentation
run: |-
sbt -Dpekko.genjavadoc.enabled=true -Dpekko.genlicensereport.enabled=true docs/paradox unidoc