Skip to content

Commit d1e4aa9

Browse files
committed
chore: update CHANGELOG for version 3.0.0; enhance automated release workflow and remove obsolete code quality checks
1 parent f9f497f commit d1e4aa9

3 files changed

Lines changed: 241 additions & 54 deletions

File tree

.github/workflows/code-quality.yml

Lines changed: 0 additions & 36 deletions
This file was deleted.

.github/workflows/create-release.yml

Lines changed: 151 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -52,20 +52,161 @@ jobs:
5252
DATE=$(date +%Y-%m-%d)
5353
VERSION="${{ steps.version.outputs.version_number }}"
5454
55-
# Create temporary file with new entry
56-
echo "# Changelog" > CHANGELOG.tmp
57-
echo "" >> CHANGELOG.tmp
58-
echo "All notable changes to Simplistic Tetris will be documented in this file." >> CHANGELOG.tmp
59-
echo "" >> CHANGELOG.tmp
55+
# Get the previous version tag
56+
PREV_TAG=$(git describe --tags --abbrev=0 2>/dev/null || echo "")
57+
58+
# Create temporary file with header
59+
cat > CHANGELOG.tmp << 'HEADER'
60+
# Changelog
61+
62+
All notable changes to Simplistic Tetris V2 will be documented in this file.
63+
64+
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
65+
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
66+
67+
HEADER
68+
6069
echo "## [$VERSION] - $DATE" >> CHANGELOG.tmp
6170
echo "" >> CHANGELOG.tmp
62-
echo "### Added" >> CHANGELOG.tmp
63-
echo "- Release $VERSION" >> CHANGELOG.tmp
64-
echo "" >> CHANGELOG.tmp
6571
66-
# Append existing changelog content (skip header)
72+
# Generate changelog from commits
73+
if [ -n "$PREV_TAG" ]; then
74+
# Arrays to store commits by category
75+
declare -a features=()
76+
declare -a fixes=()
77+
declare -a docs=()
78+
declare -a styles=()
79+
declare -a refactors=()
80+
declare -a perfs=()
81+
declare -a tests=()
82+
declare -a others=()
83+
84+
# Get commits between tags
85+
while IFS= read -r commit; do
86+
# Remove conventional commit prefix for cleaner display
87+
clean_commit="$commit"
88+
89+
case "$commit" in
90+
feat:*|feat\(*)
91+
clean_commit="${commit#feat:}"
92+
clean_commit="${clean_commit#feat(*)}"
93+
features+=("$clean_commit")
94+
;;
95+
fix:*|fix\(*)
96+
clean_commit="${commit#fix:}"
97+
clean_commit="${clean_commit#fix(*)}"
98+
fixes+=("$clean_commit")
99+
;;
100+
docs:*|docs\(*)
101+
clean_commit="${commit#docs:}"
102+
clean_commit="${clean_commit#docs(*)}"
103+
docs+=("$clean_commit")
104+
;;
105+
style:*|style\(*)
106+
clean_commit="${commit#style:}"
107+
clean_commit="${clean_commit#style(*)}"
108+
styles+=("$clean_commit")
109+
;;
110+
refactor:*|refactor\(*)
111+
clean_commit="${commit#refactor:}"
112+
clean_commit="${clean_commit#refactor(*)}"
113+
refactors+=("$clean_commit")
114+
;;
115+
perf:*|perf\(*)
116+
clean_commit="${commit#perf:}"
117+
clean_commit="${clean_commit#perf(*)}"
118+
perfs+=("$clean_commit")
119+
;;
120+
test:*|test\(*)
121+
clean_commit="${commit#test:}"
122+
clean_commit="${clean_commit#test(*)}"
123+
tests+=("$clean_commit")
124+
;;
125+
chore:*|chore\(*)
126+
# Skip chore commits
127+
;;
128+
Merge*)
129+
# Skip merge commits
130+
;;
131+
*)
132+
others+=("$commit")
133+
;;
134+
esac
135+
done < <(git log $PREV_TAG..HEAD --pretty=format:"%s")
136+
137+
# Write categorized commits
138+
if [ ${#features[@]} -gt 0 ]; then
139+
echo "### Added" >> CHANGELOG.tmp
140+
for item in "${features[@]}"; do
141+
echo "- $item" >> CHANGELOG.tmp
142+
done
143+
echo "" >> CHANGELOG.tmp
144+
fi
145+
146+
if [ ${#fixes[@]} -gt 0 ]; then
147+
echo "### Fixed" >> CHANGELOG.tmp
148+
for item in "${fixes[@]}"; do
149+
echo "- $item" >> CHANGELOG.tmp
150+
done
151+
echo "" >> CHANGELOG.tmp
152+
fi
153+
154+
if [ ${#perfs[@]} -gt 0 ]; then
155+
echo "### Performance" >> CHANGELOG.tmp
156+
for item in "${perfs[@]}"; do
157+
echo "- $item" >> CHANGELOG.tmp
158+
done
159+
echo "" >> CHANGELOG.tmp
160+
fi
161+
162+
if [ ${#refactors[@]} -gt 0 ]; then
163+
echo "### Refactored" >> CHANGELOG.tmp
164+
for item in "${refactors[@]}"; do
165+
echo "- $item" >> CHANGELOG.tmp
166+
done
167+
echo "" >> CHANGELOG.tmp
168+
fi
169+
170+
if [ ${#styles[@]} -gt 0 ]; then
171+
echo "### Style" >> CHANGELOG.tmp
172+
for item in "${styles[@]}"; do
173+
echo "- $item" >> CHANGELOG.tmp
174+
done
175+
echo "" >> CHANGELOG.tmp
176+
fi
177+
178+
if [ ${#docs[@]} -gt 0 ]; then
179+
echo "### Documentation" >> CHANGELOG.tmp
180+
for item in "${docs[@]}"; do
181+
echo "- $item" >> CHANGELOG.tmp
182+
done
183+
echo "" >> CHANGELOG.tmp
184+
fi
185+
186+
if [ ${#tests[@]} -gt 0 ]; then
187+
echo "### Tests" >> CHANGELOG.tmp
188+
for item in "${tests[@]}"; do
189+
echo "- $item" >> CHANGELOG.tmp
190+
done
191+
echo "" >> CHANGELOG.tmp
192+
fi
193+
194+
if [ ${#others[@]} -gt 0 ]; then
195+
echo "### Other Changes" >> CHANGELOG.tmp
196+
for item in "${others[@]}"; do
197+
echo "- $item" >> CHANGELOG.tmp
198+
done
199+
echo "" >> CHANGELOG.tmp
200+
fi
201+
else
202+
echo "### Initial Release" >> CHANGELOG.tmp
203+
echo "" >> CHANGELOG.tmp
204+
echo "- First release of Simplistic Tetris" >> CHANGELOG.tmp
205+
echo "" >> CHANGELOG.tmp
206+
fi
207+
208+
# Append existing changelog content (skip header until first version)
67209
if [ -f CHANGELOG.md ]; then
68-
# Skip lines until we find the first version entry
69210
sed -n '/^## \[/,$p' CHANGELOG.md >> CHANGELOG.tmp
70211
fi
71212
@@ -98,9 +239,3 @@ jobs:
98239
prerelease: false
99240
env:
100241
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
101-
102-
- name: Deploy to Netlify
103-
run: npx netlify-cli deploy --dir=dist --prod
104-
env:
105-
NETLIFY_AUTH_TOKEN: ${{ secrets.NETLIFY_AUTH_TOKEN }}
106-
NETLIFY_SITE_ID: ${{ secrets.NETLIFY_SITE_ID }}

CHANGELOG.md

Lines changed: 90 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,99 @@
11
# Changelog
22

3-
All notable changes to Simplistic Tetris will be documented in this file.
3+
All notable changes to Simplistic Tetris V2 will be documented in this file.
4+
5+
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
6+
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
47

58
## [3.0.0] - 2026-02-16
69

710
### Added
8-
- Release 3.0.0
11+
- Colorblind mode with distinctive patterns for each Tetromino type
12+
- 3D rendering effects for Tetrominos with gradient, highlights and depth
13+
- Accessibility toggle button in header with visual states
14+
- GitHub workflow for automated release creation with changelog generation
15+
- Prettier format check script
16+
17+
### Fixed
18+
- Music not restarting when clicking replay button
19+
- Music not restarting when pressing Enter after closing game over modal
20+
- Input focus issue preventing keyboard shortcuts after game over
21+
- Focus management in modals to prevent input interference
22+
23+
### Changed
24+
- Tetromino blocks now have subtle 3D effect with gradients and highlights
25+
- Grid lines made more subtle yet visible for better gameplay
26+
- Enhanced visual depth with inner borders and shadows
27+
- Improved block rendering to distinguish active pieces from board
28+
29+
## [2.1.1] - 2025-12-29
30+
31+
### Fixed
32+
- Update Open Graph and Twitter Card descriptions for consistency
33+
- Update live demo badge for improved visibility
34+
35+
### Added
36+
- Clear scores functionality with confirmation modal
37+
- Enhanced translations for confirmation modals
38+
39+
### Documentation
40+
- Updated README and mobile features documentation
41+
42+
## [2.1.0] - 2025-12-28
43+
44+
### Added
45+
- Input detection to prevent key interception while typing in input fields
46+
- Enhanced high scores display with date formatting and translations
47+
- Game mode selection and score mode toggle
48+
- Support message in game over modal
49+
- Enhanced stats display with improved layout
50+
51+
### Changed
52+
- Improved responsiveness across all components
53+
- Better mobile experience with adjusted paddings and margins
54+
- Better layout adjustments for different screen sizes
55+
56+
### Removed
57+
- Discussions link from README and issue templates
58+
- Game mode selection screenshot
59+
60+
### Fixed
61+
- Indentation in MusicManager.ts
62+
63+
### Dependencies
64+
- Updated esbuild, @vitest/ui and vitest
65+
66+
## [2.0.5] - 2025-12-27
67+
68+
### Changed
69+
- Implemented moderate padding, margin, and gap adjustments
70+
- Added zoom and transform scaling for better cross-browser layout
71+
- Improved layout consistency across different browsers
72+
73+
## [2.0.4] - 2025-12-27
74+
75+
### Changed
76+
- Refined responsiveness for various screen sizes
77+
- Enhanced padding, margin, and gap adjustments across components
78+
- Better adaptation to medium and small screens
79+
80+
## [2.0.3] - 2025-12-27
81+
82+
### Changed
83+
- Enhanced responsiveness for medium screens
84+
- Adjusted paddings, margins, and gaps across stylesheets
85+
- Improved mobile layout experience
86+
87+
## [2.0.2] - 2025-12-27
88+
89+
### Changed
90+
- Standardized quotes in workflow files
91+
- Enabled GitHub Pages deployment
92+
93+
## [2.0.1] - 2025-12-27
94+
95+
### Added
96+
- Initial tagged release of Simplistic Tetris V2
997

1098
## [2.0.0]
1199

0 commit comments

Comments
 (0)