44 lines
1.4 KiB
YAML
44 lines
1.4 KiB
YAML
version: "3"
|
|
|
|
tasks:
|
|
bump:
|
|
desc: Bump version (usage - task release:bump -- patch|minor|major)
|
|
dir: "{{.ROOT_DIR}}"
|
|
requires:
|
|
vars:
|
|
- name: CLI_ARGS
|
|
enum: [patch, minor, major]
|
|
preconditions:
|
|
- sh: test -z "$(git status --porcelain)"
|
|
msg: "Working directory not clean. Commit or stash changes first."
|
|
vars:
|
|
BUMP_TYPE: "{{.CLI_ARGS}}"
|
|
cmds:
|
|
- echo "Creating {{.BUMP_TYPE}} release..."
|
|
- cd sync-server && cargo set-version --bump {{.BUMP_TYPE}}
|
|
- cd frontend && npm version {{.BUMP_TYPE}} --workspaces
|
|
- cp frontend/obsidian-plugin/manifest.json manifest.json
|
|
- task: :format
|
|
- |
|
|
git add .
|
|
TAG=$(node -p "require('./frontend/obsidian-plugin/package.json').version")
|
|
git commit -m "Bump versions to $TAG"
|
|
git push
|
|
git tag -a $TAG -m "Release $TAG"
|
|
git push origin $TAG
|
|
echo "Released $TAG"
|
|
|
|
create-release:
|
|
desc: Create GitHub release with all artifacts
|
|
dir: "{{.ROOT_DIR}}"
|
|
cmds:
|
|
- task: :db:setup
|
|
- task: :frontend:build
|
|
- task: :rust:build-binaries
|
|
- |
|
|
tag="${GITHUB_REF#refs/tags/}"
|
|
mkdir -p release
|
|
cp frontend/obsidian-plugin/dist/* release/
|
|
cp sync-server/artifacts/sync-server-* release/
|
|
cd release
|
|
gh release create "$tag" --title="$tag" --draft *
|