All checks were successful
PR Checks / rust-gates (pull_request) Successful in 1m0s
The "Commit version bump and push tag" step had two problems, and the first hid the second. It has never once executed. An empty template expression written literally in one of its comments makes the runner fail to build the step's script, and a step it cannot build is skipped WITHOUT failing the job. That is why sidecar/Cargo.toml still says 0.1.0 after six releases, and why the tag-reuse handling added in #27 was dead on arrival. The tags exist because Gitea's release API creates one when it publishes -- the pipeline has been working by accident. And had it executed, it would have been declined: main is protected, so the push is rejected by the pre-receive hook. The installer's bundle job hit exactly that today. A release must not depend on a write to a protected branch. So the tag is the version, as it already is in servuo-plugins, whose release workflow was written this way on purpose and has never needed a protection exception. The workflow still writes the real version into Cargo.toml before building, so a released binary self-reports correctly; what it no longer does is commit that edit back. Nothing downstream reads the file -- the next version is computed from the newest tag. The comment is reworded so the step can actually run, and warns against writing that token in a comment again. No literal occurrence is left in this file. Co-Authored-By: Claude <noreply@anthropic.com>