mirror of
https://github.com/AventurasTeam/Aventuras.git
synced 2026-10-21 05:22:11 +00:00
## Summary `scripts/release.js` no longer cuts a `release/vX.Y.Z` branch and fast-forwards the original branch afterwards. It now refuses to run from any branch but `master`, commits the version bump there, tags it, and pushes `master` and the tag in one atomic push. The version on `master` is then always the version that was tagged, and the tag can never point at a commit `master` lacks. ## Changes **Release script (`scripts/release.js`)** - Removes the `release/vX.Y.Z` branch and the best-effort merge-back step, along with the `--no-merge-back` flag. - Pre-flight fails unless the current branch is `master` (or reports a detached HEAD), before anything is written. - Pushes `master` and the tag with `git push --atomic`. - Pre-flight also checks that the remote copy of the branch is an ancestor of `HEAD`, using the SHA from the existing `ls-remote` call. A remote with commits the checkout lacks fails up front, instead of rejecting the push after the bump is committed and tagged. - Rollback now runs `git reset --hard` to the starting commit and deletes the tag, replacing the checkout-and-delete-branch cleanup. **Docs and CI comments** - `docs/development/release.md`: the "Cutting a New Release" steps, preconditions and rollback description match the new flow. - `.github/workflows/ci.yml` and the matching paragraph in `release.md`: comments describing the bump push as a fast-forward now say it is a push to `master`. ## Testing Not run. `release.js` has no tests, and I did not run `npm run release -- patch --dry-run`. 🤖 Generated with [Claude Code](https://claude.com/claude-code) https://claude.ai/code/session_01NH3m3rkE2Mm9Bz5Eonpfxz <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit * **Chores** * Releases are now created from `master`; release attempts from other branches or detached checkouts are rejected. * The version update and release tag are pushed together. Checks catch existing tags and remote changes not present locally, and failed pushes restore the branch to its starting point. <!-- end of auto-generated comment: release notes by coderabbit.ai --> --------- Co-authored-by: Claude Sonnet 5.5 <noreply@anthropic.com> |
||
|---|---|---|
| .. | ||
| ci | ||
| android-setup.sh | ||
| build-ios-unsigned.sh | ||
| check_migrations.js | ||
| check_wry_injection.js | ||
| fake-provider.mjs | ||
| package-manager.js | ||
| package-manager.test.js | ||
| pm.js | ||
| release.js | ||
| remote.js | ||
| remote.test.js | ||
| sync-ios-icons.sh | ||
| version.js | ||
| version.test.js | ||