Skip to content

Update docker/login-action digest to c94ce9f #2913

Update docker/login-action digest to c94ce9f

Update docker/login-action digest to c94ce9f #2913

name: federation-v1
on:
pull_request: {}
workflow_dispatch: {}
concurrency:
# we group by event name because we dont want to cancel workflow dispatch runs on pr commits
group: federation-${{ github.ref }}-${{ github.event_name }}
cancel-in-progress: true
jobs:
decide-runner:
uses: ./.github/workflows/decide-runner.template.yaml
constant-vus-over-time:
needs:
- decide-runner
strategy:
fail-fast: false
matrix:
directory:
- apollo-gateway
- apollo-router
- hive-gateway
- hive-gateway-router-runtime
- hive-router
- cosmo
- grafbase
uses: ./.github/workflows/benchmark.template.yaml
with:
gateway: ${{ matrix.directory }}
vu: 50
time: ${{ github.event_name == 'pull_request' && '30s' || '60s' }}
scenarioName: constant-vus-over-time
runner: ${{ needs.decide-runner.outputs.runner }}
cpuLimit: 3
fork: 2
memoryLimit: 6gb
mode: constant
waitForUrl: ${{ startsWith(matrix.directory, 'hive-gateway') && 'http://localhost:4000/healthcheck' || '' }}
constant-vus-over-time-report:
needs: constant-vus-over-time
uses: ./.github/workflows/report.template.yaml
secrets: inherit
with:
scenarioName: constant-vus-over-time
# TODO: do we need the delay scenarios?
# constant-vus-subgraphs-delay:
# needs:
# - decide-runner
# strategy:
# fail-fast: false
# matrix:
# directory:
# - apollo-gateway
# - apollo-router
# - hive-gateway
# - hive-gateway-router-runtime
# - hive-router
# - cosmo
# - grafbase
# uses: ./.github/workflows/benchmark.template.yaml
# with:
# gateway: ${{ matrix.directory }}
# vu: 50
# time: ${{ github.event_name == 'pull_request' && '30s' || '60s' }}
# scenarioName: constant-vus-subgraphs-delay
# runner: ${{ needs.decide-runner.outputs.runner }}
# cpuLimit: 3
# fork: 2
# memoryLimit: 6gb
# subgraphDelay: 50
# mode: constant
# waitForUrl: ${{ startsWith(matrix.directory, 'hive-gateway') && 'http://localhost:4000/healthcheck' || '' }}
# constant-vus-subgraphs-delay-report:
# needs: constant-vus-subgraphs-delay
# uses: ./.github/workflows/report.template.yaml
# secrets: inherit
# with:
# scenarioName: constant-vus-subgraphs-delay
# constant-vus-subgraphs-delay-resources:
# needs:
# - decide-runner
# strategy:
# fail-fast: false
# matrix:
# directory:
# - apollo-gateway
# - apollo-router
# - hive-gateway
# - hive-gateway-router-runtime
# - hive-router
# - cosmo
# - grafbase
# uses: ./.github/workflows/benchmark.template.yaml
# with:
# gateway: ${{ matrix.directory }}
# vu: 50
# time: ${{ github.event_name == 'pull_request' && '30s' || '60s' }}
# scenarioName: constant-vus-subgraphs-delay-resources
# runner: ${{ needs.decide-runner.outputs.runner }}
# cpuLimit: 4
# fork: 3
# memoryLimit: 8gb
# subgraphDelay: 50
# mode: constant
# waitForUrl: ${{ startsWith(matrix.directory, 'hive-gateway') && 'http://localhost:4000/healthcheck' || '' }}
# constant-vus-subgraphs-delay-resources-report:
# needs: constant-vus-subgraphs-delay-resources
# uses: ./.github/workflows/report.template.yaml
# secrets: inherit
# with:
# scenarioName: constant-vus-subgraphs-delay-resources
ramping-vus:
needs:
- decide-runner
strategy:
fail-fast: false
matrix:
directory:
- apollo-gateway
- apollo-router
- hive-gateway
- hive-gateway-router-runtime
- hive-router
- cosmo
- grafbase
uses: ./.github/workflows/benchmark.template.yaml
with:
gateway: ${{ matrix.directory }}
vu: 500
time: 60s
scenarioName: ramping-vus
runner: ${{ needs.decide-runner.outputs.runner }}
cpuLimit: 4
fork: 3
memoryLimit: 8gb
mode: stress
waitForUrl: ${{ startsWith(matrix.directory, 'hive-gateway') && 'http://localhost:4000/healthcheck' || '' }}
ramping-vus-report:
needs: ramping-vus
uses: ./.github/workflows/report.template.yaml
secrets: inherit
with:
scenarioName: ramping-vus