Skip to content

chore: add knope release workflow - #41

Merged
pcfreak30 merged 1 commit into
developfrom
chore/add-knope-release-ci
Aug 29, 2026
Merged

chore: add knope release workflow#41
pcfreak30 merged 1 commit into
developfrom
chore/add-knope-release-ci

Conversation

@pcfreak30

@pcfreak30pcfreak30 commented Aug 29, 2026

Copy link
Copy Markdown
Member

Adds knope release automation mirroring the ipfs-sdk/portal-sdk setup: a manual Release workflow that bumps the versioned go.mod and opens a GitHub release.

Matches local Go CI; tags the go.mod module line at v0.3.18 and commits go.sum for reproducible builds.


Summary

This pull request adds an automated release workflow for the repository using Knope, a release automation tool.

Changes

New Files Added

  1. .github/workflows/release.yml - A GitHub Actions workflow that:

    • Can be triggered manually via the GitHub UI (workflow_dispatch)
    • Includes necessary permissions to write to the repository contents
    • Checks out the code with full git history (needed for version determination)
    • Configures Git user credentials for commit operations
    • Installs Knope version 0.21.7
    • Executes the release process with appropriate GitHub token authentication
  2. knope.toml - A Knope configuration file that:

    • Defines the package configuration, specifying that version updates should be applied to go.mod files
    • Configures changelog generation to write to CHANGELOG.md
    • Sets the GitHub repository as LumeWeb/queryutil

Purpose

This change introduces an automated release process that will handle version bumps, changelog generation, and GitHub releases when triggered, streamlining the release management workflow for the project.

@kody-ai

kody-aiBot commented Aug 29, 2026

Copy link
Copy Markdown

Code Review Completed! 🔥

The code review was successfully completed based on your current configurations.

Kody Guide: Usage and Configuration
Interacting with Kody
  • Request a Review: Ask Kody to review your PR manually by adding a comment with the @kody start-review command at the root of your PR.

  • Validate Business Logic: Ask Kody to validate your code against business rules by adding a comment with the @kody -v business-logic command.

  • Provide Feedback: Help Kody learn and improve by reacting to its comments with a 👍 for helpful suggestions or a 👎 if improvements are needed.

Current Kody Configuration
Review Options

The following review options are enabled or disabled:

OptionsEnabled
Bug
Performance
Security
Business Logic

Access your configuration settings here.

@pcfreak30
pcfreak30force-pushed the chore/add-knope-release-ci branch from e9b4832 to 43363caCompareAugust 29, 2026 03:00
version: 0.21.7

- name: Create Release
run: knope release --verbose

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

kody code-reviewBughigh

The manual knope release --verbose run fails outright when there are no release-worthy Conventional Commits since the last tag, because knope's PrepareRelease defaults to allow_empty=false and this repo has no .changeset/ directory. A workflow_dispatch release after only chore/docs/cosmetic commits (this very change is a chore: PR) aborts the job instead of reporting 'nothing to release', and the operator cannot force a version without a manual conflict-free path. Either add a [workflows.release] config that sets allow_empty = true (or uses changesets), or document that operators must pass knope release --override-version vX.Y.Z when bumping from a clean/chore-only commit range.

run: knope release --verbose --override-version v0.4.0 # or add allow_empty=true / changesets workflow in knope.toml
Prompt for LLM

File .github/workflows/release.yml:
Line 30:
The manual `knope release --verbose` run fails outright when there are no release-worthy Conventional Commits since the last tag, because knope's PrepareRelease defaults to allow_empty=false and this repo has no `.changeset/` directory. A workflow_dispatch release after only chore/docs/cosmetic commits (this very change is a `chore:` PR) aborts the job instead of reporting 'nothing to release', and the operator cannot force a version without a manual conflict-free path. Either add a `[workflows.release]` config that sets `allow_empty = true` (or uses changesets), or document that operators must pass `knope release --override-version vX.Y.Z` when bumping from a clean/chore-only commit range.
Suggested Code:
run: knope release --verbose --override-version v0.4.0 # or add allow_empty=true / changesets workflow in knope.toml

Talk to Kody by mentioning @kody

Was this suggestion helpful? React with 👍 or 👎 to help Kody learn from this interaction.

Comment threadknope.toml
Comment on lines +1 to +3
[package]
versioned_files = ["go.mod"]
changelog = "CHANGELOG.md"

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

kody code-reviewBughigh

knope.toml declares changelog = "CHANGELOG.md", but no CHANGELOG.md exists anywhere in the repo. Knope's release/prepare steps update an existing changelog file, so with the file absent the changelog update has no target and the new automated release can fail or silently skip changelog generation, breaking the release workflow it was created to automate. Add an empty CHANGELOG.md (e.g. a # Changelog header) to the repository before running knope, and/or run knope release --dry-run first to confirm behavior.

# Commit an empty CHANGELOG.md to the repo first, e.g.:# # Changelog
[package]
versioned_files = ["go.mod"]
changelog = "CHANGELOG.md"
Prompt for LLM

File knope.toml:
Line 1 to 3:
knope.toml declares `changelog = "CHANGELOG.md"`, but no CHANGELOG.md exists anywhere in the repo. Knope's release/prepare steps update an existing changelog file, so with the file absent the changelog update has no target and the new automated release can fail or silently skip changelog generation, breaking the release workflow it was created to automate. Add an empty `CHANGELOG.md` (e.g. a `# Changelog` header) to the repository before running knope, and/or run `knope release --dry-run` first to confirm behavior.
Suggested Code:
# Commit an empty CHANGELOG.md to the repo first, e.g.:
# # Changelog
[package]
versioned_files = ["go.mod"]
changelog = "CHANGELOG.md"

Talk to Kody by mentioning @kody

Was this suggestion helpful? React with 👍 or 👎 to help Kody learn from this interaction.

@github-actions

Copy link
Copy Markdown

Code Coverage Report

Total Coverage: 88.8%

Generated from commit: b406ae0
Repository: LumeWeb/queryutil

@pcfreak30
pcfreak30 merged commit 386c188 into developAug 29, 2026
3 checks passed
@pcfreak30
pcfreak30 deleted the chore/add-knope-release-ci branch August 29, 2026 03:03
Sign up for freeto 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

@pcfreak30