chore(deps): bump io.netty:netty-codec-http2 from 4.2.5.Final to 4.2.13.Final #40
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| 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 |