Skip to content

Commit b89c8a8

Browse files
committed
chore: prepare first release
1 parent d975d8e commit b89c8a8

File tree

6 files changed

+310
-54
lines changed

6 files changed

+310
-54
lines changed

.config/cliff.toml

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
[git]
2+
conventional_commits = true
3+
filter_unconventional = true
4+
split_commits = false
5+
6+
commit_parsers = [
7+
{ message = "^feat", group = "Features" },
8+
{ message = "^fix", group = "Bug Fixes" },
9+
{ message = "^docs", group = "Documentation" },
10+
{ message = "^perf", group = "Performance" },
11+
{ message = "^refactor", group = "Refactor" },
12+
{ message = "^style", group = "Styling" },
13+
{ message = "^test", group = "Testing" },
14+
{ message = "^chore", group = "Miscellaneous Tasks" },
15+
{ body = ".*security", group = "Security" },
16+
]
17+
sort_commits = "oldest"

.github/workflows/release.yml

Lines changed: 5 additions & 38 deletions
Original file line numberDiff line numberDiff line change
@@ -15,42 +15,9 @@ jobs:
1515
- name: Checkout
1616
uses: actions/checkout@v5
1717

18-
- name: "Setup pnpm"
19-
uses: pnpm/action-setup@v4
20-
21-
- name: "Setup node"
22-
uses: actions/setup-node@v4
23-
with:
24-
node-version: 23.6.0
25-
cache: "pnpm"
26-
27-
- name: "Install dependencies"
28-
run: pnpm install
29-
30-
- name: "Install emscipten"
31-
uses: "mymindstorm/setup-emsdk@v14"
32-
with:
33-
actions-cache-folder: ${{env.EM_CACHE_FOLDER}}
34-
35-
- name: "Build"
36-
run: pnpm build
37-
38-
- name: Get previous tag
39-
id: previousTag
40-
run: |
41-
name=$(git --no-pager tag --sort=creatordate --merged ${{ github.ref_name }} | tail -2 | head -1)
42-
echo "previousTag: $name"
43-
echo "previousTag=$name" >> $GITHUB_ENV
44-
45-
- name: Update CHANGELOG
46-
id: changelog
47-
uses: requarks/changelog-action@v1
18+
- name: Release
19+
uses: softprops/action-gh-release@v2
20+
if: startsWith(github.ref, 'refs/tags/')
4821
with:
49-
token: ${{ secrets.ACTIONS_KEY }}
50-
tag: ${{ github.ref_name }}
51-
writeToFile: false
52-
# fromTag: ${{ github.ref_name }}
53-
# toTag: ${{ env.previousTag }}
54-
55-
# - name: Release
56-
# shell: echo ${{ run.steps.changelog.outputs.changes }}
22+
files: |
23+
CHANGELOG.md

.github/workflows/tests.yml

Lines changed: 1 addition & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@ jobs:
3333
uses: "mymindstorm/setup-emsdk@v14"
3434
with:
3535
actions-cache-folder: ${{env.EM_CACHE_FOLDER}}
36-
36+
3737
- name: "Run build"
3838
run: pnpm build
3939

@@ -42,18 +42,3 @@ jobs:
4242

4343
- name: "Run linter"
4444
run: pnpm clean && pnpm lint
45-
46-
- name: Get previous tag
47-
id: previousTag
48-
run: |
49-
name=$(git --no-pager tag --sort=creatordate --merged ${{ github.ref_name }} | tail -2 | head -1)
50-
echo "previousTag: $name"
51-
echo "previousTag=$name" >> $GITHUB_ENV
52-
53-
- name: Update CHANGELOG
54-
id: changelog
55-
uses: requarks/changelog-action@v1
56-
with:
57-
token: ${{ secrets.ACTIONS_KEY }}
58-
tag: ${{ github.ref_name }}
59-
writeToFile: false

CHANGELOG.md

Lines changed: 134 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,134 @@
1+
## [unreleased]
2+
3+
### Bug Fixes
4+
5+
- *(ecs)* Change jest workflow
6+
- *(ecs)* Constructor are now binded
7+
- *(ecs/sparse array)* No discard on const methods
8+
- *(ecs/sparseArray)* Fix missing erase definition
9+
- *(ecs)* Fix jest workflow and tests compile
10+
- *(ecs)* Add type name verification for vars
11+
- *(ecs)* Change type handling on lib ecs
12+
- *(ecs)* Fix tests
13+
- *(common)* Init lib order
14+
- *(common)* Change is running
15+
- *(graphics)* Fix display
16+
- *(graphics)* Fix tests
17+
- *(graphics)* Game loop
18+
- *(game)* Delete bun.lock
19+
- *(pong)* Delete custom framerate
20+
- *(ecs)* Rename createEntity to spawnEnity
21+
- *(exceptions)* Bad naming
22+
- Change exception handling
23+
- *(common)* Update exception imports and adjust formatting in abstract class
24+
- *(graphics-2d, ecs)* Update type handling in vertex buffer and library init test
25+
- *(music)* Versions issue
26+
27+
### Features
28+
29+
- Initial commit
30+
- *(ecs/compilation)* Add basic makefile
31+
- Add wasm compilation to package.json
32+
- *(ecs/compilation)* Add wasm object creation
33+
- *(ecs/wasm)* Emsdk installation script in Readme.md
34+
- *(ecs/wasm)* Add basic test templated class
35+
- *(ecs/wasm)* Emsdk installation script in Readme.md
36+
- *(ecs)* Setup basic sparse array boiler plate code.
37+
- *(ecs)* Add type generation in makefile
38+
- *(ecs/sparseArray)* Add more functions to the sparse array
39+
- *(ecs/sparseArray)* Add more functions to the sparse array
40+
- Custom header
41+
- Add core and common
42+
- Add asset manager default in core
43+
- *(ecs/registry)* Base regitry and simple tests:
44+
- *(ecs/registry)* Systems handling and testing
45+
- *(asset-manager)* Add base library
46+
- *(asset-manager)* Add asset manager
47+
- *(asset-manager)* Add tests
48+
- *(ecs)* Modify ts rule to get types
49+
- *(graphics-2d)* Add base library
50+
- *(asset-manager)* Add wgsl handling
51+
- *(asset-manager)* Add file return
52+
- *(common)* Add templates to each get library functions
53+
- *(graphics)* Add base component and circle component
54+
- *(ecs/zipper)* Add indexed zipper and zipper with tests
55+
- *(ecs)* Setup wasm to be loaded from path specified in ecs library
56+
- *(ecs)* Add more methods to be exported by ecs library
57+
- *(ecs/tsbindings)* Add the zipper functions to the library
58+
- *(game)* Add template
59+
- *(game)* Add graphics factory
60+
- *(game)* Add width and height
61+
- *(game)* Create pong example game
62+
- *(template)* Add scripts to template
63+
- *(example/pong)* Base velocity system clocked with a framerate limiter
64+
- *(ecs)* Add type for components
65+
- *(systems)* Add ts type for systems
66+
- *(ecs)* Type getEntityComponent family of functions
67+
- *(ecs/zipper)* Merge zipper in types
68+
- *(graphics)* Add rectangle
69+
- *(input)* Add input library
70+
- *(core)* Add tickrate and fix runner
71+
- *(game)* Create pong bounce system
72+
- *(game)* Create pong players with background
73+
- *(game)* Add inputs in pong
74+
- *(graphics)* Add dynamic size handle of canvas
75+
- *(common)* Add dependencies handler
76+
- Add dependencies to current libs
77+
- Add dependencies handling
78+
- *(core)* Add default libraries to constructor
79+
- *(sound)* Init basic sound library
80+
- *(sound)* Add sound playing
81+
- *(sound)* Add basic sound playing to example
82+
- *(app)* Add the ability to mute and unmute sounds
83+
- *(core)* Enhance type safety and execution context handling
84+
- *(config)* Add initial configuration for libraries
85+
- *(common, core, config)* Introduce configuration registry and validation system
86+
- *(core)* Add `class-transformer` and `class-validator` dependencies for validation utilities
87+
- *(music)* Init basic music library
88+
- *(music)* Finish music library and add an interface for mutable libraries
89+
- *(ci)* Add build step to GitHub Actions tests workflow
90+
- *(example)* Update `pong` game mechanics and graphics integration
91+
- *(systems)* Start adding context to systems
92+
- *(ecs)* Add ecs context to the systems
93+
94+
### Miscellaneous Tasks
95+
96+
- Fix idea
97+
- *(ecs)* Change idea name
98+
- Add idea to common and core
99+
- Add current state of graphics library
100+
- Remove bun lock that was breaking unit tests
101+
- *(husky)* Update pre-push and commit-msg scripts for pnpm compatibility
102+
- *(config)* Update nx and gitignore configurations, adjust prettierignore rules
103+
- *(example)* Update `pong` example to use workspace dependencies and refine configurations
104+
- *(husky)* Simplify pre-push script by adjusting pnpm command
105+
- Migrate to shared ESLint and Prettier configurations, remove package-specific configs
106+
- Remove `pnpm-lock.yaml` to decouple dependency locking from the workspace configuration
107+
- Migrate packages to shared ESLint and Prettier configs
108+
- Remove unnecessary `@types/node` and `typescript` dependencies from `packages/input`
109+
- Update Jest configs and refine tsconfig paths across packages
110+
- *(example/pong)* Update dependencies, and migrate to shared ESLint & Prettier configs
111+
- *(example/template)* Update dependency locking to workspace resolution
112+
- Prepare first release
113+
114+
### Refactor
115+
116+
- *(graphics-2d)* Remove custom rendering core and replace with `Konva`
117+
118+
### Testing
119+
120+
- *(ecs/sparseArray)* Add unit tests for sparse array
121+
- *(libs)* Include ConfigRegistry in library initialization test
122+
123+
### Build
124+
125+
- *(ecs)* Add standalone build and html and js build
126+
- Update dependencies
127+
- Upgrade dependencies and engines to latest versions
128+
129+
### Ci
130+
131+
- Setup tests ci
132+
- Add linting to ci
133+
- Branch name was on master isntead of main
134+
- *(release)* Create a release workflow

releases/v0.0.1.md

Lines changed: 134 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,134 @@
1+
## [unreleased]
2+
3+
### Bug Fixes
4+
5+
- *(ecs)* Change jest workflow
6+
- *(ecs)* Constructor are now binded
7+
- *(ecs/sparse array)* No discard on const methods
8+
- *(ecs/sparseArray)* Fix missing erase definition
9+
- *(ecs)* Fix jest workflow and tests compile
10+
- *(ecs)* Add type name verification for vars
11+
- *(ecs)* Change type handling on lib ecs
12+
- *(ecs)* Fix tests
13+
- *(common)* Init lib order
14+
- *(common)* Change is running
15+
- *(graphics)* Fix display
16+
- *(graphics)* Fix tests
17+
- *(graphics)* Game loop
18+
- *(game)* Delete bun.lock
19+
- *(pong)* Delete custom framerate
20+
- *(ecs)* Rename createEntity to spawnEnity
21+
- *(exceptions)* Bad naming
22+
- Change exception handling
23+
- *(common)* Update exception imports and adjust formatting in abstract class
24+
- *(graphics-2d, ecs)* Update type handling in vertex buffer and library init test
25+
- *(music)* Versions issue
26+
27+
### Features
28+
29+
- Initial commit
30+
- *(ecs/compilation)* Add basic makefile
31+
- Add wasm compilation to package.json
32+
- *(ecs/compilation)* Add wasm object creation
33+
- *(ecs/wasm)* Emsdk installation script in Readme.md
34+
- *(ecs/wasm)* Add basic test templated class
35+
- *(ecs/wasm)* Emsdk installation script in Readme.md
36+
- *(ecs)* Setup basic sparse array boiler plate code.
37+
- *(ecs)* Add type generation in makefile
38+
- *(ecs/sparseArray)* Add more functions to the sparse array
39+
- *(ecs/sparseArray)* Add more functions to the sparse array
40+
- Custom header
41+
- Add core and common
42+
- Add asset manager default in core
43+
- *(ecs/registry)* Base regitry and simple tests:
44+
- *(ecs/registry)* Systems handling and testing
45+
- *(asset-manager)* Add base library
46+
- *(asset-manager)* Add asset manager
47+
- *(asset-manager)* Add tests
48+
- *(ecs)* Modify ts rule to get types
49+
- *(graphics-2d)* Add base library
50+
- *(asset-manager)* Add wgsl handling
51+
- *(asset-manager)* Add file return
52+
- *(common)* Add templates to each get library functions
53+
- *(graphics)* Add base component and circle component
54+
- *(ecs/zipper)* Add indexed zipper and zipper with tests
55+
- *(ecs)* Setup wasm to be loaded from path specified in ecs library
56+
- *(ecs)* Add more methods to be exported by ecs library
57+
- *(ecs/tsbindings)* Add the zipper functions to the library
58+
- *(game)* Add template
59+
- *(game)* Add graphics factory
60+
- *(game)* Add width and height
61+
- *(game)* Create pong example game
62+
- *(template)* Add scripts to template
63+
- *(example/pong)* Base velocity system clocked with a framerate limiter
64+
- *(ecs)* Add type for components
65+
- *(systems)* Add ts type for systems
66+
- *(ecs)* Type getEntityComponent family of functions
67+
- *(ecs/zipper)* Merge zipper in types
68+
- *(graphics)* Add rectangle
69+
- *(input)* Add input library
70+
- *(core)* Add tickrate and fix runner
71+
- *(game)* Create pong bounce system
72+
- *(game)* Create pong players with background
73+
- *(game)* Add inputs in pong
74+
- *(graphics)* Add dynamic size handle of canvas
75+
- *(common)* Add dependencies handler
76+
- Add dependencies to current libs
77+
- Add dependencies handling
78+
- *(core)* Add default libraries to constructor
79+
- *(sound)* Init basic sound library
80+
- *(sound)* Add sound playing
81+
- *(sound)* Add basic sound playing to example
82+
- *(app)* Add the ability to mute and unmute sounds
83+
- *(core)* Enhance type safety and execution context handling
84+
- *(config)* Add initial configuration for libraries
85+
- *(common, core, config)* Introduce configuration registry and validation system
86+
- *(core)* Add `class-transformer` and `class-validator` dependencies for validation utilities
87+
- *(music)* Init basic music library
88+
- *(music)* Finish music library and add an interface for mutable libraries
89+
- *(ci)* Add build step to GitHub Actions tests workflow
90+
- *(example)* Update `pong` game mechanics and graphics integration
91+
- *(systems)* Start adding context to systems
92+
- *(ecs)* Add ecs context to the systems
93+
94+
### Miscellaneous Tasks
95+
96+
- Fix idea
97+
- *(ecs)* Change idea name
98+
- Add idea to common and core
99+
- Add current state of graphics library
100+
- Remove bun lock that was breaking unit tests
101+
- *(husky)* Update pre-push and commit-msg scripts for pnpm compatibility
102+
- *(config)* Update nx and gitignore configurations, adjust prettierignore rules
103+
- *(example)* Update `pong` example to use workspace dependencies and refine configurations
104+
- *(husky)* Simplify pre-push script by adjusting pnpm command
105+
- Migrate to shared ESLint and Prettier configurations, remove package-specific configs
106+
- Remove `pnpm-lock.yaml` to decouple dependency locking from the workspace configuration
107+
- Migrate packages to shared ESLint and Prettier configs
108+
- Remove unnecessary `@types/node` and `typescript` dependencies from `packages/input`
109+
- Update Jest configs and refine tsconfig paths across packages
110+
- *(example/pong)* Update dependencies, and migrate to shared ESLint & Prettier configs
111+
- *(example/template)* Update dependency locking to workspace resolution
112+
- Prepare first release
113+
114+
### Refactor
115+
116+
- *(graphics-2d)* Remove custom rendering core and replace with `Konva`
117+
118+
### Testing
119+
120+
- *(ecs/sparseArray)* Add unit tests for sparse array
121+
- *(libs)* Include ConfigRegistry in library initialization test
122+
123+
### Build
124+
125+
- *(ecs)* Add standalone build and html and js build
126+
- Update dependencies
127+
- Upgrade dependencies and engines to latest versions
128+
129+
### Ci
130+
131+
- Setup tests ci
132+
- Add linting to ci
133+
- Branch name was on master isntead of main
134+
- *(release)* Create a release workflow

utils/release.sh

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
#!/bin/bash
2+
3+
set -e
4+
set -o pipefail
5+
6+
if [ $# -ne 1 ]; then
7+
echo "Usage: $0 <patch|minor|major>"
8+
exit 1
9+
fi
10+
11+
VERSION=$(convco version --"$1")
12+
13+
echo "Preparing version $VERSION"
14+
mkdir -p releases
15+
# git checkout -b "release/v$VERSION"
16+
git cliff -u -c '.config/cliff.toml' > releases/v"$VERSION".md
17+
cp releases/v"$VERSION".md CHANGELOG.md
18+
# git add CHANGELOG.md releases/v"$VERSION".md
19+

0 commit comments

Comments
 (0)