Repository navigation
49 lines (45 loc) · 1.98 KB
/
Copy pathmultiworker-load.yml
File metadata and controls
49 lines (45 loc) · 1.98 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
name: Permora bounded multiworker load and failover
on:
pull_request:
branches: [main]
paths:
- 'scripts/ci-worker-system.py'
- '.github/workflows/multiworker-load.yml'
workflow_dispatch:
permissions:
contents: read
concurrency:
group: permora-isolated-load-${{ github.ref }}
cancel-in-progress: true
jobs:
real-keycloak-worker-load:
name: Real two-worker Keycloak fault and bounded load acceptance
runs-on: ubuntu-24.04
timeout-minutes: 35
env:
DOTNET_CLI_TELEMETRY_OPTOUT: '1'
DOTNET_NOLOGO: '1'
PERMORA_SYSTEM_TESTS: isolated
PERMORA_CI_APPLICATIONS: '8'
PERMORA_CI_USERS: '12'
steps:
- uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1
with:
persist-credentials: false
- uses: actions/setup-dotnet@a98b56852c35b8e3190ac28c8c2271da59106c68
with:
global-json-file: global.json
- name: Restore and build actual Release workers with committed dependencies
run: |
dotnet restore src/Permora.Worker/Permora.Worker.csproj --locked-mode
dotnet build src/Permora.Worker/Permora.Worker.csproj -c Release --no-restore
- name: Syntax-check failure injection fixture
run: python3 -m py_compile scripts/ci-worker-system.py
- name: Execute 96 actual Keycloak revocations under two-worker outage and crash
run: python3 scripts/ci-worker-system.py
- name: Explain measured scope without production performance claims
if: always()
run: |
echo 'Real ephemeral Keycloak + PostgreSQL, 8 apps x 12 users, 2 actual worker processes.' >> "$GITHUB_STEP_SUMMARY"
echo 'Injects Keycloak 503, a committed remote DELETE with withheld reply and worker crash; verifies exact mappings and two-database restore.' >> "$GITHUB_STEP_SUMMARY"
echo 'Throughput/elapsed time from this runner is a nonrepresentative CI measurement, NOT a production SLO or multi-host HA proof.' >> "$GITHUB_STEP_SUMMARY"