update with 1.17.0-rc2 & 1.16.9

Signed-off-by: Loïc Dachary <loic@dachary.org>
master
Loïc Dachary 2022-07-20 14:16:32 +02:00
parent 0bb1801768
commit e35eb8fe4d
Signed by: dachary
GPG Key ID: 992D23B392F9E4F2
1 changed files with 13 additions and 16 deletions

View File

@ -28,7 +28,7 @@ It is **critical** to verify that Gitea works very carefully. Restoring the back
#### Gitea preparation
* Manually analyze (reading the patches to the sources of the template directory) and update the [customized CSS / content](https://docs.gitea.io/en-us/upgrade-from-gitea/#take-care-about-customized-templates).
* [Do not use `gitea help`](https://discourse.gitea.io/t/gitea-custom-themes-not-working/4040/7?u=dachary) to figure out the location of `CustomPath`, look at the configuration tab of the administration panel when logged in as an admin.
* [Do not use `gitea help`](https://discourse.gitea.io/t/gitea-custom-themes-not-working/4040/7) to figure out the location of `CustomPath`, look at the configuration tab of the administration panel when logged in as an admin.
* `gitea manager flush-queues`. If it timesout, run it again with a more generous `--timeout` argument. It is important because the queues contain serialized data that is not guaranteed to be backward compatible between versions. See [this breaking change example](https://blog.gitea.io/2022/03/gitea-1.16.4-is-released/#breaking-change-refactor-mirror-code--fix-starttomirror-19075httpsgithubcomgo-giteagiteapull19075) to better understand why this is necessary.
* With [Gitea version >=1.17](https://github.com/go-gitea/gitea/pull/15928)
* go to the web admin panel and pause all queues
@ -39,12 +39,9 @@ It is **critical** to verify that Gitea works very carefully. Restoring the back
* **Pending question:**
* What happens with non flushable queues?
#### Verify dependencies
#### Docker version
Depending on how Gitea was installed, it depends on third party software and they may need to be upgraded prior to upgrading Gitea.
* [Gitea binary installation](https://docs.gitea.io/en-us/install-from-binary/) requires git version 2.36 or above
* Gitea >= 1.17 installation from [docker](https://docs.gitea.io/en-us/install-with-docker/) and [docker rootless](https://docs.gitea.io/en-us/install-with-docker-rootless/) require [docker >= 20.10.6](https://wiki.alpinelinux.org/wiki/Release_Notes_for_Alpine_3.14.0) otherwise [mysterious](https://github.com/go-gitea/gitea/issues/20162) [problems](https://github.com/go-gitea/gitea/issues/20103) will happen (mysterious in the sense that the problem will manifest itself with a problem different from an error message reading "Docker must be upgraded").
* Gitea >= 1.17 requires [docker >= 20.10.6](https://wiki.alpinelinux.org/wiki/Release_Notes_for_Alpine_3.14.0) otherwise [mysterious](https://github.com/go-gitea/gitea/issues/20162) [problems](https://github.com/go-gitea/gitea/issues/20103) will happen (mysterious in the sense that the problem will manifest itself with a problem different from an error message reading "Docker must be upgraded").
#### Upgrade and verify
@ -54,16 +51,16 @@ Depending on how Gitea was installed, it depends on third party software and the
* Upgrade to 1.5.3 and manually verify it runs
* Upgrade to 1.6.4 and manually verify it runs
* If the upgrade is from a gitea version greater or equal to 1.16.4 that is not mentioned to be problematic below, upgrade directly to the latest stable Gitea version, there is no need to upgrade to intermediate versions.
* Upgrade using the full version number (for instance 1.16.8) and avoid using versions such as "latest" or versions without the minor release number such as 1.16. In theory these shorter version names are associated with a version according to a certain logic: for instance "latest" is supposed to be the latest stable version. But there has been cases in the past where this logic was not implemented correctly and caused unexpected upgrades ([1.17.0-rc1 tagged as latest](https://mastodon.online/@hostea/108514134565401798) and 1.16.0-rc1 tagged as latest).
* Upgrade using the full version number (for instance 1.16.9) and avoid using versions such as "latest" or versions without the minor release number such as 1.17. In theory these shorter version names are associated with a version according to a certain logic: for instance "latest" is supposed to be the latest stable version. But there has been cases in the past where this logic was not implemented correctly and caused unexpected upgrades ([1.17.0-rc1 tagged as latest](https://mastodon.online/@hostea/108514134565401798) and 1.16.0-rc1 tagged as latest).
* [Verify Gitea works](#verify-gitea-works-2)
#### Troubleshoot
* [Increase the log level](https://docs.gitea.io/en-us/logging-configuration/#debugging-problems). If the Gitea version is recent they can be modified dynamically with `gitea manager logging add console -n traceconsole -l TRACE -e '((modules/git)|(services/mirror))'`
* If the upgrade from version x.y to version x.y+2 fails and there is a need to narrow down the problem, try upgrading to the latest minor version of each major version and verify it works. It will show which major version causes the issue and help debug the problem. For instance, if upgrading from 1.14.5 to 1.16.6 does not work:
* If the upgrade from version x.y to version x.y+2 fails and there is a need to narrow down the problem, try upgrading to the latest minor version of each major version and verify it works. It will show which major version causes the issue and help debug the problem. For instance, if upgrading from 1.14.5 to 1.16.9 does not work:
* Upgrade from 1.14.5 to 1.14.6 (the last minor version of the 1.14 major version) and [verify Gitea works](#verify-gitea-works-2).
* Upgrade to 1.15.11 (the last minor version of the 1.15 major version) and [verify Gitea works](#verify-gitea-works-2).
* Upgrade to 1.16.6 (the last minor version of the 1.16 major version at this point in time) and [verify Gitea works](#verify-gitea-works-2).
* Upgrade to 1.16.9 (the last minor version of the 1.16 major version at this point in time) and [verify Gitea works](#verify-gitea-works-2).
### List of latest major versions
@ -71,8 +68,8 @@ The database version is stored in the database and can be retrieved with **selec
| Gitea version | Date | Database |
| --------------| ---- | ---------------- |
|[1.17.0-rc1](https://github.com/go-gitea/gitea/releases/tag/v1.17.0-rc1) | June 2022 | v218 |
|[1.16.8](https://github.com/go-gitea/gitea/releases/tag/v1.16.8) | May 2022 | v211 |
|[1.17.0-rc2](https://github.com/go-gitea/gitea/releases/tag/v1.17.0-rc2) | July 2022 | v218 |
|[1.16.9](https://github.com/go-gitea/gitea/releases/tag/v1.16.9) | July 2022 | v211 |
|[1.15.11](https://github.com/go-gitea/gitea/releases/tag/v1.15.11) | January 2022| v189 |
|[1.14.7](https://github.com/go-gitea/gitea/releases/tag/v1.14.7) | September 2021| v178 |
|[1.13.7](https://github.com/go-gitea/gitea/releases/tag/v1.13.7) | April 2021| v156 *Note that [the comment in the source](https://github.com/go-gitea/gitea/blob/63f6e6c0bd6a5314b76b7598dee77ceee1dde81a/models/migrations/migrations.go#L257) incorrectly mention it should be v155.* |
@ -83,8 +80,8 @@ The database version is stored in the database and can be retrieved with **selec
### When upgrading from a specific version...
* Any version before [1.17](https://github.com/go-gitea/gitea/releases/tag/v1.17.0-rc1)
* [preserve a custom gitconfig](https://hostea.org/blog/1-17-breaking-episode-1/)
* Any version before [1.17](https://github.com/go-gitea/gitea/releases/tag/v1.17.0-rc2)
* preserve a custom gitconfig: [episode 1](https://hostea.org/blog/1-17-breaking-episode-1/), [episode 2](https://hostea.org/blog/1-17-breaking-episode-2/)
* [1.13.0](https://blog.gitea.io/2020/12/gitea-1.13.0-is-released/)
* The Webhook shared secret inside the webhook payload has been deprecated and will be removed in 1.14.0: https://github.com/go-gitea/gitea/issues/11755 please use the secret header that uses an hmac signature to validate the webhook payload.
* Git hooks now default to `off`! ([#13058](https://github.com/go-gitea/gitea/pull/13058))
@ -101,17 +98,17 @@ In your config, you can check the [security](https://docs.gitea.io/en-us/config-
### Unexplained upgrade failures & workarounds
* [1.6.4 to any version up to 1.8.0](https://discourse.gitea.io/t/stuck-on-gitea-1-6-x-after-upgrade-from-1-0-2-1-6-4/4237)
* Workaround: upgrading to [1.15.x](https://discourse.gitea.io/t/stuck-on-gitea-1-6-x-after-upgrade-from-1-0-2-1-6-4/4237/8?u=dachary) worked.
* Workaround: upgrading to [1.15.x](https://discourse.gitea.io/t/stuck-on-gitea-1-6-x-after-upgrade-from-1-0-2-1-6-4/4237/8) worked.
* All versions
* Symptom: [blank / 500 page after login when running SQLite](https://github.com/go-gitea/gitea/issues/18650)
* Workaround: upgrade to [1.16.8 or greater](https://github.com/go-gitea/gitea/pull/19656) and run `gitea doctor --all --fix`
* Workaround: upgrade to [1.16.9 or greater](https://github.com/go-gitea/gitea/pull/19656) and run `gitea doctor --all --fix`
* [1.12.x to 1.16.x](https://discourse.gitea.io/t/fixing-broken-avatar-icons-after-upgrade/4909)
* Workaround: [manually delete broken avatars](https://discourse.gitea.io/t/fixing-broken-avatar-icons-after-upgrade/4909/2)
* [1.10.1 to 1.16.0](https://discourse.gitea.io/t/migrating-from-1-10-1-to-1-16-0/4651)
* Workaround: [upgrade with all intermediate versions](https://discourse.gitea.io/t/migrating-from-1-10-1-to-1-16-0/4651/12?u=dachary)
* Workaround: [upgrade with all intermediate versions](https://discourse.gitea.io/t/migrating-from-1-10-1-to-1-16-0/4651/12)
### Versions with known issues