Skip to content

docs(issues): draft sub-issue specs for EPIC #1840 workflow performance improvements - #1855

Merged
josecelano merged 8 commits into
torrust:developfrom
josecelano:1840-workflow-performance-draft-subissues
Jun 1, 2026
Merged

docs(issues): draft sub-issue specs for EPIC #1840 workflow performance improvements#1855
josecelano merged 8 commits into
torrust:developfrom
josecelano:1840-workflow-performance-draft-subissues

Conversation

@josecelano

Copy link
Copy Markdown
Member

Summary

This PR adds spec-only documentation for EPIC #1840 (Improve PR Workflow Performance). No code or workflow changes are included.

What's included

EPIC spec (already open as #1840):

Sub-issue specs now promoted to open/:

  • #1851 — Audit .dockerignore to minimize Docker build context
  • #1852 — Restrict recipe stage to manifest-only COPY
  • #1853 — Narrow Containerfile build targets to tracker image needs
  • #1854 — Evaluate test execution policy in container image build

Existing sub-issue spec renamed to follow the EPIC sub-issue naming convention:

  • #17261726-reduce-build-times-sccache1726-1840-workflow-performance-sccache

Remaining draft specs (not yet assigned GitHub issues):

  • docs/issues/drafts/1840-workflow-performance-dependency-layer-cache-reuse/
  • docs/issues/drafts/1840-workflow-performance-container-workflow-build-deduplication/
  • docs/issues/drafts/1840-workflow-performance-alternative-linker/
  • docs/issues/drafts/1840-workflow-performance-split-external-dep-cache-layer/
  • docs/issues/drafts/1840-workflow-performance-prebuilt-base-images/
  • docs/issues/drafts/1840-workflow-performance-buildkit-cargo-cache-mounts/

Related

Related to #1840

…e EPIC (torrust#1840)

- torrust#1851 audit .dockerignore to minimize Docker build context
- torrust#1852 restrict recipe stage to manifest-only COPY
- torrust#1853 narrow Containerfile build targets to tracker image needs
- torrust#1854 evaluate test execution policy in container image build
…ssue convention

Rename docs/issues/open/1726-reduce-build-times-sccache to
docs/issues/open/1726-1840-workflow-performance-sccache to match
the naming pattern used by all other sub-issues of EPIC torrust#1840.

Update spec-path references in ISSUE.md, benchmark-results.md,
EPIC.md, and cross-references in sibling spec files.
Copilot AI review requested due to automatic review settings June 1, 2026 15:46
@josecelano josecelano self-assigned this Jun 1, 2026
@josecelano

Copy link
Copy Markdown
Member Author

ACK bb973a0

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR adds and updates spec-only documentation for EPIC #1840 (Improve PR Workflow Performance), promoting several sub-issue specs to docs/issues/open/ and drafting additional follow-up specs. It also updates the repository spell-check allowlist for newly introduced terminology.

Changes:

  • Added new open sub-issue specs for #1851 and #1852; promoted #1853 and #1854 specs from draft to open with GitHub issue numbers.
  • Updated the EPIC #1840 spec to reflect the new/renamed sub-issues and ordering after baseline results.
  • Updated the sccache sub-issue spec path references and added new spell-check words.

Reviewed changes

Copilot reviewed 12 out of 12 changed files in this pull request and generated 4 comments.

Show a summary per file
File Description
project-words.txt Adds new spell-check allowlist words used in the workflow-performance docs.
docs/issues/open/1854-1840-workflow-performance-container-test-gating/ISSUE.md Promotes the #1854 spec to open/ and updates metadata to match the GitHub issue.
docs/issues/open/1853-1840-workflow-performance-containerfile-target-scope/ISSUE.md Promotes the #1853 spec to open/ and updates references to the renamed #1726 spec.
docs/issues/open/1852-1840-workflow-performance-recipe-stage-manifest-only-copy/ISSUE.md Introduces the new #1852 spec describing manifest-only COPY for cargo-chef recipe staging.
docs/issues/open/1851-1840-workflow-performance-dockerignore-audit/ISSUE.md Introduces the new #1851 spec to audit .dockerignore and reduce Docker build context.
docs/issues/open/1840-improve-pr-workflow-performance-epic/EPIC.md Updates the EPIC plan table, ordering, and progress log to incorporate newly created sub-issues.
docs/issues/open/1726-1840-workflow-performance-sccache/ISSUE.md Updates the spec-path and references to reflect the renamed #1726 spec location.
docs/issues/open/1726-1840-workflow-performance-sccache/benchmark-results.md Updates semantic-link references to point at the renamed #1726 spec.
docs/issues/drafts/1840-workflow-performance-split-external-dep-cache-layer/ISSUE.md Adds a draft spec to investigate splitting cook layers to isolate external dependency caching.
docs/issues/drafts/1840-workflow-performance-prebuilt-base-images/ISSUE.md Adds a draft spec to evaluate publishing prebuilt base stages as images (low expected impact).
docs/issues/drafts/1840-workflow-performance-buildkit-cargo-cache-mounts/ISSUE.md Adds a draft spec to evaluate BuildKit cache mounts for Cargo registry/git caches.
docs/issues/drafts/1840-workflow-performance-alternative-linker/ISSUE.md Adds a draft spec to evaluate switching to a faster linker (mold/lld) to reduce link time.
Comments suppressed due to low confidence (3)

docs/issues/open/1853-1840-workflow-performance-containerfile-target-scope/ISSUE.md:11

  • last-updated-utc should reflect the most recent meaningful edit to this spec. This file includes a 2026-06-01 progress-log entry, but the frontmatter still says 2026-05-27.
    docs/issues/open/1854-1840-workflow-performance-container-test-gating/ISSUE.md:11
  • last-updated-utc should reflect the most recent meaningful edit to this spec. This file includes a 2026-06-01 progress-log entry, but the frontmatter still says 2026-05-27.
    docs/issues/open/1726-1840-workflow-performance-sccache/ISSUE.md:11
  • This spec file was modified in this PR (path references updated), but last-updated-utc still points to 2026-05-01. To keep the metadata accurate, please bump it to the date of this update.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread project-words.txt
Comment on lines 40 to 43
buildid
Buildx
BuildKit
byteorder
Comment thread project-words.txt
Comment on lines 242 to 245
realpath
reannounce
readelf
recognised
Comment on lines +8 to +11
branch: "1851-workflow-performance-dockerignore-audit"
related-pr: null
last-updated-utc: 2026-05-29 00:00
semantic-links:
spec-path: docs/issues/drafts/1840-workflow-performance-alternative-linker/ISSUE.md
branch: "{issue-number}-alternative-linker"
related-pr: null
last-updated-utc: 2026-06-01 00:00
@josecelano
josecelano merged commit 4f1ab92 into torrust:develop Jun 1, 2026
1 check passed
josecelano added a commit that referenced this pull request Jun 1, 2026
Update EPIC #1840 progress:
- Check off 'Subissues created and linked in this spec'
- Add progress log: PR #1855 merged; all sub-issue specs (rows 2-12)
  are now in develop; renamed #1726 folder to match EPIC sub-issue
  naming convention
josecelano added a commit that referenced this pull request Jun 1, 2026
)

1043b49 chore(container): audit and reorganize .dockerignore (closes #1851) (Jose Celano)
db1f672 docs(epic): mark subissues created/linked and log PR #1855 merge (Jose Celano)

Pull request description:

  ## Summary

  Reorganizes `.dockerignore` into clearly labeled sections and adds several missing exclusions, reducing the Docker build context and narrowing the cache-invalidation surface.

  ## What Changed

  **`.dockerignore` reorganized into labeled sections:**
  - `## Runtime config templates` — share/
  - `## Documentation` — docs/, README.md, SECURITY.md, LICENSE, NOTICE
  - `## Developer tooling` — .github/, contrib/dev-tools/ (with `!contrib/dev-tools/su-exec/` negation to retain the su-exec source needed by the container build)
  - `## CI / repo metadata` — .git/, target/

  **New exclusions added:**
  - `SECURITY.md`, `LICENSE` — legal/documentation files not needed in the image
  - `packages/AGENTS.md`, `src/AGENTS.md` — AI agent instruction files
  - `contrib/dev-tools/` (entire directory, except `su-exec/`) — benchmarks, scripts, and analysis tooling that previously slipped through

  ## Measured Impact

  | Metric | Before | After | Delta |
  |---|---|---|---|
  | Docker build context | 4.75 MB | 4.64 MB | −110 kB (−2.3%) |

  Cache invalidation surface reduced: changes inside `contrib/dev-tools/` (workflow benchmarks, analysis scripts, etc.) no longer trigger a source-stage cache miss.

  ## Files Changed

  - `.dockerignore` — reorganized and extended
  - `docs/issues/open/1851-1840-workflow-performance-dockerignore-audit/ISSUE.md` — issue spec
  - `docs/issues/open/1840-improve-pr-workflow-performance-epic/EPIC.md` — EPIC progress update (subissues created/linked, PR #1855 logged)

  ## Validation

  - `docker build` executed before and after; build context size measured with `--progress=plain` output
  - `docker build --no-cache` confirmed `su-exec/` source is still present in the image (required for `su-exec` binary compilation)
  - All pre-push checks passed (fmt, clippy, tests)

  Closes #1851

ACKs for top commit:
  josecelano:
    ACK 1043b49

Tree-SHA512: 7bf88e34869cda72a97e36a32e6e9ca442ddb3c89e8cc60fc4c50c8c17ff8b79f5d3ee3a9dd9e392197f917d2488438dcdc6c37dd2e5b9d4b00b46b9b9aae8cc
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants