Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Binary file removed .DS_Store
Binary file not shown.
100 changes: 32 additions & 68 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2,41 +2,36 @@ name: CI

on:
push:
branches: [ main, develop ]
branches: [main, develop]
pull_request:
branches: [ main, develop ]
branches: [main, develop]

jobs:
build-and-test:
runs-on: ubuntu-latest

strategy:
matrix:
node-version: [18.x, 20.x]
node-version: [22.x]

steps:
- uses: actions/checkout@v4
- uses: actions/checkout@v6

- name: Setup pnpm
uses: pnpm/action-setup@v2
with:
version: 8

uses: pnpm/action-setup@v4

- name: Setup Node.js ${{ matrix.node-version }}
uses: actions/setup-node@v4
uses: actions/setup-node@v6
with:
node-version: ${{ matrix.node-version }}
cache: 'pnpm'
cache: "pnpm"

- name: Install dependencies
run: pnpm install --frozen-lockfile

- name: Run tests
run: pnpm test

run: pnpm install

- name: Build package
run: pnpm build

- name: Verify build output
run: |
if [ ! -f dist/main.cjs ]; then
Expand All @@ -48,36 +43,34 @@ jobs:
test-generation:
runs-on: ubuntu-latest
needs: build-and-test

steps:
- uses: actions/checkout@v4
- uses: actions/checkout@v6

- name: Setup pnpm
uses: pnpm/action-setup@v2
with:
version: 8

uses: pnpm/action-setup@v4

- name: Setup Node.js
uses: actions/setup-node@v4
uses: actions/setup-node@v6
with:
node-version: 20.x
cache: 'pnpm'
node-version: 22.x
cache: "pnpm"

- name: Setup Go
uses: actions/setup-go@v5
uses: actions/setup-go@v6
with:
go-version: '1.23'
go-version: "1.24"
cache: false

- name: Install dependencies
run: pnpm install --frozen-lockfile
run: pnpm install

- name: Build package
run: pnpm build

- name: Generate test project
run: ./dist/main.cjs -y

- name: Verify generated files
run: |
cd go-server
Expand All @@ -94,7 +87,7 @@ jobs:
exit 1
fi
echo "All expected files generated"

- name: Build generated Go server
run: |
cd go-server
Expand All @@ -104,32 +97,3 @@ jobs:
exit 1
fi
echo "Go server built successfully"

- name: Run Go tests
run: |
cd go-server
go test ./...

lint:
runs-on: ubuntu-latest

steps:
- uses: actions/checkout@v4

- name: Setup pnpm
uses: pnpm/action-setup@v2
with:
version: 8

- name: Setup Node.js
uses: actions/setup-node@v4
with:
node-version: 20.x
cache: 'pnpm'

- name: Install dependencies
run: pnpm install --frozen-lockfile

- name: Check TypeScript
run: pnpm exec tsc --noEmit

40 changes: 0 additions & 40 deletions .github/workflows/coverage.yml

This file was deleted.

21 changes: 21 additions & 0 deletions .github/workflows/create-release.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
name: Create Release
on:
workflow_dispatch:

jobs:
create-release:
runs-on: ubuntu-latest
permissions:
contents: write
steps:
- name: Checkout
uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
node-version: "20"
- name: Create Release
uses: cycjimmy/semantic-release-action@v4
env:
GITHUB_TOKEN: ${{ secrets.RELEASE_TOKEN }}
with:
branch: main
42 changes: 20 additions & 22 deletions .github/workflows/publish.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2,42 +2,40 @@ name: Publish to NPM

on:
release:
types: [published]
types: [released]

jobs:
publish:
runs-on: ubuntu-latest

permissions:
contents: read
id-token: write

steps:
- uses: actions/checkout@v4
- uses: actions/checkout@v6

- name: Setup pnpm
uses: pnpm/action-setup@v2
with:
version: 8

uses: pnpm/action-setup@v4

- name: Setup Node.js
uses: actions/setup-node@v4
uses: actions/setup-node@v6
with:
node-version: 20.x
cache: 'pnpm'
registry-url: 'https://registry.npmjs.org'

node-version: 22.x
registry-url: "https://registry.npmjs.org"

- name: Update version from release tag
run: |
VERSION=${GITHUB_REF_NAME#v}
npm version $VERSION --no-git-tag-version

- name: Install dependencies
run: pnpm install --frozen-lockfile

- name: Run tests
run: pnpm test

run: pnpm install

- name: Build package
run: pnpm build

- name: Publish to NPM
run: pnpm publish --no-git-checks --access public
run: pnpm publish --access public
env:
NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}

4 changes: 3 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -2,4 +2,6 @@ dist
coverage
node_modules
abc
go-server
go-server
.DS_Store
!pnpm-lock.yaml
8 changes: 8 additions & 0 deletions .releaserc
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
{
plugins:
[
"@semantic-release/commit-analyzer",
"@semantic-release/release-notes-generator",
"@semantic-release/github",
],
}
1 change: 1 addition & 0 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@
"name": "create-go-server",
"version": "1.0.0",
"type": "module",
"packageManager": "pnpm@10.0.0",
"bin": {
"create-go-server": "./dist/main.cjs"
},
Expand Down
Loading