Skip to content

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.

  • The matching tag exists locally and on origin, and both resolve to HEAD.
  • The worktree and index are clean.
  • CHANGELOG.md contains the normalized snapshot version.
  • curl, git, jq, security, and shasum are available.
  • A Codeberg token has push permission for SakuraSedaia/blender_pycharm.

Store the token in macOS Keychain:

Terminal window
security add-generic-password \
-a "$USER" \
-s codeberg-release-token \
-w \
-U

Run the local-only check before accessing Codeberg or Keychain:

Terminal window
scripts/release-codeberg.sh --check

The script derives the tag, release name, changelog section, and distribution ZIP name from the Gradle version.

Run the complete compile, test, plugin build, release, upload, download, and checksum workflow:

Terminal window
scripts/release-codeberg.sh

If the exact distribution ZIP was already built and validated, skip only the build stage:

Terminal window
scripts/release-codeberg.sh --skip-build
  • 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.