Bump org.apache.felix:maven-bundle-plugin from 5.1.9 to 6.0.0 #1578
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
# | |
# Copyright (c) 2021, 2024 Contributors to the Eclipse Foundation | |
# | |
# This program and the accompanying materials are made available under the | |
# terms of the Eclipse Public License v. 2.0 which is available at | |
# http://www.eclipse.org/legal/epl-2.0, | |
# or the Eclipse Distribution License v. 1.0 which is available at | |
# http://www.eclipse.org/org/documents/edl-v10.php. | |
# | |
# SPDX-License-Identifier: EPL-2.0 OR BSD-3-Clause | |
# | |
name: Eclipse OpenMQ CI | |
on: | |
pull_request: | |
jobs: | |
build: | |
name: Test on JDK ${{ matrix.java_version }} | |
runs-on: ubuntu-latest | |
strategy: | |
fail-fast: false | |
matrix: | |
java_version: [ 21 ] | |
steps: | |
- name: Checkout for build | |
uses: actions/checkout@v4 | |
- name: Set up JDK | |
uses: actions/setup-java@v4 | |
with: | |
distribution: 'zulu' | |
java-version: ${{ matrix.java_version }} | |
- name: Test Maven Build | |
run: ./mvnw --show-version --no-transfer-progress --activate-profiles staging --file mq/main install --define build.letter=g --define build.number=${GITHUB_REF_NAME}/${GITHUB_SHA}/${GITHUB_RUN_ID}.${GITHUB_RUN_NUMBER}.${GITHUB_RUN_ATTEMPT} | |
- name: Upload MQ Distribution | |
uses: actions/upload-artifact@v4 | |
with: | |
name: mq-distribution | |
retention-days: 1 | |
path: mq/dist/bundles/mq.zip | |
docs: | |
name: Build documentation | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout for build | |
uses: actions/checkout@v4 | |
- name: Set up JDK | |
uses: actions/setup-java@v4 | |
with: | |
distribution: 'temurin' | |
java-version: 21 | |
- name: Docs Maven Build | |
run: ./mvnw --show-version --no-transfer-progress --activate-profiles staging --file docs install | |
build-with-no-staging: | |
name: Build with no staging repository, using only central-released artifacts | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout for build | |
uses: actions/checkout@v4 | |
- name: Set up JDK | |
uses: actions/setup-java@v4 | |
with: | |
distribution: 'temurin' | |
java-version: 21 | |
- name: Build OpenMQ | |
run: | | |
./mvnw \ | |
--show-version \ | |
--no-transfer-progress \ | |
--file mq/main \ | |
--define skipTests \ | |
--define gpg.skip \ | |
--activate-profiles oss-release \ | |
install | |
smoke: | |
name: Smoke Tests ${{ matrix.mq_command }} @ Java ${{ matrix.java_version }} | |
needs: build | |
runs-on: ubuntu-latest | |
strategy: | |
matrix: | |
java_version: [ 21 ] | |
mq_command: [ | |
'imqadmin', | |
'imqbridgemgr', | |
'imqbrokerd', | |
'imqcmd', | |
'imqdbmgr', | |
'imqobjmgr', | |
'imqusermgr' | |
] | |
steps: | |
- name: Download MQ Distribution | |
uses: actions/download-artifact@v4 | |
with: | |
name: mq-distribution | |
- name: Unzip MQ Distribution | |
run: unzip -q mq.zip | |
- name: Set up JDK | |
uses: actions/setup-java@v4 | |
with: | |
distribution: 'zulu' | |
java-version: ${{ matrix.java_version }} | |
- name: Execute MQ Command | |
run: mq/bin/${{ matrix.mq_command}} -version | |
test-mqcrt-client: | |
name: Test MQCRT Library on ${{ matrix.os }}/JDK ${{ matrix.java_version }} | |
needs: smoke | |
runs-on: ${{ matrix.os }} | |
strategy: | |
matrix: | |
os: [ ubuntu-latest, macos-latest ] | |
java_version: [ 21 ] | |
steps: | |
- name: Set up JDK | |
uses: actions/setup-java@v4 | |
with: | |
distribution: 'zulu' | |
java-version: ${{ matrix.java_version }} | |
- name: Checkout for build | |
uses: actions/checkout@v4 | |
- name: Install required libraries (ubuntu) | |
if: ${{ matrix.os == 'ubuntu-latest' }} | |
run: sudo apt-get update && sudo apt-get install -y libnspr4-dev libnss3-dev | |
- name: Install required libraries (macos) | |
if: ${{ matrix.os == 'macos-latest' }} | |
run: brew update && brew install nspr nss | |
- name: Build mqcrt library (ubuntu) | |
if: ${{ matrix.os == 'ubuntu-latest' }} | |
run: | | |
ant -f mq/main/packager-opensource buildcclient -Dbuild.debug=true | |
ln mq/binary/linux/debug/obj/cclient/libmqcrt.so.* mq/binary/linux/debug/obj/cclient/libmqcrt.so | |
- name: Build mqcrt library (macos) | |
if: ${{ matrix.os == 'macos-latest' }} | |
run: | | |
ant -f mq/main/packager-opensource buildcclient \ | |
-Dnsprhome.opt.mac=/opt/homebrew \ | |
-Dnsshome.opt.mac=/opt/homebrew \ | |
-Dmqcrt.linkdirs.opt.mac=-L/opt/homebrew/lib | |
cp mq/binary/mac/opt/obj/cclient/libmqcrt.dylib . | |
- name: Build Producer and Consumer (ubuntu) | |
if: ${{ matrix.os == 'ubuntu-latest' }} | |
run: | | |
for B in Producer Consumer | |
do | |
g++ -L mq/binary/linux/debug/obj/cclient \ | |
-I mq/src/share/cclient/cshim \ | |
mq/src/share/cclient/examples/C/producer_consumer/${B}.c \ | |
-o ${B} \ | |
-lmqcrt -lnspr4 -lssl3 | |
done | |
- name: Build Producer and Consumer (macos) | |
if: ${{ matrix.os == 'macos-latest' }} | |
run: | | |
for B in Producer Consumer | |
do | |
c++ -L mq/binary/mac/opt/obj/cclient \ | |
-I mq/src/share/cclient/cshim \ | |
mq/src/share/cclient/examples/C/producer_consumer/${B}.c \ | |
-o ${B} \ | |
-lmqcrt | |
done | |
- name: Download MQ Distribution | |
uses: actions/download-artifact@v4 | |
with: | |
name: mq-distribution | |
- name: Unpack MQ Distribution | |
run: unzip -q -d mq/dist mq.zip | |
- name: Start MQ Broker Daemon (ubuntu) | |
if: ${{ matrix.os == 'ubuntu-latest' }} | |
timeout-minutes: 2 | |
run: | | |
nohup mq/dist/mq/bin/imqbrokerd -verbose > brokerd.log 2>&1 & | |
while [ true ] | |
do | |
grep "Broker .*:7676.*ready" brokerd.log && break | |
sleep 10s | |
done | |
- name: Start MQ Broker Daemon (macos) | |
if: ${{ matrix.os == 'macos-latest' }} | |
timeout-minutes: 2 | |
run: | | |
nohup mq/dist/mq/bin/imqbrokerd -verbose > brokerd.log 2>&1 & | |
while [ true ] | |
do | |
grep "Broker .*:7676.*ready" brokerd.log && break | |
sleep 10 | |
done | |
- name: Produce message (ubuntu) | |
if: ${{ matrix.os == 'ubuntu-latest' }} | |
run: | | |
echo "OpenMQ Test message from workflow" | \ | |
LD_LIBRARY_PATH=mq/binary/linux/debug/obj/cclient ./Producer -t queue | |
- name: Produce message (macos) | |
if: ${{ matrix.os == 'macos-latest' }} | |
run: | | |
echo "OpenMQ Test message from workflow" | ./Producer -t queue | |
- name: Consume message (ubuntu) | |
if: ${{ matrix.os == 'ubuntu-latest' }} | |
timeout-minutes: 1 | |
run: | | |
LD_LIBRARY_PATH=mq/binary/linux/debug/obj/cclient ./Consumer -t queue | \ | |
tee consumer.log | |
- name: Consume message (macos) | |
if: ${{ matrix.os == 'macos-latest' }} | |
timeout-minutes: 1 | |
run: | | |
./Consumer -t queue | tee consumer.log | |
- name: Verify consumed message | |
run: grep "OpenMQ Test message from workflow" consumer.log | |
- name: Upload logs on failure | |
uses: actions/upload-artifact@v4 | |
if: failure() | |
with: | |
name: test-mqcrt-client-brokerd-log-${{ matrix.java_version }}-${{ matrix.os }} | |
path: brokerd.log |