Skip to content

chore(deps): bump io.netty:netty-codec-http2 from 4.2.5.Final to 4.2.13.Final #40

chore(deps): bump io.netty:netty-codec-http2 from 4.2.5.Final to 4.2.13.Final

chore(deps): bump io.netty:netty-codec-http2 from 4.2.5.Final to 4.2.13.Final #40

Workflow file for this run

name: ci
on:
push:
branches: [main]
paths-ignore:
- "**.md"
- "LICENSE"
- ".gitignore"
- ".editorconfig"
- "docs/diagrams/**" # diagrams workflow owns these
pull_request:
branches: [main]
paths-ignore:
- "**.md"
- "LICENSE"
- ".gitignore"
- ".editorconfig"
- "docs/diagrams/**"
workflow_dispatch:
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: ${{ github.event_name == 'pull_request' }}
permissions:
contents: read
jobs:
build:
name: build (JDK ${{ matrix.jdk }})
runs-on: ubuntu-24.04
strategy:
fail-fast: false
matrix:
# 21 is the LTS floor (`--release 21`); 25 is the September 2025 LTS
# and matches the toolchain the local developer setup uses. Both must
# produce green tests on every PR.
jdk: ["21", "25"]
steps:
- uses: actions/checkout@v6
with:
fetch-depth: 1
- name: Set up JDK ${{ matrix.jdk }}
uses: actions/setup-java@v5
with:
distribution: temurin
java-version: ${{ matrix.jdk }}
# Built-in Maven cache: keys off pom.xml hashes and restores ~/.m2/repository.
cache: maven
- name: Check formatting (Spotless)
if: ${{ matrix.jdk == '21' }}
run: mvn -B -ntp -Darcp.skip.spotless=false spotless:check
- name: Build and test
# JDK 25 skips spotless because google-java-format embedded in the pinned
# spotless version cannot run against JDK 25's javac internals.
run: |
if [[ "${{ matrix.jdk }}" == "21" ]]; then
mvn -B -ntp -Dmaven.javadoc.skip=true verify
else
mvn -B -ntp -Dmaven.javadoc.skip=true -Darcp.skip.spotless=true verify
fi
- name: Run all runnable examples and recipes
run: |
for module in \
examples/submit-and-stream \
examples/cancel \
examples/heartbeat \
examples/cost-budget \
examples/result-chunk \
examples/agent-versions \
examples/list-jobs \
examples/lease-expires-at \
examples/idempotent-retry \
examples/custom-auth \
examples/provisioned-credentials \
examples/ack-backpressure \
examples/delegate \
examples/spring-boot \
examples/jakarta \
examples/lease-violation \
examples/progress \
examples/resume \
examples/stdio \
examples/subscribe \
examples/tracing \
examples/vendor-extensions \
recipes/email-vendor-leases \
recipes/mcp-skill \
recipes/multi-agent-budget \
recipes/stream-resume
do
echo "::group::run $module"
mvn -B -ntp -pl "$module" -am -Darcp.skip.spotless=true -Dmaven.javadoc.skip=true \
-Dmaven.test.skip=true -Dexec.cleanupDaemonThreads=false \
exec:java
echo "::endgroup::"
done
- name: Upload test reports
if: always()
uses: actions/upload-artifact@v7
with:
name: test-reports-jdk${{ matrix.jdk }}
path: |
**/target/surefire-reports/
**/target/site/jacoco/
if-no-files-found: ignore
retention-days: 7
# jacoco-maven-plugin (configured in the parent pom) writes per-module
# XML reports to target/site/jacoco/jacoco.xml — the path the Codecov
# example-java-maven repo uses. Upload from the LTS floor only; coverage
# is identical across JDKs. Non-blocking.
- name: Upload coverage to Codecov
if: matrix.jdk == '21'
# codecov/codecov-action v6.0.1
uses: codecov/codecov-action@e79a6962e0d4c0c17b229090214935d2e33f8354 # v6.0.1
with:
fail_ci_if_error: false
flags: unittests
files: "**/target/site/jacoco/jacoco.xml"
token: ${{ secrets.CODECOV_TOKEN }}
javadoc:
name: javadoc
runs-on: ubuntu-24.04
needs: build
permissions:
contents: read
steps:
- uses: actions/checkout@v6
- uses: actions/setup-java@v5
with:
distribution: temurin
java-version: "21"
cache: maven
- name: Build javadoc for all published modules
run: |
mvn -B -ntp -am -DskipTests -Darcp.skip.spotless=true \
-pl arcp-core,arcp-client,arcp-runtime,arcp,arcp-otel,arcp-runtime-jetty,arcp-middleware-jakarta,arcp-middleware-spring-boot,arcp-middleware-vertx,arcp-tck \
javadoc:javadoc