Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
32 changes: 31 additions & 1 deletion .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,12 @@ on:
permissions:
contents: read

# Cancel orphaned PR runs when a new commit is pushed; push to main uses SHA so
# main runs never queue or cancel each other.
concurrency:
group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.sha }}
cancel-in-progress: ${{ github.event_name == 'pull_request' }}

env:
AXONFLOW_TELEMETRY: 'off'

Expand All @@ -17,8 +23,12 @@ jobs:
runs-on: ubuntu-latest

strategy:
# PR runs only Java 17 (current release toolchain). Push to main and
# workflow_dispatch run the full [11, 17, 21] matrix to validate
# version-specific drift before the next tag. Cuts PR-time wallclock
# ~2/3 (5.2m → ~2m on the heaviest workflow in the SDK fleet).
matrix:
java-version: [11, 17, 21]
java-version: ${{ fromJson(github.event_name == 'pull_request' && '[17]' || '[11, 17, 21]') }}

steps:
- name: Checkout code
Expand Down Expand Up @@ -84,6 +94,26 @@ jobs:
if: matrix.java-version == 17
run: mvn jacoco:check -B

# Aggregator that always reports a single check name regardless of the
# matrix shape (PR-time matrix is `[17]`; push/dispatch is `[11, 17, 21]`).
# Branch protection requires `Build Summary`, not the per-version names,
# so matrix changes don't strand required checks.
build-summary:
name: Build Summary
needs: [build]
if: always()
runs-on: ubuntu-latest
steps:
- name: Aggregate build matrix result
run: |
result="${{ needs.build.result }}"
echo "build matrix result: $result"
if [ "$result" != "success" ] && [ "$result" != "skipped" ]; then
echo "::error::build matrix did not all pass (result: $result)"
exit 1
fi
echo "Build matrix OK"

lint:
runs-on: ubuntu-latest

Expand Down
9 changes: 8 additions & 1 deletion .github/workflows/definition-of-done.yml
Original file line number Diff line number Diff line change
Expand Up @@ -6,12 +6,19 @@ name: Definition of Done

on:
pull_request:
types: [opened, synchronize, reopened, edited]
# Trim out non-diff-changing event types: dropped `edited` (title/body
# edit re-runs the gate without any code change). `reopened` retained for
# PRs that were closed and reopened with new commits.
types: [opened, synchronize, reopened]

permissions:
contents: read
pull-requests: read

concurrency:
group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.sha }}
cancel-in-progress: ${{ github.event_name == 'pull_request' }}

jobs:
lint-no-mocks-in-runtime-e2e:
name: Lint — no mocks in runtime-e2e/
Expand Down
4 changes: 4 additions & 0 deletions .github/workflows/heartbeat-real-stack.yml
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,10 @@ on:
pull_request:
branches: [main]

concurrency:
group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.sha }}
cancel-in-progress: ${{ github.event_name == 'pull_request' }}

env:
AXONFLOW_TELEMETRY: 'off'

Expand Down
11 changes: 7 additions & 4 deletions .github/workflows/integration.yml
Original file line number Diff line number Diff line change
Expand Up @@ -15,10 +15,11 @@ permissions:
contents: read

# Avoid spawning parallel docker-compose stacks for back-to-back pushes;
# also cancels stale PR runs when a new commit lands.
# also cancels stale PR runs when a new commit lands. Push to main keys on SHA
# so main runs never queue or cancel each other.
concurrency:
group: integration-${{ github.ref }}
cancel-in-progress: true
group: integration-${{ github.event.pull_request.number || github.sha }}
cancel-in-progress: ${{ github.event_name == 'pull_request' }}

env:
AXONFLOW_TELEMETRY: 'off'
Expand All @@ -33,8 +34,10 @@ jobs:
timeout-minutes: 15
strategy:
fail-fast: false
# PR runs only Java 17 (release toolchain). Push, dispatch, and weekly
# cron run the full [11, 17, 21] matrix to catch version drift.
matrix:
java-version: [11, 17, 21]
java-version: ${{ fromJson(github.event_name == 'pull_request' && '[17]' || '[11, 17, 21]') }}
steps:
- name: Checkout SDK
uses: actions/checkout@v4
Expand Down
4 changes: 4 additions & 0 deletions .github/workflows/validate-version-alignment.yml
Original file line number Diff line number Diff line change
Expand Up @@ -28,6 +28,10 @@ on:
permissions:
contents: read

concurrency:
group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.sha }}
cancel-in-progress: ${{ github.event_name == 'pull_request' }}

env:
AXONFLOW_TELEMETRY: 'off'

Expand Down
4 changes: 4 additions & 0 deletions .github/workflows/wire-shape-contract.yml
Original file line number Diff line number Diff line change
Expand Up @@ -33,6 +33,10 @@ on:
permissions:
contents: read

concurrency:
group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.sha }}
cancel-in-progress: ${{ github.event_name == 'pull_request' }}

jobs:
wire-shape:
name: Validate Wire Shape
Expand Down
Loading