Skip to content

Add CI draft release job for version tags - #304

Merged
dominicletz merged 3 commits into
masterfrom
letz/ci-draft-release
Jul 10, 2026
Merged

Add CI draft release job for version tags#304
dominicletz merged 3 commits into
masterfrom
letz/ci-draft-release

Conversation

@dominicletz

Copy link
Copy Markdown
Member

Summary

  • Add a tag-gated create_draft_release CI job that runs after build and smoke tests pass on v* tag pushes.
  • Introduce deployment/stage_release_artifacts.sh to map CI artifact downloads into the inputs expected by deployment/extract.exs, producing the same 8 release assets as existing releases.
  • Introduce deployment/release_notes.sh to generate draft release notes from git commits since the previous v* tag (one line per commit).

Test plan

  • Local dry-run of staging + extract.exs produces all 8 expected out/ assets
  • Local dry-run of release_notes.sh v1.18.7 prints expected commit log
  • CI workflow YAML validates
  • Push a new v* tag after merge and confirm a draft release is created with 8 assets and commit-log body

Made with Cursor

Automate draft GitHub releases on v* tag pushes by staging CI artifacts, running extract.exs, and attaching commit-log release notes.

Co-authored-by: Cursor <cursoragent@cursor.com>

@gemini-code-assist gemini-code-assist Bot 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.

Code Review

This pull request introduces two new deployment scripts: release_notes.sh for generating release logs and stage_release_artifacts.sh for packaging and staging release artifacts. The review feedback highlights critical improvements for portability and robustness, including handling potential undefined behavior in awk when getline reaches EOF, resolving relative staging paths to absolute paths to prevent subshell failures, and replacing the GNU-specific find -quit flag with a portable alternative to ensure compatibility with macOS.

Important

The consumer version of Gemini Code Assist on GitHub is being sunset. Starting June 18, 2026, new organization installations will be blocked, and all code review activity will officially cease on July 17, 2026.
For more details on the timeline and next steps, please review the Help Documentation.

Comment thread deployment/release_notes.sh Outdated
Comment thread deployment/stage_release_artifacts.sh Outdated
Comment thread deployment/stage_release_artifacts.sh Outdated
dominicletz and others added 2 commits July 10, 2026 14:47
Guard awk getline at EOF, resolve staging dir to an absolute path before subshell zips, and replace GNU find -quit with head for macOS compatibility.

Co-authored-by: Cursor <cursoragent@cursor.com>
Write final release assets directly from CI downloads, drop Elixir setup from the workflow, and use git describe for previous-tag lookup.

Co-authored-by: Cursor <cursoragent@cursor.com>
@dominicletz
dominicletz merged commit 12f54d4 into master Jul 10, 2026
22 of 25 checks passed
@dominicletz
dominicletz deleted the letz/ci-draft-release branch July 10, 2026 13:30
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.

1 participant