Publish a Codeberg snapshot
This maintainer workflow builds and publishes the snapshot version declared in build.gradle.kts. The release script does not create commits, tags, or branch updates.
Prerequisites
Section titled “Prerequisites”- The matching tag exists locally and on
origin, and both resolve toHEAD. - The worktree and index are clean.
CHANGELOG.mdcontains the normalized snapshot version.curl,git,jq,security, andshasumare available.- A Codeberg token has push permission for
SakuraSedaia/blender_pycharm.
Store the token in macOS Keychain:
security add-generic-password \ -a "$USER" \ -s codeberg-release-token \ -w \ -UValidate locally
Section titled “Validate locally”Run the local-only check before accessing Codeberg or Keychain:
scripts/release-codeberg.sh --checkThe script derives the tag, release name, changelog section, and distribution ZIP name from the Gradle version.
Publish
Section titled “Publish”Run the complete compile, test, plugin build, release, upload, download, and checksum workflow:
scripts/release-codeberg.shIf the exact distribution ZIP was already built and validated, skip only the build stage:
scripts/release-codeberg.sh --skip-buildSafety behavior
Section titled “Safety behavior”- An existing release is reused only when its tag, name, draft state, and pre-release state match.
- An existing same-name asset is downloaded and compared; it is never silently replaced.
- A new asset is uploaded once, downloaded, and checked against the local SHA-256 hash.
- Metadata, tag, changelog, or checksum mismatches stop the release.