blob: a943b1414265586734e173c1f70b91caa9e39b63 [file] [log] [blame]
#
# 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.
#
name: "Build"
on: [push, pull_request, workflow_dispatch]
jobs:
build:
runs-on: ubuntu-20.04
strategy:
fail-fast: false
matrix:
java: [ 11, 17, 21 ]
steps:
- uses: actions/checkout@v4
- uses: actions/cache@v4
with:
path: ~/.m2/repository
key: ${{ runner.os }}-maven-${{ hashFiles('**/pom.xml') }}
restore-keys: |
${{ runner.os }}-maven-
- name: Install JDK ${{ matrix.java }}
uses: actions/setup-java@v4
with:
java-version: ${{ matrix.java }}
distribution: 'temurin'
- name: Licence Check
run: mvn -Papache-release,dependency-check clean apache-rat:check verify -DskipTests -Dgpg.skip -Denforcer.skip=true -Dmaven.javadoc.skip=true
- name: Archive rat.txt On Failure
if: failure()
run: tar -czvf licence-check-${{ matrix.java }}.tar.gz **/target/rat.txt
- name: Install
run: mvn clean install -DskipTests=true
- name: Unit Tests
run: mvn test
- name: Integration Tests
run: mvn verify -pl systests/protocol-tests-amqp-0-8,systests/protocol-tests-amqp-0-10,systests/protocol-tests-amqp-1-0,systests/qpid-systests-jms_1.1,systests/qpid-systests-jms_2.0,systests/qpid-systests-http-management -DskipTests=false -DskipITs=false
- name: Archive Test Logs On Failure
if: failure()
run: tar -czvf surefire-reports-jdk-${{ matrix.java }}.tar.gz **/target/surefire-reports/*
- name: Upload Test Logs On Failure
if: failure()
uses: actions/upload-artifact@v3
with:
name: surefire-reports-jdk-${{ matrix.java }}
path: surefire-reports-jdk-${{ matrix.java }}.tar.gz
- name: Clean Up Before Caching
run: rm -rf ~/.m2/repository/org/apache/qpid