Skip to content

Add per-path agent metric filtering (#221) #125

Add per-path agent metric filtering (#221)

Add per-path agent metric filtering (#221) #125

name: Container Tests
# Runs the full Testcontainers end-to-end suite (io.prometheus.containers.*): builds the
# proxy/agent images from etc/docker/*.df and exercises the Prometheus -> proxy -> agent ->
# endpoint scrape path across smoke, HTTP-surface, consolidated, large-payload, reconnect,
# agent-token-auth, TLS/HTTPS, and parameter-driven scaling specs. The scaling spec runs its
# small default table here (no SCALE_* overrides). Slow (several minutes) so this is gated
# behind targeted triggers rather than running on every PR. No untrusted event payloads are
# referenced.
on:
push:
branches: [ master ]
pull_request:
branches: [ master ]
paths:
- 'etc/docker/**'
- 'build.gradle.kts'
- 'gradle/libs.versions.toml'
- 'src/shadow/**'
- 'src/test/kotlin/io/prometheus/containers/**'
- 'src/test/resources/containers/**'
- '.github/workflows/container-tests.yml'
workflow_dispatch:
permissions:
contents: read
jobs:
container-tests:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v5
- uses: actions/setup-java@v5
with:
distribution: temurin
java-version: 17
- uses: gradle/actions/setup-gradle@v5
- name: Build agent and proxy fat JARs
run: ./gradlew agentJar proxyJar
- name: Run Testcontainers smoke test
env:
RUN_CONTAINER_TESTS: 'true'
run: ./gradlew test --tests "io.prometheus.containers.*"
- name: Upload test reports on failure
if: failure()
uses: actions/upload-artifact@v4
with:
name: container-test-reports
path: |
build/reports/tests/
build/test-results/
retention-days: 7