-
-
Notifications
You must be signed in to change notification settings - Fork 2.4k
Keep config and schema unchanged during a release #5010
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Keep config and schema unchanged during a release #5010
Conversation
Coverage summary from CodacySee diff coverage on Codacy
Coverage variation details
Coverage variation is the difference between the coverage for the head and common ancestor commits of the pull request branch: Diff coverage details
Diff coverage is the percentage of lines that are covered by tests out of the coverable lines that the pull request added or modified: See your quality gate settings Change summary preferencesFootnotes
|
This way it will also work when we make a copy of the entire docs folder.
The plan is to keep the original docs and schema folders unchanged for the duration of a release; we'll only continuously update the -master copies. Right before a new release we will copy them over.
This needs to be run immediately before creating a release. We could go further here and use gh to create the PR, but since I'm usually logged in with my work account to gh, this won't help me. The git push command prints the URL to create the PR, so it's a simple matter of command-clicking it, which is good enough for me.
…t up to date Of course it would be cooler if the workflow could create the PR and merge it if necessary, but this will have to do for now.
f3fa1b8 to
6ab40df
Compare
This MR contains the following updates: | Package | Update | Change | |---|---|---| | [jesseduffield/lazygit](https://github.com/jesseduffield/lazygit) | minor | `v0.56.0` -> `v0.57.0` | MR created with the help of [el-capitano/tools/renovate-bot](https://gitlab.com/el-capitano/tools/renovate-bot). **Proposed changes to behavior should be submitted there as MRs.** --- ### Release Notes <details> <summary>jesseduffield/lazygit (jesseduffield/lazygit)</summary> ### [`v0.57.0`](https://github.com/jesseduffield/lazygit/releases/tag/v0.57.0) [Compare Source](jesseduffield/lazygit@v0.56.0...v0.57.0) <!-- Release notes generated using configuration in .github/release.yml at v0.57.0 --> #### What's Changed ##### Enhancements 🔥 - Open pull requests in browser with extra leading slashes removed by [@​hrzlgnm](https://github.com/hrzlgnm) in [#​5018](jesseduffield/lazygit#5018) - Allow using SelectedSubmodule in CustomCommands by [@​rlkandela](https://github.com/rlkandela) in [#​5015](jesseduffield/lazygit#5015) - Don't allow empty input in most prompts by [@​stefanhaller](https://github.com/stefanhaller) in [#​5043](jesseduffield/lazygit#5043) - Suppress output from background fetch (unless there were errors) by [@​stefanhaller](https://github.com/stefanhaller) in [#​5044](jesseduffield/lazygit#5044) - feat: add fork remote command by [@​karolzwolak](https://github.com/karolzwolak) in [#​4831](jesseduffield/lazygit#4831) - Trigger immediate background fetch when switching repos by [@​stefanhaller](https://github.com/stefanhaller) in [#​5047](jesseduffield/lazygit#5047) ##### Fixes 🔧 - Keep cursor at top/bottom when navigating by page by [@​RaphaeleL](https://github.com/RaphaeleL) in [#​5019](jesseduffield/lazygit#5019) - Switch to branches view when checking out a commit by [@​stefanhaller](https://github.com/stefanhaller) in [#​5048](jesseduffield/lazygit#5048) - Fix deleting a remote tag when a remote branch with the same name exists, or vice versa by [@​stefanhaller](https://github.com/stefanhaller) in [#​5075](jesseduffield/lazygit#5075) - Show fixup base commits in correct order in ctrl-f error message by [@​stefanhaller](https://github.com/stefanhaller) in [#​5073](jesseduffield/lazygit#5073) - Band-aid fix for rare crashes when refreshing files by [@​stefanhaller](https://github.com/stefanhaller) in [#​5074](jesseduffield/lazygit#5074) - Fix to support creating MRs for repositories cloned with SSH alias by [@​roveo](https://github.com/roveo) in [#​5082](jesseduffield/lazygit#5082) ##### Maintenance ⚙️ - Keep config and schema unchanged during a release by [@​stefanhaller](https://github.com/stefanhaller) in [#​5010](jesseduffield/lazygit#5010) - Modernize all codes by [@​phanen](https://github.com/phanen) in [#​5036](jesseduffield/lazygit#5036) - Bump golang.org/x/crypto from 0.37.0 to 0.45.0 by [@​dependabot](https://github.com/dependabot)\[bot] in [#​5054](jesseduffield/lazygit#5054) - Don't use "HEADLESS" environment variable for running tests by [@​stefanhaller](https://github.com/stefanhaller) in [#​5064](jesseduffield/lazygit#5064) - refactor: use strings.Builder and strings.Repeat to simplify code by [@​boqishan](https://github.com/boqishan) in [#​5068](jesseduffield/lazygit#5068) - chore: fix function name in comment by [@​riyueguang](https://github.com/riyueguang) in [#​4481](jesseduffield/lazygit#4481) ##### Docs 📖 - Add a "Commit history" section to CONTRIBUTING.md by [@​stefanhaller](https://github.com/stefanhaller) in [#​5022](jesseduffield/lazygit#5022) - Update table of contents in README.md by [@​madscientist16](https://github.com/madscientist16) in [#​5045](jesseduffield/lazygit#5045) - Update docs and schema for release by [@​stefanhaller](https://github.com/stefanhaller) in [#​5091](jesseduffield/lazygit#5091) ##### I18n 🌎 - Update translations from Crowdin by [@​stefanhaller](https://github.com/stefanhaller) in [#​5090](jesseduffield/lazygit#5090) ##### Performance Improvements 📊 - Fix and speed up the file list for the "Enter path to filter by" feature by [@​stefanhaller](https://github.com/stefanhaller) in [#​5056](jesseduffield/lazygit#5056) #### New Contributors - [@​hrzlgnm](https://github.com/hrzlgnm) made their first contribution in [#​5018](jesseduffield/lazygit#5018) - [@​RaphaeleL](https://github.com/RaphaeleL) made their first contribution in [#​5019](jesseduffield/lazygit#5019) - [@​rlkandela](https://github.com/rlkandela) made their first contribution in [#​5015](jesseduffield/lazygit#5015) - [@​phanen](https://github.com/phanen) made their first contribution in [#​5036](jesseduffield/lazygit#5036) - [@​madscientist16](https://github.com/madscientist16) made their first contribution in [#​5045](jesseduffield/lazygit#5045) - [@​karolzwolak](https://github.com/karolzwolak) made their first contribution in [#​4831](jesseduffield/lazygit#4831) - [@​boqishan](https://github.com/boqishan) made their first contribution in [#​5068](jesseduffield/lazygit#5068) - [@​riyueguang](https://github.com/riyueguang) made their first contribution in [#​4481](jesseduffield/lazygit#4481) - [@​roveo](https://github.com/roveo) made their first contribution in [#​5082](jesseduffield/lazygit#5082) **Full Changelog**: <jesseduffield/lazygit@v0.56.0...v0.57.0> </details> --- ### Configuration 📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined). 🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied. ♻ **Rebasing**: Whenever MR becomes conflicted, or you tick the rebase/retry checkbox. 🔕 **Ignore**: Close this MR and you won't be reminded about this update again. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this MR, check this box --- This MR has been generated by [Renovate Bot](https://github.com/renovatebot/renovate). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0Mi40Ny4wIiwidXBkYXRlZEluVmVyIjoiNDIuNDcuMCIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOlsiUmVub3ZhdGUgQm90Il19-->
Some of our documentation is auto-generated from the source code (the defaults section in Config.md, and the keybinding cheat sheets), and so is the JSON schema for the config file. We have a check running on CI that verifies that when the source code changes (e.g. a new config option is added), those files are properly regenerated, to make sure they are always up to date with the latest version of the source code.
This causes a problem when people look at the documentation for a newly added config option and wonder why it doesn't work in the lazygit version they are using. Lots of issues were filed where people report this as a bug, and we have to patiently explain to them that the documentation describes a feature that hasn't been released yet. A similar problem occurs when we rename a config option (as has recently happened with the 'paging' config, which was renamed to 'pagers' in #4953), in which case the user's editor (if it supports JSON validation against the jsonschema store) starts to complain about the old config, even though it still works, and the new one doesn't yet.
To solve this, keep the documentation and the JSON schema unchanged for the lifetime of a release; make those continuous changes in a separate copy of those folders, and only copy the files back to the real location right before we make a release. To facilitate this, we add a script to conveniently create a PR for copying the files back, and add a check to the release workflow to abort with an error if this was forgotten.
Note that we only use this approach in order to solve the problem with the auto-generated files; this has a consequence for making changes to the other, non-auto-generated parts of the docs. For example, when fixing a spelling error, rewording a paragraph to explain it better, or adding an entirely new file, those changes will now have to be made in docs-master, which means:
docsaccidentally, it will be reverted with the next release.We can mitigate 2. by making the identical change in both places, but I think we should first wait and see how often it happens, and whether it is actually a problem.