Skip to content

Merge pull request #18 from turing85/feature/fix-reporting #44

Merge pull request #18 from turing85/feature/fix-reporting

Merge pull request #18 from turing85/feature/fix-reporting #44

Workflow file for this run

# ---------------------------------------------------------------------------
# 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:
pull_request:
branches:
- main
paths-ignore:
- '**.adoc'
- '**.md'
- 'KEYS'
- 'LICENSE'
- 'NOTICE'
push:
branches:
- main
paths-ignore:
- '**.adoc'
- '**.md'
- 'KEYS'
- 'LICENSE'
- 'NOTICE'
env:
CITRUS_REMOTE_LOGS_ARTIFACT: will be read from .env file
JAR_ARTIFACT_NAME: will be read from .env file
JAVA_DISTRIBUTION: will be read from .env file
JAVA_VERSION: will be read from .env file
PR_NUMBER_ARTIFACT_NAME: will be read from .env file
TEST_REPORTS_ARTIFACT_NAME: will be read from .env file
permissions:
actions: write
checks: write
pull-requests: write
jobs:
build:
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v4
- name: Setup environment variables
uses: ./.github/actions/setup-env
- name: Set up JDK ${{ env.JAVA_DISTRIBUTION}} ${{ env.JAVA_VERSION }}
uses: actions/setup-java@v4
with:
cache: 'maven'
distribution: ${{ env.JAVA_DISTRIBUTION }}
java-version: ${{ env.JAVA_VERSION }}
- name: Info
run: |
java -version
./mvnw -version
docker --version
- name: Build
run: |
./mvnw \
--activate-profiles docker,skip-docker-stop \
--batch-mode \
--no-transfer-progress \
verify
- name: Print Citrus remote Logs
if: ${{ always() }}
run: |
if [[ -f citrus-remote-sample/target/container-logs/citrus.log ]]
then
cat citrus-remote-sample/target/container-logs/citrus.log
else
echo "(log file 'citrus-remote-sample/target/container-logs/citrus.log' not found)"
fi
- name: Upload JARs
uses: actions/upload-artifact@v4
if: ${{ always() }}
with:
if-no-files-found: error
name: ${{ env.JAR_ARTIFACT_NAME }}
path: |
**/*.jar
retention-days: 2
- name: Upload test report
uses: actions/upload-artifact@v4
if: ${{ always() }}
with:
if-no-files-found: error
name: ${{ env.TEST_REPORTS_ARTIFACT_NAME }}
path: |
**/target/failsafe-reports/TEST*.xml
**/target/citrus-remote/junitreports/TEST*.xml
retention-days: 2
- name: Upload Citrus remote logs
uses: actions/upload-artifact@v4
if: ${{ always() }}
with:
if-no-files-found: error
name: ${{ env.CITRUS_REMOTE_LOGS_ARTIFACT }}
path: citrus-remote-sample/target/container-logs/citrus.log
retention-days: 2
- name: Get PR number
id: get-pr-number
if: ${{ always() && github.event_name == 'pull_request' }}
run: |
echo "${{ github.event.number }}" > "pr-number.txt"
- name: Upload PR number
uses: actions/upload-artifact@v4
if: ${{ always() && github.event_name == 'pull_request' }}
with:
name: ${{ env.PR_NUMBER_ARTIFACT_NAME }}
path: pr-number.txt