mirror of
https://gitlab.gnome.org/GNOME/glib.git
synced 2025-05-14 01:43:11 +02:00
Merge branch 'docs-updates' into 'main'
docs: Update the release documentation for the new release workflow See merge request GNOME/glib!4461
This commit is contained in:
commit
0c38fd3c14
@ -22,7 +22,7 @@ many things that we value:
|
|||||||
Please, do not use the issue tracker for support questions. If you have
|
Please, do not use the issue tracker for support questions. If you have
|
||||||
questions on how to use GLib effectively, you can use:
|
questions on how to use GLib effectively, you can use:
|
||||||
|
|
||||||
- the `#gtk` channel on [Matrix](https://wiki.gnome.org/GettingInTouch/Matrix)
|
- the `#gtk` channel on [Matrix](https://handbook.gnome.org/get-in-touch/matrix.html)
|
||||||
- the [`glib` tag on GNOME's Discourse](https://discourse.gnome.org/tags/glib)
|
- the [`glib` tag on GNOME's Discourse](https://discourse.gnome.org/tags/glib)
|
||||||
|
|
||||||
You can also look at the [`glib` tag on Stack
|
You can also look at the [`glib` tag on Stack
|
||||||
@ -127,7 +127,7 @@ can be found on [the GNOME Developer Center](https://developer.gnome.org).
|
|||||||
|
|
||||||
The [GLib project uses GitLab](https://gitlab.gnome.org/GNOME/glib/) for code
|
The [GLib project uses GitLab](https://gitlab.gnome.org/GNOME/glib/) for code
|
||||||
hosting and for tracking issues. More information about using GitLab can be
|
hosting and for tracking issues. More information about using GitLab can be
|
||||||
found [on the GNOME wiki](https://wiki.gnome.org/GitLab).
|
found [on the GNOME wiki](https://handbook.gnome.org/infrastructure/gitlab.html).
|
||||||
|
|
||||||
### Getting started
|
### Getting started
|
||||||
|
|
||||||
@ -269,4 +269,4 @@ GLib to follow a few rules:
|
|||||||
|
|
||||||
If you have been contributing to GLib for a while and you don’t have commit
|
If you have been contributing to GLib for a while and you don’t have commit
|
||||||
access to the repository, you may ask to obtain it following the [GNOME account
|
access to the repository, you may ask to obtain it following the [GNOME account
|
||||||
process](https://wiki.gnome.org/Infrastructure/NewAccounts).
|
process](https://handbook.gnome.org/infrastructure/accounts.html).
|
||||||
|
@ -30,7 +30,7 @@ Policy
|
|||||||
- If unavoidable, liaise with the GNOME Translation Team and ensure string
|
- If unavoidable, liaise with the GNOME Translation Team and ensure string
|
||||||
changes are landed with plenty of time to allow translators to provide new
|
changes are landed with plenty of time to allow translators to provide new
|
||||||
translations
|
translations
|
||||||
- See https://wiki.gnome.org/TranslationProject/HandlingStringFreezes
|
- See https://handbook.gnome.org/release-planning/freezes.html#string-freeze
|
||||||
* API or ABI changes (including API additions) must not be backported
|
* API or ABI changes (including API additions) must not be backported
|
||||||
- A commit which changes the documented behaviour of a function counts as an
|
- A commit which changes the documented behaviour of a function counts as an
|
||||||
API break
|
API break
|
||||||
|
@ -88,7 +88,7 @@ Several labels are worth highlighting:
|
|||||||
as confidential.
|
as confidential.
|
||||||
* Merge After Freeze: Merge requests which have been accepted, but which can’t
|
* Merge After Freeze: Merge requests which have been accepted, but which can’t
|
||||||
be merged yet as GLib is in
|
be merged yet as GLib is in
|
||||||
[code freeze](https://wiki.gnome.org/ReleasePlanning/Freezes). All MRs tagged
|
[code freeze](https://handbook.gnome.org/release-planning/freezes.html). All MRs tagged
|
||||||
like this will be merged en-masse when the freeze ends.
|
like this will be merged en-masse when the freeze ends.
|
||||||
* Needs Information: Issues which are blocked due to needing more information
|
* Needs Information: Issues which are blocked due to needing more information
|
||||||
from the reporter. These can be closed after 4 weeks if the reporter does not
|
from the reporter. These can be closed after 4 weeks if the reporter does not
|
||||||
@ -105,10 +105,10 @@ Several labels are worth highlighting:
|
|||||||
the translation team to be looped into an issue or merge request.
|
the translation team to be looped into an issue or merge request.
|
||||||
* API deprecation: Issues or merge requests which deprecate GLib API, and hence
|
* API deprecation: Issues or merge requests which deprecate GLib API, and hence
|
||||||
can only land in an unstable release outside an
|
can only land in an unstable release outside an
|
||||||
[API freeze](https://wiki.gnome.org/ReleasePlanning/Freezes).
|
[API freeze](https://handbook.gnome.org/release-planning/freezes.html#api-abi-freeze).
|
||||||
* New API: Issues or merge requests which add new GLib API, and hence can only
|
* New API: Issues or merge requests which add new GLib API, and hence can only
|
||||||
land in an unstable release outside an
|
land in an unstable release outside an
|
||||||
[API freeze](https://wiki.gnome.org/ReleasePlanning/Freezes).
|
[API freeze](https://handbook.gnome.org/release-planning/freezes.html#api-abi-freeze).
|
||||||
* Intermittent: Issues (such as test failures) which can only be reproduced
|
* Intermittent: Issues (such as test failures) which can only be reproduced
|
||||||
intermittently.
|
intermittently.
|
||||||
* Test failure: Issues which revolve around a unit test failing. Typically
|
* Test failure: Issues which revolve around a unit test failing. Typically
|
||||||
|
@ -21,7 +21,7 @@ How to make a release
|
|||||||
---
|
---
|
||||||
|
|
||||||
Broadly, GLib follows the same process as [every other GNOME
|
Broadly, GLib follows the same process as [every other GNOME
|
||||||
module](https://wiki.gnome.org/MaintainersCorner/Releasing).
|
module](https://handbook.gnome.org/maintainers/making-a-release.html).
|
||||||
|
|
||||||
These instructions use the following variables:
|
These instructions use the following variables:
|
||||||
- `new_version`: the version number of the release you are making, for example `2.73.1`
|
- `new_version`: the version number of the release you are making, for example `2.73.1`
|
||||||
@ -57,35 +57,27 @@ git add -p
|
|||||||
git commit -sm "${new_version}"
|
git commit -sm "${new_version}"
|
||||||
```
|
```
|
||||||
|
|
||||||
Build the release tarball:
|
Test build the release tarball:
|
||||||
```sh
|
```sh
|
||||||
ninja -C build/ dist
|
meson dist -C build/
|
||||||
```
|
```
|
||||||
|
|
||||||
Tag, sign and push the release (see below for information about `git evtag`):
|
Tag, sign and push the release, using `${new_version}` as the tag message (see below for information about `git evtag`):
|
||||||
```sh
|
```sh
|
||||||
git evtag sign ${new_version}
|
git evtag sign ${new_version}
|
||||||
git push --atomic origin ${branch} ${new_version}
|
git push --atomic origin ${branch} ${new_version}
|
||||||
```
|
```
|
||||||
To use a specific key add an option `-u ${keyid|email}` after the `sign` argument.
|
You will need to **temporarily** allow maintainers to push to the `main` branch on https://gitlab.gnome.org/GNOME/glib/-/settings/repository. To use a specific key add an option `-u ${keyid|email}` after the `sign` argument.
|
||||||
|
|
||||||
Use `${new_version}` as the tag message.
|
The `dist-job` CI job will be triggered and will build and upload the final release archive.
|
||||||
|
|
||||||
Upload the release tarball (you will need a
|
|
||||||
[GNOME LDAP account](https://wiki.gnome.org/Infrastructure/NewAccounts) for this):
|
|
||||||
```sh
|
|
||||||
scp build/meson-dist/glib-${new_version}.tar.xz master.gnome.org:
|
|
||||||
ssh master.gnome.org ftpadmin install glib-${new_version}.tar.xz
|
|
||||||
```
|
|
||||||
|
|
||||||
Add the release notes to GitLab and close the milestone:
|
Add the release notes to GitLab and close the milestone:
|
||||||
- Go to https://gitlab.gnome.org/GNOME/glib/-/tags/${new_version}/release/edit
|
|
||||||
and upload the release notes for the new release from the `NEWS` file
|
|
||||||
- Go to https://gitlab.gnome.org/GNOME/glib/-/releases/${new_version}/edit
|
- Go to https://gitlab.gnome.org/GNOME/glib/-/releases/${new_version}/edit
|
||||||
and link the milestone to it, then list the new release tarball and
|
and upload the release notes for the new release from the `NEWS` file
|
||||||
|
- Then link the milestone to it, then list the new release tarball and
|
||||||
`sha256sum` file in the ‘Release Assets’ section as the ‘Other’ types.
|
`sha256sum` file in the ‘Release Assets’ section as the ‘Other’ types.
|
||||||
Get the file links from https://download.gnome.org/sources/glib/ and
|
Get the file links from https://download.gnome.org/sources/glib/ and
|
||||||
name them ‘Release tarball’ and ‘Release tarball sha256sum’
|
name them ‘Release archive’ and ‘Release archive checksum’
|
||||||
- Go to https://gitlab.gnome.org/GNOME/glib/-/milestones/
|
- Go to https://gitlab.gnome.org/GNOME/glib/-/milestones/
|
||||||
choose the milestone and close it, as all issues and merge requests tagged
|
choose the milestone and close it, as all issues and merge requests tagged
|
||||||
for this release should now be complete
|
for this release should now be complete
|
||||||
|
@ -27,7 +27,7 @@ Unstable release planning
|
|||||||
|
|
||||||
At the start of a development cycle, milestones are created for each release in
|
At the start of a development cycle, milestones are created for each release in
|
||||||
the cycle according to the [GNOME release
|
the cycle according to the [GNOME release
|
||||||
schedule](https://wiki.gnome.org/Schedule). GLib roughly follows the GNOME
|
schedule](https://release.gnome.org/calendar/). GLib roughly follows the GNOME
|
||||||
release schedule, but makes its releases one or two weeks ahead of each
|
release schedule, but makes its releases one or two weeks ahead of each
|
||||||
corresponding GNOME release. This allows other GNOME modules to depend on the
|
corresponding GNOME release. This allows other GNOME modules to depend on the
|
||||||
correct GLib version for new APIs. GLib does not follow the GNOME module
|
correct GLib version for new APIs. GLib does not follow the GNOME module
|
||||||
@ -42,7 +42,7 @@ maintainers think will have a wide benefit are prioritised.
|
|||||||
|
|
||||||
As a development cycle progresses, some of the releases are timed to coincide
|
As a development cycle progresses, some of the releases are timed to coincide
|
||||||
with [GNOME’s API/feature, string and hard code
|
with [GNOME’s API/feature, string and hard code
|
||||||
freezes](https://wiki.gnome.org/ReleasePlanning/Freezes). Issues which add API
|
freezes](https://handbook.gnome.org/release-planning/freezes.html). Issues which add API
|
||||||
and features are scheduled for the earlier micro releases in a development
|
and features are scheduled for the earlier micro releases in a development
|
||||||
cycle, followed by issues which add or change translatable strings, followed by
|
cycle, followed by issues which add or change translatable strings, followed by
|
||||||
smaller bug fixes, documentation and unit test updates.
|
smaller bug fixes, documentation and unit test updates.
|
||||||
|
@ -31,7 +31,7 @@ GLib is regularly built on at least the following systems:
|
|||||||
* Fedora: http://koji.fedoraproject.org/koji/packageinfo?packageID=382
|
* Fedora: http://koji.fedoraproject.org/koji/packageinfo?packageID=382
|
||||||
* Ubuntu: http://packages.ubuntu.com/source/glib2.0
|
* Ubuntu: http://packages.ubuntu.com/source/glib2.0
|
||||||
* Debian: https://packages.debian.org/experimental/libglib2.0-0
|
* Debian: https://packages.debian.org/experimental/libglib2.0-0
|
||||||
* FreeBSD: https://wiki.gnome.org/Projects/Jhbuild/FreeBSD
|
* FreeBSD: https://cgit.freebsd.org/ports/tree/devel/glib20
|
||||||
* openSUSE: https://build.opensuse.org/package/show/GNOME:Factory/glib2
|
* openSUSE: https://build.opensuse.org/package/show/GNOME:Factory/glib2
|
||||||
* CI runners, https://gitlab.gnome.org/GNOME/glib/blob/main/.gitlab-ci.yml:
|
* CI runners, https://gitlab.gnome.org/GNOME/glib/blob/main/.gitlab-ci.yml:
|
||||||
- Fedora (39, https://gitlab.gnome.org/GNOME/glib/-/blob/main/.gitlab-ci/fedora.Dockerfile)
|
- Fedora (39, https://gitlab.gnome.org/GNOME/glib/-/blob/main/.gitlab-ci/fedora.Dockerfile)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user