feature/ci-docs
claude/smbcloud-github-app-k9641p
development
feature/apps
feature/build-release
feature/ci-docs
feature/ci-ruby-gems
feature/cicd
feature/completion
feature/dist-nuget
feature/fix-ci-sdk-pypi-rubygem
feature/fix-clippy-on-stable-channel
feature/fix-deployment-script
feature/github-email
feature/gresiq-v1
feature/project-new-structure
feature/rsync-deploy
feature/ruby-runner
feature/sdk-npm
feature/sdk-workflows
feature/smbcloud-cli-release-npm
feature/smbcloud-deploy
feature/wasm
main
release/v0.7.4
| 1 | .PHONY: help release patch minor major custom sync-release-metadata regenerate-release-lockfiles |
| 2 | |
| 3 | help: |
| 4 | @echo "Release commands:" |
| 5 | @echo " make patch" |
| 6 | @echo " make minor" |
| 7 | @echo " make major" |
| 8 | @echo " make custom VERSION=0.3.40" |
| 9 | |
| 10 | release: |
| 11 | @test -n "$(BUMP)" || (echo "BUMP is required" && exit 1) |
| 12 | @if [ "$(BUMP)" = "custom" ] && [ -z "$(VERSION)" ]; then echo "VERSION is required for custom releases"; exit 1; fi |
| 13 | @if [ "$$(git branch --show-current)" != "development" ]; then echo "Releases must be prepared on the development branch"; exit 1; fi |
| 14 | @if [ -n "$$(git status --short --untracked-files=all)" ]; then echo "Working tree must be clean before running a release"; exit 1; fi |
| 15 | @if [ "$(BUMP)" = "custom" ]; then \ |
| 16 | cargo workspaces version custom "$(VERSION)" --yes --no-git-commit --no-git-tag --no-git-push --allow-branch "*" --force "*"; \ |
| 17 | else \ |
| 18 | cargo workspaces version "$(BUMP)" --yes --no-git-commit --no-git-tag --no-git-push --allow-branch "*" --force "*"; \ |
| 19 | fi |
| 20 | @$(MAKE) sync-release-metadata |
| 21 | @$(MAKE) regenerate-release-lockfiles |
| 22 | @release_version=$$(sed -n 's/^version = "\(.*\)"/\1/p' crates/cli/Cargo.toml | head -n 1); \ |
| 23 | if [ -z "$$release_version" ]; then echo "Unable to determine release version from crates/cli/Cargo.toml"; exit 1; fi; \ |
| 24 | git add -A; \ |
| 25 | git commit -m "Release $$release_version"; \ |
| 26 | git tag "v$$release_version"; \ |
| 27 | echo "Release $$release_version prepared locally."; \ |
| 28 | echo "Next: git push origin development && git push origin v$$release_version" |
| 29 | |
| 30 | sync-release-metadata: |
| 31 | @node ./scripts/sync-release-version.mjs |
| 32 | |
| 33 | regenerate-release-lockfiles: |
| 34 | @cargo generate-lockfile --manifest-path sdk/gems/auth/Cargo.toml |
| 35 | @cargo generate-lockfile --manifest-path sdk/gems/model/Cargo.toml |
| 36 | @bundle lock --gemfile sdk/gems/auth/Gemfile |
| 37 | @bundle lock --gemfile sdk/gems/model/Gemfile |
| 38 | |
| 39 | patch: |
| 40 | @$(MAKE) release BUMP=patch |
| 41 | |
| 42 | minor: |
| 43 | @$(MAKE) release BUMP=minor |
| 44 | |
| 45 | major: |
| 46 | @$(MAKE) release BUMP=major |
| 47 | |
| 48 | custom: |
| 49 | @$(MAKE) release BUMP=custom VERSION="$(VERSION)" |