Add release procedure and automation gates - #625
Conversation
There was a problem hiding this comment.
Pull request overview
This PR formalizes the project’s release process by replacing the old checklist with a detailed release procedure and a release-issue template, and adds tooling/CI gates to make release preparation more reproducible and less likely to consume CI resources prematurely.
Changes:
- Add
make releaseorchestration that runs an isolated-worktree release assembly script (scripts/release.sh) and stages artifacts + checksums. - Add containerized Ubuntu/Fedora
distcheckgates (Dockerfiles + Makefile targets) and update.dockerignorefor container contexts. - Update multiple GitHub Actions workflows to skip runner-consuming jobs while PRs are drafts (run on
ready_for_review).
Reviewed changes
Copilot reviewed 13 out of 13 changed files in this pull request and generated 5 comments.
Show a summary per file
| File | Description |
|---|---|
scripts/release.sh |
New isolated-worktree release assembly script that runs distcheck gates and stages artifacts/logs/checksums. |
Makefile.am |
Adds release target plus container distcheck targets; ensures release assets are distributed. |
etc/Dockerfile.ubuntu-distcheck |
Ubuntu container build that installs deps (incl. libewf legacy) and runs make distcheck. |
etc/Dockerfile.fedora-distcheck |
Fedora container build that installs deps (incl. libewf legacy) and runs make distcheck. |
doc/RELEASE_PROCEDURE.md |
New end-to-end release procedure documenting gates, artifact assembly, and publication workflow. |
doc/RELEASE_CHECKLIST.txt |
Removes the old manual checklist in favor of the new procedure. |
AGENTS.md |
Expands AI contributor instructions (commit identity/signing verification and branch cleanup guidance). |
.github/workflows/mingw.yml |
Skips MinGW job for draft PRs; runs when marked ready for review. |
.github/workflows/latex-docs.yml |
Skips LaTeX docs job for draft PRs; runs when marked ready for review. |
.github/workflows/codecov.yml |
Skips Codecov job for draft PRs; runs when marked ready for review. |
.github/workflows/ci-cd.yml |
Skips CI jobs for draft PRs; runs when marked ready for review. |
.github/ISSUE_TEMPLATE/release.yml |
Adds a structured release issue template to record evidence and artifact provenance safely. |
.dockerignore |
Expands ignores to keep Docker build contexts clean and avoid including release staging dirs/artifacts. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
Consolidate historical roadmaps into release notes
Update man page for bulk_extractor 2.2
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## main #625 +/- ##
=======================================
Coverage 77.49% 77.49%
=======================================
Files 118 118
Lines 14119 14119
=======================================
Hits 10941 10941
Misses 3178 3178
Flags with carried forward coverage won't be shown. Click here to find out more. ☔ View full report in Codecov by Harness. 🚀 New features to boost your workflow:
|
Summary
make releasea thin, fail-closed entry point to an isolated-worktree release scriptdistcheckand container validationValidation
git diff --checkpassedbash -n scripts/release.shpassedmake releasefails before creating a worktree when required artifacts are absentdistcheckcould runCI behavior
This is deliberately a draft PR. Repository-managed CI jobs should appear skipped while it remains a draft, then run on
ready_for_review. GitHub default CodeQL is separately configured; its one draft run was cancelled.