Skip to content

Commit 15be741

Browse files
committed
feat: add CI and release workflows for automated builds and deployments
1 parent 329ec95 commit 15be741

3 files changed

Lines changed: 88 additions & 1 deletion

File tree

.github/workflows/ci.yml

Lines changed: 39 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,39 @@
1+
name: CI
2+
3+
on:
4+
push:
5+
branches: [main]
6+
pull_request:
7+
branches: [main]
8+
9+
jobs:
10+
build:
11+
runs-on: ubuntu-latest
12+
13+
steps:
14+
- uses: actions/checkout@v4
15+
16+
- name: Setup Node.js
17+
uses: actions/setup-node@v4
18+
with:
19+
node-version: 20
20+
cache: npm
21+
22+
- name: Install root dependencies
23+
run: npm ci
24+
25+
- name: Install webview dependencies
26+
run: npm ci
27+
working-directory: webview-ui
28+
29+
- name: Build extension
30+
run: npm run build
31+
32+
- name: Package VSIX
33+
run: npx vsce package --out kanbancode-${{ github.sha }}.vsix
34+
35+
- name: Upload VSIX artifact
36+
uses: actions/upload-artifact@v4
37+
with:
38+
name: kanbancode-vsix
39+
path: "*.vsix"

.github/workflows/release.yml

Lines changed: 48 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,48 @@
1+
name: Release
2+
3+
on:
4+
release:
5+
types: [published]
6+
7+
jobs:
8+
release:
9+
runs-on: ubuntu-latest
10+
permissions:
11+
contents: write
12+
13+
steps:
14+
- uses: actions/checkout@v4
15+
16+
- name: Setup Node.js
17+
uses: actions/setup-node@v4
18+
with:
19+
node-version: 20
20+
cache: npm
21+
22+
- name: Install root dependencies
23+
run: npm ci
24+
25+
- name: Install webview dependencies
26+
run: npm ci
27+
working-directory: webview-ui
28+
29+
- name: Build extension
30+
run: npm run build
31+
32+
- name: Package VSIX
33+
run: npx vsce package --out kanbancode-${{ github.event.release.tag_name }}.vsix
34+
35+
- name: Upload VSIX to release
36+
uses: softprops/action-gh-release@v2
37+
with:
38+
files: "*.vsix"
39+
40+
- name: Publish to VS Code Marketplace
41+
run: npx vsce publish --packagePath kanbancode-${{ github.event.release.tag_name }}.vsix
42+
env:
43+
VSCE_PAT: ${{ secrets.VSCE_PAT }}
44+
45+
- name: Publish to Open VSX
46+
run: npx ovsx publish kanbancode-${{ github.event.release.tag_name }}.vsix -p ${{ secrets.OVSX_PAT }}
47+
env:
48+
OVSX_PAT: ${{ secrets.OVSX_PAT }}

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
"name": "kanbancode",
33
"displayName": "KanbanCode",
44
"description": "A Kanban board that lives inside VS Code — manage tasks with drag-and-drop, reference todos from code comments, and store everything in .vscode/kanban.json.",
5-
"version": "0.3.1",
5+
"version": "1.0.0",
66
"publisher": "ItsCoding",
77
"license": "MIT",
88
"repository": {

0 commit comments

Comments
 (0)