Skip to content

feat: emit remaining_ttl_ms on reserve and extend responses (v0.1.25.59) #539

feat: emit remaining_ttl_ms on reserve and extend responses (v0.1.25.59)

feat: emit remaining_ttl_ms on reserve and extend responses (v0.1.25.59) #539

Workflow file for this run

name: CI
on:
push:
branches: [main]
pull_request:
branches: [main]
permissions:
contents: read
jobs:
unit:
name: Unit & Contract
uses: runcycles/.github/.github/workflows/ci-java.yml@v1
with:
pom-file: cycles-protocol-service/pom.xml
# Fast unit-test signal. JaCoCo is skipped here on purpose — the
# integration job below is the authoritative coverage gate, since
# it runs unit + integration tests together (via -Pintegration-tests)
# and so its JaCoCo check sees code paths reachable only via
# integration tests (e.g. DecisionController DENY-path event
# emission exercised by DecisionAndEventIntegrationTest).
maven-args: "-Dtest=!*IntegrationTest,!*BenchmarkTest -Dsurefire.failIfNoSpecifiedTests=false -Djacoco.skip=true"
integration:
name: Integration (with contract validation)
runs-on: ubuntu-latest
permissions:
contents: read
steps:
- uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
- name: Set up JDK 21
uses: actions/setup-java@03ad4de0992f5dab5e18fcb136590ce7c4a0ac95 # v5
with:
distribution: temurin
java-version: 21
cache: maven
# Integration tests use Testcontainers — Docker is preinstalled on
# ubuntu-latest. The integration-tests profile un-excludes *IntegrationTest;
# BaseIntegrationTest registers the contract-validating interceptor on
# TestRestTemplate, so every response from these tests is validated
# against the pinned cycles-protocol-v0.yaml.
- name: Run integration tests with contract validation
run: >
mvn -B verify
--file cycles-protocol-service/pom.xml
-Pintegration-tests
-Dtest=!*BenchmarkTest
-Dsurefire.failIfNoSpecifiedTests=false