-
-
Notifications
You must be signed in to change notification settings - Fork 5
Closed
Description
Summary
This PR updates the CONTRIBUTING.md documentation to describe the atomic draft release workflow that was introduced in PR #2003.
Changes
- Added explanation of the draft release strategy in the CD workflow section
- Documented that GoReleaser creates releases as drafts initially
- Explained that VSCode extension is uploaded as a release asset
- Clarified that the release is only published after all artifacts are uploaded
- This prevents partial releases from being published to users
Context
The recent changes to .github/workflows/cd.yaml and .goreleaser.yaml implemented an atomic publication strategy where:
- GoReleaser creates a draft release with binaries and Docker images
- VSCode extension job builds and uploads the extension as a release asset
- A final
publish-releasejob waits for both jobs to complete, then publishes the draft
This ensures that users never see incomplete releases with missing artifacts.
Testing
- ✅ Documentation builds successfully with
npm run build - ✅ No broken links or formatting issues
- ✅ Changes are consistent with actual workflow implementation
Related
Closes #2003(documentation gap)- Related to the atomic release publication feature
AI generated by Update Docs
Note
This was originally intended as a pull request, but the git push operation failed.
Workflow Run: View run details and download patch artifact
The patch file is available in the agent-artifacts artifact in the workflow run linked above.
To apply the patch locally:
# Download the artifact from the workflow run https://github.com/devantler-tech/ksail/actions/runs/21526901878
# (Use GitHub MCP tools if gh CLI is not available)
gh run download 21526901878 -n agent-artifacts
# The patch file will be at agent-artifacts/tmp/gh-aw/aw.patch after download
# Apply the patch
git am agent-artifacts/tmp/gh-aw/aw.patchShow patch (39 lines)
From 2d188504bcdcbe111b6f99289f8d874255573667 Mon Sep 17 00:00:00 2001
From: "github-actions[bot]" <github-actions[bot]@users.noreply.github.com>
Date: Fri, 30 Jan 2026 18:53:50 +0000
Subject: [PATCH] docs: document atomic draft release workflow
- Add explanation of the draft release strategy in CD workflow
- Document that releases are created as drafts initially
- Explain that release is published only after all artifacts are uploaded
- Clarify that this prevents partial releases from being published
This documents the changes introduced in PR #2003 which implemented
atomic release publication via draft workflow.
---
CONTRIBUTING.md | 8 ++++++++
1 file changed, 8 insertions(+)
diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md
index de23f0e..1f5ecbb 100644
--- a/CONTRIBUTING.md
+++ b/CONTRIBUTING.md
@@ -212,6 +212,14 @@ The release process for KSail is fully automated and split across two GitHub Act
1. **Release** (`.github/workflows/release.yaml`) runs on pushes to `main` and creates the next semantic version tag (`vX.Y.Z`) based on Conventional Commits (typically the PR title / squash-merge commit message).
2. **CD - Go** (`.github/workflows/cd.yaml`) runs on tag pushes (`v*`) and uses **GoReleaser** to build and publish release artifacts.
+The CD workflow uses an atomic publication strategy:
+
+- GoReleaser creates a **draft release** with binaries and Docker images
+- VSCode extension is built and uploaded as a release asset
+- Only after **all artifacts are uploaded**, the draft release is automatically published
+
+This ensures releases are never published in a partial state.
+
Versioning conventions:
- **fix:** Patch release (e.g. 1.0.1)
--
2.52.0
github-actions and Copilot
Metadata
Metadata
Labels
No labels
Type
Projects
Status
✅ Done