diff --git a/.github/workflows/ci-quick.yml b/.github/workflows/ci-quick.yml new file mode 100644 index 00000000000..4cd613f988f --- /dev/null +++ b/.github/workflows/ci-quick.yml @@ -0,0 +1,101 @@ +# 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. + +# +# This is our most used build and the one used when a new PR is created/updated. It needs to +# be and remain as green as possible. It is also executed when a PR is actually merged to make sure +# apache/main stays stable. It runs a subset of the tests (the ones in the quick profile) to make sure it finishes +# in a reasonable time. +# +name: CI Quick + +on: + push: + branches: [ "main", "activemq-6.2.x", "activemq-5.19.x" ] + pull_request: + branches: [ "main", "activemq-6.2.x", "activemq-5.19.x" ] + +concurrency: + group: ${{ github.workflow }}-${{ github.ref }} + cancel-in-progress: true + +jobs: + build: + name: build + + permissions: + contents: read + + timeout-minutes: 60 + + strategy: + matrix: + os: [ ubuntu-24.04, macos-26, windows-2025 ] + java-version: [ 11 ] + + runs-on: ${{ matrix.os }} + + steps: + - uses: actions/checkout@v6 + - name: Set up JDK + uses: actions/setup-java@v5 + with: + java-version: ${{ matrix.java-version }} + distribution: temurin + cache: 'maven' + - name: Build + run: mvn -U -B -e clean install -DskipTests + - name: Verify + run: mvn apache-rat:check + + test: + name: test + needs: build + + permissions: + contents: read + checks: write + pull-requests: write + + timeout-minutes: 180 + + runs-on: ubuntu-24.04 + + steps: + - uses: actions/checkout@v6 + - name: Set up JDK + uses: actions/setup-java@v5 + with: + java-version: 11 + distribution: temurin + cache: 'maven' + - name: Test + run: mvn -B -e -fae verify -Pactivemq.tests-quick -Dsurefire.rerunFailingTestsCount=3 + - name: Upload Test Results + if: always() + uses: actions/upload-artifact@v7 + with: + name: test-results + path: '**/target/surefire-reports/*.xml' + - name: Publish Test Results + if: always() + uses: EnricoMi/publish-unit-test-result-action@v2 + with: + large_files: true + report_individual_runs: true + report_suite_logs: error + files: '**/target/surefire-reports/*.xml'