Skip to content

docs: clarify how release/publish process works today#157

Merged
felickz merged 5 commits into
mainfrom
docs-release-process-today
Jul 7, 2026
Merged

docs: clarify how release/publish process works today#157
felickz merged 5 commits into
mainfrom
docs-release-process-today

Conversation

@felickz

@felickz felickz commented Jul 7, 2026

Copy link
Copy Markdown
Contributor

What this is

A docs-only PR that documents the actual, current release/publish process in CONTRIBUTING.md as checkbox checklists: no new scripts, workflows, or automation. This is a lighter-weight alternative scoped to just clarifying today's manual process, split out from a heavier automation-first draft (#156) that's being left as a possible future option.

New "Releases & publishing" section covers:

  • Shipping a change to a query/library pack: publish.yml runs 4 independent jobs (queries/library/extensions/library_sources_extensions), each matrixed per-language. Each <language> x <pack type> combination is checked and published completely independently: it only compares/publishes that one pack's version vs. GHCR. Concretely:
    • You only need to bump the version of the pack(s) you actually changed (e.g. changing java/src only requires bumping java/src/qlpack.yml, no need to touch csharp, go, python, etc.).
    • Nothing cascades: if a PR touches two packs, each needs its own bump.
    • Merging alone never publishes anything; the pack's own version: must change.
  • Updating the pinned CodeQL CLI/library version: fully manual today (.codeqlversion bump, codeql pack upgrade per pack, fixing breakage, bumping affected pack versions). Uses the real, current v2.21.1 update (Update dependencies to packs shipped with 2.21.1 #124 dependency refresh and feat(version): v0.2.2 #126 pack version bump PR) as a historical example of how this can get split across PRs and why the second PR shouldn't be forgotten.
  • What GitHub Releases are for: clarifies .release.yml/update-release.yml/the Releases tab are a separate, decoupled, manual changelog process, and notes they're currently out of sync with what's actually published on GHCR.

Why split from #156

#156 bundles this doc update with new CI automation (version-bump-check safeguard, CodeQL release detection, published-version inventory). Good ideas, but heavier-handed than needed to answer "how does this actually work today." This PR lands the documentation on its own so it's easy to review/merge quickly; #156 remains open as a future option if we want to build out the automation later.

felickz and others added 2 commits July 6, 2026 17:43
Add a "Releases & publishing" section describing how things actually
work today, as checkbox checklists rather than prose:

- Shipping a change to a query/library pack: publish.yml only
  publishes a pack when its qlpack.yml `version:` differs from what's
  on GHCR, so merging alone never publishes anything - a version bump
  is a required manual step.
- Updating the pinned CodeQL CLI/library version: also fully manual
  today (.codeqlversion bump, `codeql pack upgrade` per pack, fixing
  breakage, bumping affected pack versions). Notes that the current
  v2.21.1 update split this across #124 (dependency refresh) and #126
  (still-open pack version bump PR) as a live example of the gap.
- What GitHub Releases are for: clarifies .release.yml/update-release.yml
  and the Releases tab are a separate, decoupled, manual changelog
  process - and that they're currently out of sync with what's
  actually published on GHCR.

This documents the process as it exists today; no new automation,
scripts, or workflows are introduced. Kept intentionally minimal per
feedback that a heavier automation-first pass (branch
release-process-health-roadmap / PR #156) should stay a separate,
future option rather than ship alongside this doc update.

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Each <language> x <pack type> combination (queries/lib/ext/ext-library-sources)
is checked and published completely independently in publish.yml - touching
one language's pack only requires bumping that pack's own version, not any
other language or pack type. Added an explicit callout plus inline notes in
the checklist so this isn't ambiguous.

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Copilot AI review requested due to automatic review settings July 7, 2026 14:56

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Pull request overview

Adds a new documentation section to CONTRIBUTING.md explaining how releases and GHCR pack publishing currently work in this repository, emphasizing the manual steps and the separation between GitHub Releases and pack publication.

Changes:

  • Documented the current publish.yml behavior and the per-pack version-bump requirement for GHCR publishing.
  • Added a checklist for updating the pinned CodeQL CLI/library version (including the need to bump affected pack versions to actually publish changes).
  • Clarified the role of .release.yml / update-release.yml and why GitHub Releases can be out of sync with what’s published to GHCR.
Show a summary per file
File Description
CONTRIBUTING.md Adds a new “Releases & publishing” section describing the current manual publishing/release processes and related workflows/links.

Review details

Tip

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

  • Files reviewed: 1/1 changed files
  • Comments generated: 3
  • Review effort level: Low

Comment thread CONTRIBUTING.md Outdated
Comment thread CONTRIBUTING.md Outdated
Comment thread CONTRIBUTING.md Outdated
felickz and others added 3 commits July 7, 2026 12:59
- Clarify #126 (bump-all-packs) has sat unmerged since Apr 2025, predating
  #124's CLI 2.21.1 refresh - so only java has actually published
  2.21.1-era content; other 6 languages' GHCR packages are still stale.
- Clarify the .release.yml configs/*.yml pattern is dead (never matched
  in repo history) and the libs: pin pattern only applies to 5/7 langs.

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
…state

- Rephrase pack-directory checklist item to list pack roots explicitly
  instead of mixing a generic notion with one example path.
- Recast the #124/#126 note as a historical lesson instead of asserting
  #126's current PR state (which will go stale once it merges/closes).
- Describe the release/publish version drift conceptually instead of
  citing specific version numbers that will rot as things change.

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
@felickz

felickz commented Jul 7, 2026

Copy link
Copy Markdown
Contributor Author

Bluntly documenting this as current state as many maintainers have left this project and I need to wrap my head around all the things. ⏩

@felickz felickz merged commit de643b5 into main Jul 7, 2026
21 checks passed
@felickz felickz deleted the docs-release-process-today branch July 7, 2026 17:15
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