ARTEMIS-5037: option to limit mirror propagation #11137
Workflow file for this run
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: "Build" | |
on: | |
push: | |
pull_request: | |
workflow_dispatch: | |
inputs: | |
examplesRepo: | |
description: 'The examples repo to use' | |
required: true | |
default: 'apache/activemq-artemis-examples' | |
type: string | |
examplesRepoBranch: | |
description: 'Branch in examples repo' | |
required: true | |
default: 'development' | |
type: string | |
env: | |
EXAMPLES_REPO: ${{ inputs.examplesRepo || 'apache/activemq-artemis-examples' }} | |
EXAMPLES_BRANCH: ${{ inputs.examplesRepoBranch || 'development' }} | |
jobs: | |
test: | |
name: Test (${{ matrix.java }}) | |
runs-on: ubuntu-22.04 | |
strategy: | |
fail-fast: false | |
matrix: | |
java: [ 17, 21, 22 ] | |
steps: | |
- uses: actions/checkout@v4 | |
with: | |
path: activemq-artemis | |
- name: Cache Maven Local Repo | |
if: ${{ !startsWith(github.ref, 'refs/tags/') }} | |
uses: actions/cache@v4 | |
with: | |
path: | | |
~/.m2/repository/ | |
key: ${{ runner.os }}-mvn-${{ hashFiles('activemq-artemis/**/pom.xml') }} | |
restore-keys: | | |
${{ runner.os }}-mvn- | |
- name: Install JDK ${{ matrix.java }} | |
uses: actions/setup-java@v4 | |
with: | |
java-version: ${{ matrix.java }} | |
distribution: 'temurin' | |
# use 'install' so smoke-tests will work | |
# By setting anything to org.apache.activemq.artemis.core.io.aio.AIOSequentialFileFactory.DISABLED we are disabling libaio loading on the testsuite | |
- name: Fast Tests | |
run: | | |
cd activemq-artemis | |
mvn -s .github/maven-settings.xml -Dorg.apache.activemq.artemis.core.io.aio.AIOSequentialFileFactory.DISABLED=AnythingNotNull -Pfast-tests -Pcompatibility-tests install | |
- name: Clean Up Before Caching | |
run: | | |
rm -rf ~/.m2/repository/org/apache/activemq/tests | |
rm -rf ~/.m2/repository/org/apache/activemq/examples | |
if [ -d ~/.m2/repository/org/apache/activemq ]; then find ~/.m2/repository/org/apache/activemq -name "*-SNAPSHOT" -type d -prune -exec rm -r '{}' \; ; fi | |
- name: Archive Test Logs | |
if: failure() | |
uses: actions/upload-artifact@v4 | |
with: | |
name: surefire-reports-jdk-${{ matrix.java }} | |
path: activemq-artemis/**/target/surefire-reports/* | |
retention-days: 10 | |
checks: | |
name: Checks (${{ matrix.java }}) | |
runs-on: ubuntu-22.04 | |
strategy: | |
fail-fast: false | |
matrix: | |
java: [ 17, 21, 22 ] | |
steps: | |
- uses: actions/checkout@v4 | |
with: | |
path: activemq-artemis | |
- name: Cache Maven Local Repo | |
if: ${{ !startsWith(github.ref, 'refs/tags/') }} | |
uses: actions/cache@v4 | |
with: | |
path: | | |
~/.m2/repository/ | |
key: ${{ runner.os }}-mvn-${{ hashFiles('activemq-artemis/**/pom.xml') }} | |
restore-keys: | | |
${{ runner.os }}-mvn- | |
- name: Install JDK ${{ matrix.java }} | |
uses: actions/setup-java@v4 | |
with: | |
java-version: ${{ matrix.java }} | |
distribution: 'temurin' | |
- name: Checkout Artemis Examples Repo | |
uses: actions/checkout@v4 | |
with: | |
repository: ${{ env.EXAMPLES_REPO }} | |
ref: ${{ env.EXAMPLES_BRANCH }} | |
path: activemq-artemis-examples | |
- name: Build Main (JDK17 / -Prelease) | |
if: matrix.java == '17' | |
run: | | |
cd activemq-artemis | |
mvn -s .github/maven-settings.xml -DskipTests -Derrorprone -Pdev -Prelease -Dgpg.skip install | |
- name: Build Main (JDK >17) | |
if: matrix.java != '17' | |
run: | | |
cd activemq-artemis | |
mvn -s .github/maven-settings.xml -DskipTests -Derrorprone -Pdev -Pjmh install | |
- name: Set Examples Version to Artemis Version | |
run: | | |
cd activemq-artemis | |
CURRENT_ARTEMIS_BUILD_VERSION=$(mvn help:evaluate -Dexpression=project.version -q -DforceStdout) | |
echo "Current Artemis version: ${CURRENT_ARTEMIS_BUILD_VERSION}" | |
cd ../activemq-artemis-examples | |
./scripts/update-examples-version.sh ${CURRENT_ARTEMIS_BUILD_VERSION} | |
- name: Build Examples (JDK17 / -Prelease) | |
if: matrix.java == '17' | |
run: | | |
cd activemq-artemis-examples | |
mvn -s ../activemq-artemis/.github/maven-settings.xml install -Prelease | |
- name: Build Examples (JDK >17 / -Pexamples,noRun) | |
if: matrix.java != '17' | |
run: | | |
cd activemq-artemis-examples | |
mvn -s ../activemq-artemis/.github/maven-settings.xml install -Pexamples,noRun | |
- name: Javadoc Check (JDK17 / -Prelease) | |
if: matrix.java == '17' | |
run: | | |
cd activemq-artemis | |
mvn -s .github/maven-settings.xml javadoc:javadoc -Prelease -DskipWebsiteDocGeneration=true -DskipWebsiteJavadocGeneration=true | |
- name: Javadoc Check (JDK >17) | |
if: matrix.java != '17' | |
run: | | |
cd activemq-artemis | |
mvn -s .github/maven-settings.xml javadoc:javadoc | |
- name: Website Content Check (JDK17 only / -Prelease) | |
if: matrix.java == '17' | |
run: | | |
cd activemq-artemis | |
mvn -s .github/maven-settings.xml clean install -DskipTests -Prelease -am -pl "artemis-website" | |
- name: Clean Up Before Caching | |
run: | | |
rm -rf ~/.m2/repository/org/apache/activemq/tests | |
rm -rf ~/.m2/repository/org/apache/activemq/examples | |
if [ -d ~/.m2/repository/org/apache/activemq ]; then find ~/.m2/repository/org/apache/activemq -name "*-SNAPSHOT" -type d -prune -exec rm -r '{}' \; ; fi |