From 291747bcfb8fc6453af33766f7acb46be13d9f03 Mon Sep 17 00:00:00 2001 From: Earl Warren Date: Sun, 17 Nov 2024 16:59:34 +0100 Subject: [PATCH] admin: release schedule in JSON and markdown --- .forgejo/workflows/pr.yml | 1 + README.md | 9 --------- docs/admin/release-schedule.md | 8 ++++++++ docs/contributor/RELEASE.md | 15 +-------------- package.json | 3 ++- release-schedule.json | 12 ++++++++++++ scripts/release-schedule.sh | 23 +++++++++++++++++++++++ 7 files changed, 47 insertions(+), 24 deletions(-) create mode 100644 docs/admin/release-schedule.md create mode 100644 release-schedule.json create mode 100755 scripts/release-schedule.sh diff --git a/.forgejo/workflows/pr.yml b/.forgejo/workflows/pr.yml index dd06afc0..dbd50931 100644 --- a/.forgejo/workflows/pr.yml +++ b/.forgejo/workflows/pr.yml @@ -23,6 +23,7 @@ jobs: run: | scripts/cli-docs.sh run ${{ env.GITHUB_BASE_REF }} > docs/admin/command-line.md git diff --exit-code + - run: pnpm run update-schedule - name: get forgejo.org and move the docs run: | git clone --recursive --depth 1 https://codeberg.org/forgejo/website/ /tmp/website diff --git a/README.md b/README.md index 5bae60b1..f34d93c3 100644 --- a/README.md +++ b/README.md @@ -10,15 +10,6 @@ which documents the version that is currently being developed. Each time a new major version of Forgejo is released, a new branch will be created in this repo to document the stable release. -Current release branches are as follows: - -- [`next`](https://codeberg.org/forgejo/docs/src/branch/next) -- [`v8.0`](https://codeberg.org/forgejo/docs/src/branch/v8.0) -- [`v7.0`](https://codeberg.org/forgejo/docs/src/branch/v7.0) -- [`v1.21`](https://codeberg.org/forgejo/docs/src/branch/v1.21) -- [`v1.20`](https://codeberg.org/forgejo/docs/src/branch/v1.20) -- [`v1.19`](https://codeberg.org/forgejo/docs/src/branch/v1.19) - Documentation content lives in the `docs` directory, and images in the `docs/_images` subdirectory. ## Contributing diff --git a/docs/admin/release-schedule.md b/docs/admin/release-schedule.md new file mode 100644 index 00000000..808e59d5 --- /dev/null +++ b/docs/admin/release-schedule.md @@ -0,0 +1,8 @@ +--- +title: 'Release schedule' +license: 'CC-BY-SA-4.0' +--- + +Forgejo stable releases are published on a fixed schedule, every quarter. The most up-to-date version is available [as a JSON file](https://codeberg.org/forgejo/docs/raw/branch/next/release-schedule.json). + + diff --git a/docs/contributor/RELEASE.md b/docs/contributor/RELEASE.md index bc3d1755..37f7646d 100644 --- a/docs/contributor/RELEASE.md +++ b/docs/contributor/RELEASE.md @@ -5,20 +5,7 @@ license: 'CC-BY-SA-4.0' ## Release cycle -Forgejo stable releases are published on a fixed schedule, every quarter. - -| **Date** | **Version** | **Feature freeze** | **Release date** | **End Of Life** | -| -------- | -------------------- | ------------------ | ---------------- | ---------------- | -| 2024 Q1 | 7.0+gitea-1.21 (LTS) | | 23 April 2024 | **16 July 2025** | -| 2024 Q2 | 8.0+gitea-1.22 | 1 July 2024 | 17 July 2024 | 16 October 2024 | -| 2024 Q3 | 9.0+gitea-1.22 | 25 September 2024 | 16 October 2024 | 15 January 2025 | -| 2024 Q4 | 10.0+gitea-A.B | 25 December 2024 | 15 January 2025 | 16 April 2025 | -| 2025 Q1 | X.Y+gitea-A.B (LTS) | 26 March 2025 | 16 April 2025 | **14 July 2026** | -| 2025 Q2 | X.Y+gitea-A.B | 25 June 2025 | 16 July 2025 | 15 October 2025 | -| 2025 Q3 | X.Y+gitea-A.B | 24 September 2025 | 15 October 2025 | 14 January 2026 | -| 2025 Q4 | X.Y+gitea-A.B | 24 December 2025 | 14 January 2026 | 15 April 2026 | -| 2026 Q1 | X.Y+gitea-A.B (LTS) | 25 March 2026 | 15 April 2026 | **14 July 2027** | -| 2026 Q2 | X.Y+gitea-A.B | 24 June 2026 | 15 July 2026 | 14 October 2026 | +See [the release schedule](../../admin/release-schedule). ### Stable release support diff --git a/package.json b/package.json index fdfaae11..3b3afbb9 100644 --- a/package.json +++ b/package.json @@ -14,7 +14,8 @@ "format:remark": "remark . --quiet --frail --output", "format:prettier": "prettier -w --cache .", "prepare": "husky install", - "mermaid": "./scripts/mermaid_image_generate.sh" + "mermaid": "./scripts/mermaid_image_generate.sh", + "update-schedule": "./scripts/release-schedule.sh && prettier -w --cache docs/admin/release-schedule.md" }, "lint-staged": { "*.md": "remark --quiet --frail", diff --git a/release-schedule.json b/release-schedule.json new file mode 100644 index 00000000..2d8ce766 --- /dev/null +++ b/release-schedule.json @@ -0,0 +1,12 @@ +[ + { "major": "7", "minor": "0", "cut": "01-04-2024", "release": "23-04-2024", "eol": "16-07-2024", "lts": true }, + { "major": "8", "minor": "0", "cut": "01-07-2024", "release": "30-07-2024", "eol": "16-10-2024", "lts": false }, + { "major": "9", "minor": "0", "cut": "25-09-2024", "release": "16-10-2024", "eol": "15-01-2025", "lts": false }, + { "major": "10", "minor": "0", "cut": "25-12-2024", "release": "15-01-2025", "eol": "16-04-2025", "lts": false }, + { "major": "11", "minor": "0", "cut": "26-03-2025", "release": "16-04-2025", "eol": "14-07-2026", "lts": true }, + { "major": "12", "minor": "0", "cut": "25-06-2025", "release": "16-07-2025", "eol": "15-10-2025", "lts": false }, + { "major": "13", "minor": "0", "cut": "24-09-2025", "release": "15-10-2025", "eol": "14-01-2026", "lts": false }, + { "major": "14", "minor": "0", "cut": "24-12-2025", "release": "14-01-2026", "eol": "15-04-2026", "lts": false }, + { "major": "15", "minor": "0", "cut": "25-03-2026", "release": "15-04-2026", "eol": "14-07-2027", "lts": true }, + { "major": "16", "minor": "0", "cut": "24-06-2026", "release": "15-07-2026", "eol": "14-10-2026", "lts": false } +] diff --git a/scripts/release-schedule.sh b/scripts/release-schedule.sh new file mode 100755 index 00000000..32451ce5 --- /dev/null +++ b/scripts/release-schedule.sh @@ -0,0 +1,23 @@ +#!/bin/bash + +set -e + +if ! which jq >/dev/null; then + apt-get install -qq -y jq +fi + +dir=docs/admin + +tag="" +schedule="$(sed -e "/$tag/,20000d" <$dir/release-schedule.md)" + +( + cat <$dir/release-schedule.md