Skip to content

Build Chain

Build Chain #3445

Workflow file for this run

# Tests PRs on multiple operating systems and Java versions
name: Build Chain
on:
pull_request:
types: [opened, synchronize, reopened, labeled]
branches:
- main
- 8.*
- 9.*
paths-ignore:
- 'LICENSE*'
- '.gitignore'
- '**.md'
- '**.adoc'
- '*.txt'
- '.ci/**'
defaults:
run:
shell: bash
jobs:
build-chain:
concurrency:
group: pull_request-${{ github.event_name }}-${{ github.head_ref }}-${{ matrix.os }}-${{ matrix.java-version }}
cancel-in-progress: true
strategy:
matrix:
os: [ubuntu-latest, windows-latest]
java-version: [ 11, 17, 20 ]
maven-version: [ '3.8.7' ]
fail-fast: false
runs-on: ${{ matrix.os }}
name: ${{ matrix.os }} - Java ${{ matrix.java-version }} - Maven
timeout-minutes: 120
steps:
- name: Clean Disk Space
uses: kiegroup/kie-ci/.ci/actions/ubuntu-disk-space@main
if: ${{ matrix.os == 'ubuntu-latest' }}
- name: Support long paths
if: ${{ matrix.os == 'windows-latest' }}
uses: kiegroup/kie-ci/.ci/actions/long-paths@main
- name: Java and Maven Setup
uses: kiegroup/kie-ci/.ci/actions/maven@main
with:
java-version: ${{ matrix.java-version }}
maven-version: ${{ matrix.maven-version }}
cache-key-prefix: ${{ runner.os }}-${{ matrix.java-version }}-maven${{ matrix.maven-version }}
- name: Set FLOW_TYPE to pull-request
if: github.event_name == 'pull_request'
run: echo "FLOW_TYPE=pull-request" >> $GITHUB_ENV
- name: Set FLOW_TYPE to branch
if: github.event_name == 'push'
run: echo "FLOW_TYPE=branch" >> $GITHUB_ENV
- name: Build Chain
uses: kiegroup/kie-ci/.ci/actions/build-chain@main
env:
# maven-assembly-plugin occasionally fails on heap space when building the ZIP in optaplanner-docs
MAVEN_OPTS: "-Xmx2048m"
with:
definition-file: https://raw.githubusercontent.com/${GROUP:kiegroup}/optaplanner/${BRANCH:main}/.ci/buildchain-config.yaml
annotations-prefix: ${{ runner.os }}-${{ matrix.java-version }}/${{ matrix.maven-version }}
starting-project: kiegroup/optaplanner
flow-type: ${{ env.FLOW_TYPE }}
github-token: "${{ secrets.GITHUB_TOKEN }}"
- name: Surefire Report
uses: kiegroup/kie-ci/.ci/actions/surefire-report@main
if: ${{ always() }}
with:
report_paths: '**/*-reports/TEST-*.xml'