Skip to content

Commit 0372c25

Browse files
connortsui20claude
andcommitted
ci: remove v3 benchmark ingest, make v4 Postgres ingest required
The benchmarks website has fully cut over to v4 (Vercel + RDS Postgres) and the v3 EC2 server is being decommissioned. Drop the three v3 /api/ingest steps and promote the v4 Postgres ingest from best-effort (continue-on-error) to required, updating the now-inverted comments. The results.v3.jsonl emitters, post-ingest.py, and _measurement_id.py are untouched: the v3 JSONL format is v4's wire format. Co-Authored-By: Claude Fable 5 <[email protected]> Signed-off-by: Connor Tsui <[email protected]>
1 parent 0d50342 commit 0372c25

3 files changed

Lines changed: 21 additions & 73 deletions

File tree

‎.github/workflows/bench.yml‎

Lines changed: 6 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -117,26 +117,11 @@ jobs:
117117
run: |
118118
bash scripts/cat-s3.sh vortex-ci-benchmark-results data.json.gz results.json
119119
120-
- name: Ingest results to v3 server
121-
if: vars.V3_INGEST_URL != ''
122-
shell: bash
123-
env:
124-
INGEST_BEARER_TOKEN: ${{ secrets.INGEST_BEARER_TOKEN }}
125-
run: |
126-
python3 scripts/post-ingest.py results.v3.jsonl \
127-
--server "${{ vars.V3_INGEST_URL }}" \
128-
--commit-sha "${{ github.sha }}" \
129-
--benchmark-id "${{ matrix.benchmark.id }}" \
130-
--repo-url "${{ github.server_url }}/${{ github.repository }}"
131-
132-
# v4 (Postgres) dual-write -- BEST-EFFORT during the migration soak. The
133-
# proven v3 step above is hard-required; a v4 failure must NOT fail the job
134-
# (v4 is promoted to required at cutover, PR-5.1). Gated on the ingest-role
135-
# ARN var (the assume-role input that MUST exist for OIDC to succeed) so it
136-
# no-ops until v4 infra is wired, and every step is
137-
# `continue-on-error` so an OIDC / uv / connect hiccup never breaks the v3
138-
# pipeline. post-ingest.py mints the RDS IAM token internally (boto3) from
139-
# the assumed GitHubBenchmarkIngestRole; sslmode=verify-full validates the cert.
120+
# v4 (Postgres) ingest -- the REQUIRED benchmark-results pipeline feeding the live
121+
# benchmarks website; a failure here fails the job. Gated on the ingest-role ARN var
122+
# (the assume-role input that MUST exist for OIDC to succeed). post-ingest.py mints
123+
# the RDS IAM token internally (boto3) from the assumed GitHubBenchmarkIngestRole;
124+
# sslmode=verify-full validates the cert.
140125
#
141126
# ORDER MATTERS: "Install uv" runs BEFORE "Configure AWS credentials".
142127
# configure-aws-credentials persists the assumed ingest-role (rds-db:connect
@@ -146,18 +131,15 @@ jobs:
146131
# is assumed immediately before the ingest, which needs only rds-db:connect.
147132
- name: Install uv for v4 ingest
148133
if: vars.GH_BENCH_INGEST_ROLE_ARN != ''
149-
continue-on-error: true
150134
uses: spiraldb/actions/.github/actions/setup-uv@a746510eafaa926484c354541cfc49b2ec06cc63 # 0.18.6
151135
- name: Configure AWS credentials for v4 ingest (OIDC)
152136
if: vars.GH_BENCH_INGEST_ROLE_ARN != ''
153-
continue-on-error: true
154137
uses: aws-actions/configure-aws-credentials@e7f100cf4c008499ea8adda475de1042d6975c7b # v6
155138
with:
156139
role-to-assume: ${{ vars.GH_BENCH_INGEST_ROLE_ARN }}
157140
aws-region: ${{ vars.RDS_BENCH_REGION }}
158-
- name: Ingest results to v4 Postgres (best-effort)
141+
- name: Ingest results to v4 Postgres
159142
if: vars.GH_BENCH_INGEST_ROLE_ARN != ''
160-
continue-on-error: true
161143
shell: bash
162144
env:
163145
RDS_BENCH_INSTANCE_ENDPOINT: ${{ vars.RDS_BENCH_INSTANCE_ENDPOINT }}

‎.github/workflows/commit-metadata.yml‎

Lines changed: 8 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
11
# Uploads commit metadata (an empty ingest envelope -- no benchmark records) on
2-
# every push to develop, to both the v3 server and the v4 Postgres, so the
3-
# `commits` dim stays populated even when no benchmark ran. Needed by both
4-
# backends, hence not named for either.
2+
# every push to develop, to the v4 Postgres, so the `commits` dim stays
3+
# populated even when no benchmark ran.
54

65
name: Commit metadata
76

@@ -11,7 +10,7 @@ on:
1110
workflow_dispatch: { }
1211

1312
permissions:
14-
id-token: write # enables AWS-GitHub OIDC for the best-effort v4 ingest step
13+
id-token: write # enables AWS-GitHub OIDC for the v4 ingest step
1514
contents: read
1615

1716
jobs:
@@ -23,24 +22,10 @@ jobs:
2322
with:
2423
fetch-depth: 2
2524

26-
- name: Ingest commit metadata to v3 server
27-
if: vars.V3_INGEST_URL != ''
28-
shell: bash
29-
env:
30-
INGEST_BEARER_TOKEN: ${{ secrets.INGEST_BEARER_TOKEN }}
31-
run: |
32-
echo -n > empty.jsonl
33-
python3 scripts/post-ingest.py empty.jsonl \
34-
--server "${{ vars.V3_INGEST_URL }}" \
35-
--commit-sha "${{ github.sha }}" \
36-
--benchmark-id "commit-metadata" \
37-
--repo-url "${{ github.server_url }}/${{ github.repository }}"
38-
39-
# v4 (Postgres) dual-write -- BEST-EFFORT (see bench.yml rationale). Empty records:
40-
# post-ingest.py --postgres upserts the commit row only. v3 above stays required;
41-
# a v4 failure never fails the job (promoted to required at cutover, PR-5.1).
42-
# Gated on the ingest-role ARN var (the assume-role input that MUST exist) so
43-
# it no-ops until v4 infra is wired.
25+
# v4 (Postgres) ingest -- REQUIRED (see bench.yml rationale). Empty records:
26+
# post-ingest.py --postgres upserts the commit row only. Gated on the
27+
# ingest-role ARN var (the assume-role input that MUST exist for OIDC to
28+
# succeed).
4429
#
4530
# ORDER MATTERS: "Install uv" runs BEFORE "Configure AWS credentials".
4631
# configure-aws-credentials persists the assumed ingest-role (rds-db:connect
@@ -50,18 +35,15 @@ jobs:
5035
# is assumed immediately before the ingest, which needs only rds-db:connect.
5136
- name: Install uv for v4 ingest
5237
if: vars.GH_BENCH_INGEST_ROLE_ARN != ''
53-
continue-on-error: true
5438
uses: spiraldb/actions/.github/actions/setup-uv@a746510eafaa926484c354541cfc49b2ec06cc63 # 0.18.6
5539
- name: Configure AWS credentials for v4 ingest (OIDC)
5640
if: vars.GH_BENCH_INGEST_ROLE_ARN != ''
57-
continue-on-error: true
5841
uses: aws-actions/configure-aws-credentials@e7f100cf4c008499ea8adda475de1042d6975c7b # v6
5942
with:
6043
role-to-assume: ${{ vars.GH_BENCH_INGEST_ROLE_ARN }}
6144
aws-region: ${{ vars.RDS_BENCH_REGION }}
62-
- name: Ingest commit metadata to v4 Postgres (best-effort)
45+
- name: Ingest commit metadata to v4 Postgres
6346
if: vars.GH_BENCH_INGEST_ROLE_ARN != ''
64-
continue-on-error: true
6547
shell: bash
6648
env:
6749
RDS_BENCH_INSTANCE_ENDPOINT: ${{ vars.RDS_BENCH_INSTANCE_ENDPOINT }}

‎.github/workflows/sql-benchmarks.yml‎

Lines changed: 7 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -709,25 +709,12 @@ jobs:
709709
run: |
710710
bash scripts/cat-s3.sh vortex-ci-benchmark-results data.json.gz results.json
711711
712-
- name: Ingest results to v3 server
713-
if: inputs.mode == 'develop' && vars.V3_INGEST_URL != ''
714-
shell: bash
715-
env:
716-
INGEST_BEARER_TOKEN: ${{ secrets.INGEST_BEARER_TOKEN }}
717-
run: |
718-
python3 scripts/post-ingest.py results.v3.jsonl \
719-
--server "${{ vars.V3_INGEST_URL }}" \
720-
--commit-sha "${{ github.sha }}" \
721-
--benchmark-id "${{ matrix.id }}" \
722-
--repo-url "${{ github.server_url }}/${{ github.repository }}"
723-
724-
# v4 (Postgres) dual-write -- BEST-EFFORT during the migration soak (see bench.yml
725-
# for the full rationale). The v3 step above is hard-required; a v4 failure must NOT
726-
# fail the job (v4 is promoted to required at cutover, PR-5.1). Gated on
727-
# inputs.mode == 'develop' (matching v3) + the ingest-role ARN var (the assume-role
728-
# input that MUST exist for OIDC to succeed; it no-ops until v4 infra is wired), and
729-
# every step is continue-on-error. post-ingest.py mints the RDS IAM token (boto3) from
730-
# the assumed GitHubBenchmarkIngestRole; sslmode=verify-full validates the cert.
712+
# v4 (Postgres) ingest -- the REQUIRED benchmark-results pipeline feeding the live
713+
# benchmarks website (see bench.yml for the full rationale); a failure here fails the
714+
# job. Gated on inputs.mode == 'develop' + the ingest-role ARN var (the assume-role
715+
# input that MUST exist for OIDC to succeed). post-ingest.py mints the RDS IAM token
716+
# (boto3) from the assumed GitHubBenchmarkIngestRole; sslmode=verify-full validates
717+
# the cert.
731718
#
732719
# ORDER MATTERS: "Install uv" runs BEFORE "Configure AWS credentials".
733720
# configure-aws-credentials persists the assumed ingest-role (rds-db:connect
@@ -737,18 +724,15 @@ jobs:
737724
# is assumed immediately before the ingest, which needs only rds-db:connect.
738725
- name: Install uv for v4 ingest
739726
if: inputs.mode == 'develop' && vars.GH_BENCH_INGEST_ROLE_ARN != ''
740-
continue-on-error: true
741727
uses: spiraldb/actions/.github/actions/setup-uv@a746510eafaa926484c354541cfc49b2ec06cc63 # 0.18.6
742728
- name: Configure AWS credentials for v4 ingest (OIDC)
743729
if: inputs.mode == 'develop' && vars.GH_BENCH_INGEST_ROLE_ARN != ''
744-
continue-on-error: true
745730
uses: aws-actions/configure-aws-credentials@e7f100cf4c008499ea8adda475de1042d6975c7b # v6
746731
with:
747732
role-to-assume: ${{ vars.GH_BENCH_INGEST_ROLE_ARN }}
748733
aws-region: ${{ vars.RDS_BENCH_REGION }}
749-
- name: Ingest results to v4 Postgres (best-effort)
734+
- name: Ingest results to v4 Postgres
750735
if: inputs.mode == 'develop' && vars.GH_BENCH_INGEST_ROLE_ARN != ''
751-
continue-on-error: true
752736
shell: bash
753737
env:
754738
RDS_BENCH_INSTANCE_ENDPOINT: ${{ vars.RDS_BENCH_INSTANCE_ENDPOINT }}

0 commit comments

Comments
 (0)