Lines Matching +full:create +full:- +full:release
1 ---
3 SPDX-License-Identifier: CC-BY-SA-4.0
4 ---
6 # Creating A New `sane-backends` Release
9 a new `sane-backends` release. Content has been checked while working
19 It is easiest to pick a release date well in advance so everyone knows
20 what to expect. Ignoring security bug fix releases, `sane-backends`
21 has been released on a roughly half-yearly schedule since `1.0.28`.
26 - `$DT - 0 days`: **release** :confetti_ball:
27 - `$DT - 21 days`: **branch off** after which the release branch will not get any new features,
29 - `$DT - 35 days`: **schedule announcement** including the timetable.
43 Send an announcement to the `sane-devel` mailing list announcing the schedule.
50 A separate branch for the upcoming release is created on the repository. This marks the point when
51 the code for the release effectively enters a feature freeze and no new features will land into
52 the release branch.
54 Use branch in the format of `release-1.2.x` so that it's clear that further bugfix releases will
57 Notify `sane-devel` of the Branch Off and point out that merge requests that have to be included
58 in the upcoming release need to be targeted at release branch. Anything else can go to `master` as
66 git ls-files -- backend | while read f; do
67 git log --follow --diff-filter=A --find-renames=40% \
68 --format="%ai $f" $old_version..release/$new_version -- "$f"
75 Announce the Branch Off on `sane-devel` and invite translators to contribute their updates.
76 Release manager should ensure that whichever branch the translator work on, their work lands on
77 both the release branch and the master branch.
83 The `NEWS` file is updated during the release time, there's no need to do anything with the
84 release notes now.
86 ## Release section in Creating A New `sane-backends` Release
88 The release consists of two parts: a release notes MR and the actual release.
90 The release notes are handled by the towncrier tool. The easiest way to use it is from virtualenv:
101 towncrier --version $new_version --date `date -u +%F`
104 After that, create a new MR, merge it and fetch the new release branch.
106 The actual release is as easy as pushing a tag and clicking a web UI button. GitLab CI/CD
110 git tag -a -s $new_version -m "Release $new_version"
111 git push --tags origin release-$new_release
114 The final job in the release pipeline that is triggered by the above
116 before you do so, create a Personal Access Token (with `api` scope) in
119 `Release` stage. You need to set this on the page that triggers the
122 [`Access Tokens`]: https://gitlab.com/-/profile/personal_access_tokens
123 [`CI/CD`]: https://gitlab.com/sane-project/backends/-/settings/ci_cd
127 After the release artifacts, i.e. the source tarball, have hit the
128 GitLab [Release][] tab, grab the source tarball to create updated
134 tar xaf sane-backends-$new_version.tar.gz@
135 cd sane-backends-$new_version
137 make -C lib
138 make -C sanei
139 make -C doc html-pages
140 LANG=C make -C doc html-man
147 - https://savannah.nongnu.org/projects/man2html/
148 - https://web.archive.org/web/20100611002649/http://hydra.nac.uci.edu/indiv/ehood/tar/man2html3.0.1…
154 With the various HTML pages generated in `sane-backends-$new_version`,
155 check out the latest code of the sane-project/website and:
160 cp .../sane-backends-$new_version/doc/*.[1578].html man/
162 git mv sane-backends.html sane-backends-$old_version.html
163 cp .../sane-backends-$new_version/doc/sane-{backends,mfgs}.html .
164 git add sane-{backends,mfgs}.html
168 `sane-supported-devices.html` and add an entry for the new release to
174 git add sane-supported-devices.html index.html
175 git commit -m "Update for sane-backends-$new_version release"
180 website. Make sure it succeeds (see sane-project/website#33 for one
183 [Release]: https://gitlab.com/sane-project/backends/-/releases
187 Once the website has been updated successfully, announce the release
188 on the `sane-announce` mailing list (and Cc: `sane-devel`). You may
189 want to ping the `sane-announce` list's moderator (@kitno455) to get
192 ## Post-Release
194 With the release all done, there are still a few finishing touches that need taking care of: