Skip to content

Commit 03dc85a

Browse files
committed
ci: add GitHub Actions workflows
Add workflows for: - Build: CI builds on PRs and pushes to main - Publish: Manual publish to VS Code Marketplace - Lint PR Title: Validate conventional commit format - Preview Changelog: Generate release notes preview - Contributors: Auto-update contributors in README Closes #9
1 parent c3f0158 commit 03dc85a

5 files changed

Lines changed: 95 additions & 0 deletions

File tree

.github/workflows/build.yml

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
name: Build
2+
3+
on:
4+
workflow_dispatch:
5+
pull_request:
6+
types: [opened, reopened, synchronize]
7+
paths:
8+
- 'src/**'
9+
- 'webview-ui/**'
10+
- 'package.json'
11+
- 'package-lock.json'
12+
- 'tsconfig.json'
13+
- '.github/workflows/build.yml'
14+
push:
15+
branches:
16+
- main
17+
18+
jobs:
19+
build:
20+
uses: CodingWithCalvin/.github/.github/workflows/vsc-vsix-build.yml@main
21+
with:
22+
extension-name: VSC-VsixManifestDesigner

.github/workflows/contributors.yml

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
name: Update Contributors
2+
3+
on:
4+
schedule:
5+
- cron: '0 6 * * *' # 1:00 AM EST / 2:00 AM EDT
6+
workflow_dispatch:
7+
8+
jobs:
9+
contributors:
10+
uses: CodingWithCalvin/.github/.github/workflows/contributors.yml@main
11+
with:
12+
output-format: html
13+
secrets: inherit
Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
name: Lint PR Title
2+
3+
on:
4+
pull_request:
5+
types: [opened, edited, reopened, synchronize]
6+
7+
permissions:
8+
contents: read
9+
pull-requests: read
10+
11+
jobs:
12+
lint-pr-title:
13+
name: Lint PR Title
14+
runs-on: ubuntu-latest
15+
steps:
16+
- name: Checkout code
17+
uses: actions/checkout@v4
18+
19+
- name: Setup Node.js
20+
uses: actions/setup-node@v4
21+
with:
22+
node-version: '20'
23+
24+
- name: Install commitlint
25+
run: |
26+
npm install --save-dev @commitlint/cli@18.4.3 @commitlint/config-conventional@18.4.3
27+
28+
- name: Validate PR title
29+
env:
30+
PR_TITLE: ${{ github.event.pull_request.title }}
31+
run: |
32+
echo "Validating PR title: $PR_TITLE"
33+
echo "$PR_TITLE" | npx commitlint --verbose
Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
name: Preview Changelog
2+
3+
run-name: Preview release notes for next release
4+
5+
on:
6+
workflow_dispatch:
7+
8+
jobs:
9+
preview:
10+
name: Preview
11+
uses: CodingWithCalvin/.github/.github/workflows/generate-changelog.yml@main
12+
secrets: inherit

.github/workflows/publish.yml

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
name: Publish to VS Code Marketplace
2+
3+
on:
4+
workflow_dispatch:
5+
6+
jobs:
7+
publish:
8+
uses: CodingWithCalvin/.github/.github/workflows/vsc-vsix-publish.yml@main
9+
with:
10+
extension-name: VSC-VsixManifestDesigner
11+
display-name: "VSIX Manifest Designer"
12+
marketplace-id: CodingWithCalvin.vsix-manifest-designer
13+
description: "A visual designer for VS Code extension manifest files"
14+
hashtags: "#vscode #extension #manifest #designer"
15+
secrets: inherit

0 commit comments

Comments
 (0)