Skip to content

Measure the CI cost after the #834 changes #846

Closed

Description

@laughingman7743

Use case

#834 cannot be closed until the effect of its changes on the AWS bill is measured. The changes so far:

Both were merged on 2026-09-26.

Proposed change

Measure the test account cost for two weeks after 2026-09-26 and compare it with the two weeks before.

  • Cost Explorer (us-west-2, before tax), per day:
    • S3 PutObject request count and cost
    • Athena SQL cost and Spark DPU-hours
    • Glue Data Catalog requests
  • The number of Test workflow runs per day, split by event (pull_request, schedule, workflow_dispatch) and conclusion, and the number of AWS jobs per run. This gives the cost per run and per job.
  • Optionally, a sample of CI queries by statement type, to compare with the sample in Reduce the AWS cost of integration tests without reducing real-service coverage #834.

Report the result on #834 and decide whether the remaining sub-issues are still worth their trade-offs.

Validation plan (if implementing)

Read-only Cost Explorer and GitHub API queries; no AWS resources are created. Measure after about 2026-10-10, once two full weeks of data exist.

Activity

  1. laughingman7743 commented on Sep 28, 2026

    @laughingman7743
    MemberAuthor

    Measurement window, now that the last cost-related changes of #834 have merged:

    Because some of the earlier changes landed inside the "before" window, it is a mixed baseline. Also compare against 2026-09-01 to 2026-09-14, which predates all of #834.

    What to compare, from Cost Explorer with daily granularity, for the test account:

    • S3: PutObject requests and cost
    • Athena: SQL and Spark DPU
    • Glue requests
    • Total

    Normalize by activity with the Test workflow runs in each window (gh run list --workflow test.yaml): the number of runs and of AWS jobs, split by event (pull_request, schedule, dispatch, release). Report the cost per run as well as the totals.

    #834 closes after this measurement.

  2. laughingman7743 commented on Oct 10, 2026

    @laughingman7743
    MemberAuthor

    Measurement results (Cost Explorer, daily granularity, test account).

    The test account started incurring test costs on 2026-09-18 (2026-09-02 to 2026-09-17 are close to $0 per day), so the 2026-09-01 to 2026-09-14 comparison does not apply. The "before" window is 2026-09-18 to 2026-09-28, and the "after" window is the same length, 2026-09-29 to 2026-10-09 (measured on 2026-10-10 instead of waiting for 2026-10-12).

    Window Total Per day Excluded
    Before: 2026-09-18 to 2026-09-28 $193.5 $17.6 EC2 $25.0 (one-off #644 benchmark)
    After: 2026-09-29 to 2026-10-09 $25.8 $2.3 Tax $2.25 (September tax booked on 2026-10-01)

    Per day by service (before → after):

    Service Before After
    S3 $9.4 $1.2
    Athena (SQL + Spark) $6.4 $1.1
    Glue $1.3 $0.04
    • About an 87% reduction per day, from roughly $530 to roughly $70 per month.
    • The highest day in the "after" window was $9.0 (2026-10-03), compared with $30 to $37 on the busiest "before" days.
    • Test workflow runs went from 243 to 758, mostly Draft PRs that now run lint only without AWS. AWS jobs were not counted per run, so no cost-per-run figure is given.

    The reduction is clear, so this closes the measurement.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions