Skip to content

Commit a58a07d

Browse files
committed
add release instructions and checklist
1 parent 7172635 commit a58a07d

4 files changed

Lines changed: 56 additions & 5 deletions

File tree

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
*~
22
*bak
33
.*.swp
4+
*.jsone
45
# ignore all kinds of binary files:
56
*.o
67
*.bin

board-manager/.gitignore

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
package_testserver_index.json
2+
release

board-manager/Makefile

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -40,8 +40,10 @@ upload: $(TESTPACKAGEFILE)
4040
DATE=$(shell date '+%F')
4141

4242
release:
43-
echo sed "/^## \[Unreleased\]/ a\\\n\n## [$(COREVERSION) - $(DATE)]" ../CHANGELOG.md
44-
echo git add ../CHANGELOG.md
45-
echo git add parts/tools-* parts/platform-*
46-
echo git commit
47-
echo git tag v$(COREVERSION)
43+
# update the version number in the changelog if not already done:
44+
grep -q "$(COREVERSION)" ../CHANGELOG.md || \
45+
sed "/^## \[Unreleased\]/ a\\\n\n## [$(COREVERSION) - $(DATE)]" ../CHANGELOG.md
46+
git add ../CHANGELOG.md
47+
git add parts/tools-*-$(SDCCVERSION).txt parts/tools-*-$(TOOLSVERSION).txt parts/platform-*-$(COREVERSION).txt
48+
git commit
49+
git tag v$(COREVERSION)

board-manager/README.md

Lines changed: 46 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,51 @@
11
# Automatic update of the package_index.json file for release management
22

3+
Tools for a simple release management system.
4+
5+
Mimimizing the amount of manual work needed for generating the board manager
6+
release files hopefully minimizes the number of errors and allows for
7+
frequent releases.
8+
9+
10+
## Quick checklist for release
11+
12+
- Update the version number for the updated components in `Makefile`.
13+
- `make`
14+
- `make upload`: test on local test server
15+
- Check Changelog. No need to update the version number.
16+
- `make release`: Update version number in changelog, commit generated
17+
files, tag the new release.
18+
- release message on github and attach the files in release/<VERSION>/
19+
20+
21+
22+
## How to prepare a release
23+
24+
The main `Makefile` defines the version numbers for the core, sdcc and the
25+
tools. Update the version number for the component you would like to
26+
re-generate and run `make`.
27+
28+
It is helpful to really edit the Makefile and save the new version numbers
29+
to the repository on every release. This will make sure that all
30+
dependencies are up-to-date the next time and will prevent the system from
31+
using references to old versions.
32+
33+
After testing, check in the newly generated files and update the Changelog:
34+
35+
make release
36+
37+
38+
For testing purposes only (!!), it is possible to use the simpler systax
39+
using makefile variables on the command line:
40+
41+
make COREVERSION=0.3.2 core
42+
43+
will generate a fresh archive for the core files and update the package file
44+
accordingly.
45+
46+
47+
## Supporting tools
48+
349
`assemble.sh`: Insert all objects from parts/ directory in the platform and
450
tools field of the json template file to assemble the final package file.
551

0 commit comments

Comments
 (0)