Skip to content

Commit 7e771e5

Browse files
authored
ci: add release ci (#164)
1 parent 839fb95 commit 7e771e5

File tree

20 files changed

+1447
-29
lines changed

20 files changed

+1447
-29
lines changed

.github/workflows/release.yml

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

33
on:
4-
push:
5-
tags:
6-
- "v*.*.*"
7-
- "v*.*.*-pre"
84
workflow_dispatch:
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
37+
38+
env:
39+
EM_CACHE_FOLDER: "emsdk-cache"
940

1041
jobs:
11-
release:
42+
npm-publish:
43+
name: npm publish
1244
runs-on: ubuntu-latest
13-
name: Building stack
45+
if: github.repository_owner == 'NanoForge-dev'
1446
steps:
15-
- name: Checkout
16-
uses: actions/checkout@v5
47+
- name: Checkout repository
48+
uses: actions/checkout@v6
49+
50+
- name: Install Node.js v24
51+
uses: actions/setup-node@v6
52+
with:
53+
node-version: 24
54+
package-manager-cache: false
55+
registry-url: https://registry.npmjs.org/
56+
57+
- name: Install dependencies
58+
uses: ./utils/actions/src/pnpm-install
59+
60+
- name: "Install emscipten"
61+
uses: "mymindstorm/setup-emsdk@v14"
62+
with:
63+
actions-cache-folder: ${{env.EM_CACHE_FOLDER}}
64+
65+
- name: Build dependencies
66+
run: pnpm run build
1767

18-
- name: Release
19-
uses: softprops/action-gh-release@v2
20-
if: startsWith(github.ref, 'refs/tags/')
68+
- name: Release packages
69+
uses: ./utils/actions/src/release-packages
2170
with:
22-
files: |
23-
CHANGELOG.md
71+
package: ${{ inputs.package }}
72+
exclude: ${{ inputs.exclude }}
73+
dry: ${{ inputs.dry_run }}
74+
env:
75+
NODE_AUTH_TOKEN: ${{ secrets.NPM_PUBLISH_TOKEN }}
76+
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)