Skip to content

Commit cb84420

Browse files
committed
Many updates for making new release
1 parent 5cac55d commit cb84420

1 file changed

Lines changed: 44 additions & 43 deletions

File tree

src/ReleaseMaking.asciidoc

Lines changed: 44 additions & 43 deletions
Original file line numberDiff line numberDiff line change
@@ -9,11 +9,9 @@ This page describes the process of making a new https://github.com/pasdoc/pasdoc
99

1010
## Change version number to next stable
1111

12-
* Change version of all packages in pasdoc/source/packages/ dir. Right now this means changing
13-
** .../packages/lazarus/pasdoc_package.lpk
14-
** all Delphi packages
15-
* change VERSION in pasdoc/Makefile
16-
* change PASDOC_VERSION and PASDOC_DATE in pasdoc/source/components/PasDoc_Versions.pas
12+
* Change version of all packages in `source/packages/`. Right now this means just changing `source/packages/lazarus/pasdoc_package.lpk`. (Delphi packages don't store PasDoc version now.)
13+
* change `VERSION` in `pasdoc/Makefile`
14+
* change `PASDOC_VERSION` and `PASDOC_DATE` in `source/components/PasDoc_Versions.pas`
1715
1816
Make last version number _even_ to signify stable release, like `1.2.4`.
1917

@@ -29,11 +27,31 @@ Remove from the documentation text
2927

3028
_Note that this feature is not available in latest released pasdoc version, x.y.z. You must download and compile pasdoc yourself or use link:DevelopmentSnapshots[DevelopmentSnapshots] to use this feature._
3129

32-
(where _x.y.z_ is version number of previous release) placed at the beginning of some pages. This is easily done by doing a full-text search in the wiki for the phrase __Note that this feature is not available in latest released pasdoc version__. (For GitHub wiki, you can clone it and then just grep locally.)
30+
## Update AutoDoc
31+
32+
* It's a good idea to upload link:PasDocAutoDoc[PasDocAutoDoc] at this time, like this:
33+
+
34+
----
35+
cd pasdoc/source/autodoc/
36+
pasdoc --version # make sure latest version of pasdoc is used
37+
make clean public upload
38+
39+
cd ../../../pasdoc.github.io/
40+
git commit -m "Updated autodoc"
41+
git push
42+
----
43+
44+
## Prepare tag and GitHub release
45+
46+
* Create a tag by `make tag`.
47+
48+
* Go to https://github.com/pasdoc/pasdoc/releases and create a new release from this tag. Place the notes from the changelog entry as description. Make it "draft" for now.
3349
3450
## [[compile-and-test-all-releases]] Build and test all releases (automated now)
3551

36-
**Note: This step is in practice automated now, using https://github.com/castle-engine/castle-engine/wiki/Cloud-Builds-(Jenkins)[Castle Game Engine Jenkins infrastructure] to automatically test and build PasDoc. The commands performed by Jenkins are configured in `Jenkinsfile` in the PasDoc repository.**
52+
Note: This step is automated now, using https://github.com/pasdoc/pasdoc/tree/master/.github/workflows[GitHub Actions] to automatically test and build PasDoc. Just switch `release_tag` in `.github/workflows/build.yml` to the new tag and push it, and GitHub Actions will do the rest.
53+
54+
Below we describe how to do things manually, just in case.
3755

3856
* Make sure you have the latest stable FPC and Lazarus versions.
3957
@@ -50,18 +68,12 @@ To be sure, you should run these tests on all targets.
5068
* To build for the current platform (OS and architecture) call this:
5169
+
5270
```
53-
make clean build-fpc-default
71+
make clean build-fpc-release
5472
```
5573
+
5674
Note that it's important to call `clean` before `build-...`, otherwise you risk that some units were left as compiled with debug options.
5775
+
58-
To build for an indicated platform:
59-
+
60-
```
61-
make clean build-fpc-<os/arch>
62-
```
63-
+
64-
To build for indicated platform and package to zip/tar.gz (this will call `clean build-fpc-<os/arch>` as first steps):
76+
To build for indicated platform and package to zip/tar.gz (this will call `clean build-fpc-release` as first steps):
6577
+
6678
```
6779
make dist-<os/arch>
@@ -74,39 +86,20 @@ lazbuild source/packages/lazarus/pasdoc_package.lpk
7486
lazbuild source/gui/pasdoc_gui.lpi
7587
----
7688
+
77-
For basic test of pasdoc_gui, open the project with pasdoc's autodoc source/autodoc/autodoc.pds and hit "Generate".
89+
For basic test of `pasdoc_gui`, open the project with pasdoc's autodoc `source/autodoc/autodoc.pds` and hit "Generate".
7890
79-
## [[release-files-using-sourceforge-file-release-system]] Release files using GitHub
91+
## Make release public
8092

81-
* Create a tag by `make tag`
82-
83-
* Go to https://github.com/pasdoc/pasdoc/releases and create a new release from tag
84-
85-
* Upload there the release.
93+
* Make the release non-draft on GitHub.
8694
8795
* Mark it as "latest", make sure https://github.com/pasdoc/pasdoc/releases/latest[latest release] page links to it.
8896
89-
## [[final-things-to-do]] Final things to do
90-
91-
* It's a good idea to upload link:PasDocAutoDoc[PasDocAutoDoc] at this time, like this:
92-
+
93-
----
94-
cd pasdoc/source/autodoc/
95-
make clean public upload
97+
## Announce new release everywhere
9698

97-
cd ../../../pasdoc.github.io/
98-
git commit -m "Updated autodoc"
99-
git push
100-
----
101-
* https://sourceforge.net/p/pasdoc/news/[Submit news item] _PasDoc x.y.z released_
99+
* Announce new release on https://forum.lazarus.freepascal.org/[Lazarus forum].
100+
* https://sourceforge.net/p/pasdoc/news/[SourceForge "Old News" item] _PasDoc x.y.z released_
102101
* Announce new release on http://freshcode.club/projects/pasdoc.
103-
* Announce new release on http://lazarus.freepascal.org/[Lazarus forum].
104102
* Send an update to http://directory.fsf.org/project/pasdoc/[FSF directory].
105-
* Prepare for next release: ChangeLog.md file should start with line
106-
+
107-
----
108-
[Next release -- release date and new version number unknown yet...]
109-
----
110103
111104
Really, really large and significant improvements may be signalled by
112105
changing the project's description:
@@ -115,10 +108,18 @@ changing the project's description:
115108
* on https://sourceforge.net/projects/pasdoc/[SF project page]
116109
* on http://wiki.lazarus.freepascal.org/Projects_using_Lazarus#PasDoc[Lazarus wiki "Projects Using Lazarus" page]
117110
118-
## Change version number to next UNstable
111+
## Prepare for next release
119112

120-
Repeat the steps from _"Change version number to next stable"_, but :
113+
* `ChangeLog.md` file should start with line
114+
+
115+
----
116+
`## Upcoming Next Release`
117+
----
121118
119+
- Repeat the steps from _"Change version number to next stable"_, but :
120+
+
121+
--
122122
- Make last version number _odd_ to signify unstable release and add `.snapshot`, like `1.2.5.snapshot`.
123123
124-
- Update `DevelopmentSnapshots.asciidoc` version number.
124+
- Update link:DevelopmentSnapshots[DevelopmentSnapshots] version number.
125+
--

0 commit comments

Comments
 (0)