Skip to content

Commit ca004f3

Browse files
committed
feat: add GitHub workflows for releases and changelog
- Add release-please workflow for semantic versioning - Add build workflow for multi-platform Tauri builds - Add initial CHANGELOG.md
1 parent 04c4141 commit ca004f3

File tree

5 files changed

+129
-0
lines changed

5 files changed

+129
-0
lines changed

.github/workflows/build.yml

Lines changed: 69 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,69 @@
1+
name: Build & Release
2+
3+
on:
4+
release:
5+
types: [published]
6+
workflow_dispatch:
7+
inputs:
8+
tag:
9+
description: 'Release tag (e.g., v0.1.0)'
10+
required: false
11+
12+
permissions:
13+
contents: write
14+
15+
jobs:
16+
build:
17+
strategy:
18+
fail-fast: false
19+
matrix:
20+
include:
21+
- platform: macos-latest
22+
args: --target aarch64-apple-darwin
23+
target: aarch64-apple-darwin
24+
- platform: macos-latest
25+
args: --target x86_64-apple-darwin
26+
target: x86_64-apple-darwin
27+
- platform: ubuntu-22.04
28+
args: ''
29+
target: ''
30+
- platform: windows-latest
31+
args: ''
32+
target: ''
33+
34+
runs-on: ${{ matrix.platform }}
35+
steps:
36+
- uses: actions/checkout@v4
37+
38+
- name: Setup Node
39+
uses: actions/setup-node@v4
40+
with:
41+
node-version: 'lts/*'
42+
cache: 'npm'
43+
44+
- name: Install Rust stable
45+
uses: dtolnay/rust-action@stable
46+
with:
47+
targets: ${{ matrix.target }}
48+
49+
- name: Install dependencies (Ubuntu)
50+
if: matrix.platform == 'ubuntu-22.04'
51+
run: |
52+
sudo apt-get update
53+
sudo apt-get install -y libwebkit2gtk-4.1-dev libappindicator3-dev librsvg2-dev patchelf
54+
55+
- name: Install frontend dependencies
56+
run: npm ci
57+
58+
- name: Build Tauri app
59+
uses: tauri-apps/tauri-action@v0
60+
env:
61+
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
62+
TAG_NAME: ${{ github.event.release.tag_name || inputs.tag || 'v0.0.0' }}
63+
with:
64+
tagName: ${{ env.TAG_NAME }}
65+
releaseName: 'One Man Band ${{ env.TAG_NAME }}'
66+
releaseBody: 'See the assets below for downloads. Check CHANGELOG.md for details.'
67+
releaseDraft: false
68+
prerelease: false
69+
args: ${{ matrix.args }}
Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
name: Release Please
2+
3+
on:
4+
push:
5+
branches:
6+
- main
7+
8+
permissions:
9+
contents: write
10+
pull-requests: write
11+
12+
jobs:
13+
release-please:
14+
runs-on: ubuntu-latest
15+
outputs:
16+
release_created: ${{ steps.release.outputs.release_created }}
17+
tag_name: ${{ steps.release.outputs.tag_name }}
18+
steps:
19+
- uses: googleapis/release-please-action@v4
20+
id: release
21+
with:
22+
token: ${{ secrets.GITHUB_TOKEN }}
23+
config-file: release-please-config.json
24+
manifest-file: .release-please-manifest.json

.release-please-manifest.json

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
{
2+
".": "0.1.0"
3+
}

CHANGELOG.md

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
# Changelog
2+
3+
All notable changes to this project will be documented in this file.
4+
5+
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
6+
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
7+
8+
## [Unreleased]
9+
10+
### Added
11+
- Initial release with git worktree management
12+
- Configurable main command (default: claude)
13+
- Terminal panel with xterm.js
14+
- File change tracking with git status
15+
- Project and worktree sidebar
16+
- Copy gitignored files to new worktrees

release-please-config.json

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
{
2+
"$schema": "https://raw.githubusercontent.com/googleapis/release-please/main/schemas/config.json",
3+
"packages": {
4+
".": {
5+
"release-type": "node",
6+
"bump-minor-pre-major": true,
7+
"bump-patch-for-minor-pre-major": true,
8+
"include-component-in-tag": false,
9+
"include-v-in-tag": true,
10+
"changelog-path": "CHANGELOG.md",
11+
"extra-files": [
12+
"src-tauri/Cargo.toml",
13+
"src-tauri/tauri.conf.json"
14+
]
15+
}
16+
}
17+
}

0 commit comments

Comments
 (0)