Skip to content

deps: bump the patch group across 1 directory with 2 updates #1173

deps: bump the patch group across 1 directory with 2 updates

deps: bump the patch group across 1 directory with 2 updates #1173

name: Maven Long-Running

Check warning on line 1 in .github/workflows/pull_request_maven_long_running.yml

View workflow run for this annotation

GitHub Actions / Maven Long-Running

Workflow execution policy warning (evaluate mode)

On November 2, 2026, GitHub will restrict `pull_request_target` on public repositories by default. To continue allowing the event trigger, configure an Actions policy. Learn more: https://gh.io/securely-using-pull_request_target#default-policy-for-pull_request_target
on:
# Enables the workflow to run on PRs from forks.
# CI will only run for trusted users, to prevent stealing of secrets.
pull_request_target:
branches: [stable, development, '*.x']
types:
- opened
- reopened
- synchronize
paths:
- 'pom.xml'
- 'use-cases/**/*'
- 'getting-started/**/*'
- '.github/**/*.yml'
jobs:
# Check if the user is a member of the organization; if so, allow the PR to sail through.
known_user:
runs-on: ubuntu-latest
outputs:
is_member_of_org: ${{ steps.auth_check.outputs.authorized }}
steps:
- id: auth_check
env:
GH_TOKEN: ${{ secrets.JRELEASER_GITHUB_TOKEN }} # Release account is a Solver Gatekeeper.
shell: bash
run: |
# -g to allow actors such as dependabot[bot]
ORG_MEMBERSHIP=`curl -g -L -H "Accept: application/vnd.github+json" -H "Authorization: Bearer $GH_TOKEN" "https://api.github.com/orgs/TimefoldAI/memberships/${{ github.actor }}" | jq -r '.state == "active"'`
echo "authorized=$ORG_MEMBERSHIP" >> "$GITHUB_OUTPUT"
- id: validation
shell: bash
run: |
echo "Authorized user: ${{ steps.auth_check.outputs.authorized }}"
# If the user is not a member, require a member to approve the PR.
approval_required:
needs: known_user
environment:
${{
github.event_name == 'pull_request_target' &&
github.event.pull_request.head.repo.full_name != github.repository &&
(needs.known_user.outputs.is_member_of_org != 'true' || github.actor == 'dependabot[bot]') &&
'external' || 'internal'
}}
runs-on: ubuntu-latest
steps:
- run: true
build-quarkus:
needs: approval_required
concurrency:
group: pull_request_long_running-${{ github.event_name }}-${{ github.head_ref }}-${{ matrix.os }}-${{ matrix.module }}-${{ matrix.java-version }}
cancel-in-progress: true
runs-on: ${{ matrix.os }}
strategy:
fail-fast: false # A broken JDK or module must not cancel the others.
matrix:
os: [ ubuntu-latest, ubuntu-24.04-arm ]
module: [
"use-cases/school-timetabling", "use-cases/bed-allocation",
"use-cases/conference-scheduling", "use-cases/employee-scheduling", "use-cases/facility-location",
"use-cases/flight-crew-scheduling", "use-cases/food-packaging", "use-cases/maintenance-scheduling",
"use-cases/meeting-scheduling", "use-cases/order-picking", "use-cases/project-job-scheduling",
"use-cases/sports-league-scheduling", "use-cases/task-assigning",
"use-cases/tournament-scheduling", "use-cases/vehicle-routing"
]
java-version: [ 25 ] # The compile target is covered by the Maven workflow.
timeout-minutes: 120
steps:
- name: Checkout timefold-quickstarts
uses: actions/checkout@v7
with:
path: ./timefold-quickstarts
ref: ${{ github.event.pull_request.head.sha }} # The GHA event will pull the main branch by default, and we must specify the PR reference version
- name: Checkout timefold-solver (PR) # Checkout the PR branch first, if it exists
id: checkout-solver
uses: actions/checkout@v7
continue-on-error: true
with:
repository: ${{ github.actor }}/timefold-solver
ref: ${{ github.head_ref }}
path: ./timefold-solver
fetch-depth: 0 # Otherwise merge will fail on account of not having history.
- name: Checkout timefold-solver (main) # Checkout the main branch if the PR branch does not exist
if: steps.checkout-solver.outcome != 'success'
uses: actions/checkout@v7
with:
repository: TimefoldAI/timefold-solver
ref: main
path: ./timefold-solver
fetch-depth: 0 # Otherwise merge will fail on account of not having history.
# Build and test
- name: "Setup GraalVM native image"
uses: graalvm/setup-graalvm@0426e2e191540e8514dff98dc52a5f5146a2a276 # v1.6.6
with:
java-version: ${{matrix.java-version}}
distribution: 'graalvm-community'
github-token: ${{ secrets.GITHUB_TOKEN }}
cache: 'maven'
- name: Quickly build timefold-solver
working-directory: ./timefold-solver
run: mvn -B -Dquickly clean install
- name: Test timefold-quickstarts (slow tests)
working-directory: ./timefold-quickstarts/${{matrix.module}}
run: mvn -B -Dslowly verify
- name: Test timefold-quickstarts (native tests)
working-directory: ./timefold-quickstarts/${{matrix.module}}
run: mvn -B -Dnative -Pnative verify
build-spring-boot:
needs: approval_required
concurrency:
group: pull_request_long_running-${{ github.event_name }}-${{ github.head_ref }}-${{ matrix.module }}-${{ matrix.java-version }}
cancel-in-progress: true
runs-on: ubuntu-latest
strategy:
fail-fast: false # A broken JDK must not cancel the others.
matrix:
module: [
"getting-started/spring-boot-integration"
]
java-version: [ 25 ]
timeout-minutes: 120
steps:
- name: Checkout timefold-quickstarts
uses: actions/checkout@v7
with:
path: ./timefold-quickstarts
ref: ${{ github.event.pull_request.head.sha }} # The GHA event will pull the main branch by default, and we must specify the PR reference version
- name: Checkout timefold-solver (PR) # Checkout the PR branch first, if it exists
id: checkout-solver
uses: actions/checkout@v7
continue-on-error: true
with:
repository: ${{ github.actor }}/timefold-solver
ref: ${{ github.head_ref }}
path: ./timefold-solver
fetch-depth: 0 # Otherwise merge will fail on account of not having history.
- name: Checkout timefold-solver (main) # Checkout the main branch if the PR branch does not exist
if: steps.checkout-solver.outcome != 'success'
uses: actions/checkout@v7
with:
repository: TimefoldAI/timefold-solver
ref: main
path: ./timefold-solver
fetch-depth: 0 # Otherwise merge will fail on account of not having history.
# Build and test
- name: "Setup GraalVM native image"
uses: graalvm/setup-graalvm@0426e2e191540e8514dff98dc52a5f5146a2a276 # v1.6.6
with:
java-version: ${{matrix.java-version}}
distribution: 'graalvm-community'
github-token: ${{ secrets.GITHUB_TOKEN }}
cache: 'maven'
- name: Quickly build timefold-solver
working-directory: ./timefold-solver
run: mvn -B -Dquickly clean install
- name: Test timefold-quickstarts (slow tests)
working-directory: ./timefold-quickstarts/${{matrix.module}}
run: mvn -B -Dslowly verify
- name: Test timefold-quickstarts (native tests)
working-directory: ./timefold-quickstarts/${{matrix.module}}
run: mvn -B -PnativeTest verify