CI workflow has no concurrency guard, unlike the cinny workflow it's modeled on #34

Closed
opened 2026-09-12 02:13:15 -04:00 by jared · 1 comment
Owner

Severity: low · Type: performance · Confidence: high

Location: .gitea/workflows/ci.yml:16-20 (trigger block: push: branches: [lotus], push: tags: ['v*'], pull_request: branches: [lotus]) — no concurrency: key anywhere in the file

Problem

LOTUS_TODO.md documents that cinny's own ci.yml was hardened with concurrency: cancel-in-progress specifically because a burst of pushes to lotus-equivalent branches piles up ~30-minute builds on a shared Gitea runner. This element-call ci.yml (explicitly modeled on cinny's) was not given the same treatment: a rapid sequence of pushes to lotus (e.g. during an audit-fix batch, several of which are visible in git log) queues one full build job (Node 24, NODE_OPTIONS=--max-old-space-size=16384) per push instead of collapsing to the latest.

How to trigger

Push several commits to lotus in quick succession; each triggers its own full build job run to completion instead of being cancelled by the newer push.

Suggested fix

Add a concurrency: { group: ci-${{ github.ref }}, cancel-in-progress: true } block at the workflow level, mirroring the cinny fix.


Filed from the September 2026 audit (branch lotus).

**Severity:** low · **Type:** performance · **Confidence:** high **Location:** `.gitea/workflows/ci.yml:16-20` (trigger block: `push: branches: [lotus]`, `push: tags: ['v*']`, `pull_request: branches: [lotus]`) — no `concurrency:` key anywhere in the file ### Problem LOTUS_TODO.md documents that cinny's own `ci.yml` was hardened with `concurrency: cancel-in-progress` specifically because a burst of pushes to `lotus`-equivalent branches piles up ~30-minute builds on a shared Gitea runner. This element-call `ci.yml` (explicitly modeled on cinny's) was not given the same treatment: a rapid sequence of pushes to `lotus` (e.g. during an audit-fix batch, several of which are visible in `git log`) queues one full `build` job (Node 24, `NODE_OPTIONS=--max-old-space-size=16384`) per push instead of collapsing to the latest. ### How to trigger Push several commits to `lotus` in quick succession; each triggers its own full `build` job run to completion instead of being cancelled by the newer push. ### Suggested fix Add a `concurrency: { group: ci-${{ github.ref }}, cancel-in-progress: true }` block at the workflow level, mirroring the cinny fix. --- _Filed from the September 2026 audit (branch `lotus`)._
jared added this to the EC fork audit 2026-09 · Medium & Low milestone 2026-09-12 02:13:15 -04:00
jared added the bugpriority: lowperformancearea: build-publish labels 2026-09-12 02:13:15 -04:00
jared self-assigned this 2026-09-12 02:13:15 -04:00
jared closed this issue 2026-09-12 11:56:46 -04:00
Author
Owner

Fixed in 9c521463, shipped in 0.25.0-lotus.1 (published by CI from tag v0.25.0-lotus.1) and consumed by cinny at 9a85a487.

Fixed in 9c521463, shipped in `0.25.0-lotus.1` (published by CI from tag v0.25.0-lotus.1) and consumed by cinny at 9a85a487.
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: LotusGuild/element-call#34