Skip to content

Commit cda3059

Browse files
committed
ci: add release ci
1 parent 839fb95 commit cda3059

File tree

20 files changed

+1439
-30
lines changed

20 files changed

+1439
-30
lines changed

.github/workflows/release.yml

Lines changed: 59 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -1,23 +1,67 @@
1-
name: release
1+
name: Release
22

33
on:
4-
push:
5-
tags:
6-
- "v*.*.*"
7-
- "v*.*.*-pre"
84
workflow_dispatch:
9-
5+
inputs:
6+
package:
7+
description: "The published name of a single package to release"
8+
type: choice
9+
required: false
10+
options:
11+
- "all"
12+
- "@nanoforge-dev/actions"
13+
- "@nanoforge-dev/asset-manager"
14+
- "@nanoforge-dev/common"
15+
- "@nanoforge-dev/config"
16+
- "@nanoforge-dev/core"
17+
- "@nanoforge-dev/docgen"
18+
- "@nanoforge-dev/ecs-client"
19+
- "@nanoforge-dev/ecs-lib"
20+
- "@nanoforge-dev/ecs-server"
21+
- "@nanoforge-dev/graphics-2d"
22+
- "@nanoforge-dev/input"
23+
- "@nanoforge-dev/music"
24+
- "@nanoforge-dev/network-client"
25+
- "@nanoforge-dev/network-server"
26+
- "@nanoforge-dev/sound"
27+
- "@nanoforge-dev/utils-eslint-config"
28+
- "@nanoforge-dev/utils-prettier-config"
29+
exclude:
30+
description: "Comma separated list of packages to exclude from release (if not depended upon)"
31+
required: false
32+
type: string
33+
dry_run:
34+
description: Perform a dry run?
35+
type: boolean
36+
default: false
1037
jobs:
11-
release:
38+
npm-publish:
39+
name: npm publish
1240
runs-on: ubuntu-latest
13-
name: Building stack
41+
if: github.repository_owner == 'NanoForge-dev'
1442
steps:
15-
- name: Checkout
16-
uses: actions/checkout@v5
43+
- name: Checkout repository
44+
uses: actions/checkout@v6
45+
46+
- name: Install Node.js v24
47+
uses: actions/setup-node@v6
48+
with:
49+
node-version: 24
50+
package-manager-cache: false
51+
registry-url: https://registry.npmjs.org/
52+
53+
- name: Install dependencies
54+
uses: ./utils/actions/src/pnpm-install
55+
56+
- name: Build dependencies
57+
run: pnpm run build
1758

18-
- name: Release
19-
uses: softprops/action-gh-release@v2
20-
if: startsWith(github.ref, 'refs/tags/')
59+
- name: Release packages
60+
uses: ./utils/actions/src/release-packages
2161
with:
22-
files: |
23-
CHANGELOG.md
62+
package: ${{ inputs.package }}
63+
exclude: ${{ inputs.exclude }}
64+
dry: ${{ inputs.dry_run }}
65+
env:
66+
NODE_AUTH_TOKEN: ${{ secrets.NPM_PUBLISH_TOKEN }}
67+
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}

.idea/betterCommentsSettings.xml

Lines changed: 31 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)