mirror of
https://github.com/narrrl/proton-drive-linux.git
synced 2026-11-03 16:41:26 +01:00
Merge remote-tracking branch 'origin/main' into feat/diagnose-keys
# Conflicts: # docs/CHANGELOG.md # docs/TROUBLESHOOTING.md
This commit is contained in:
commit
071a11ef65
51 files changed
+3983
-2331
No files matched your search
+31
-12
@@ -141,31 +141,50 @@ file to `po/POTFILES.in`, run `po/update.sh`, and translate the new entries in e
|
||||
unit test, a simulation scenario or a `regression B<n>` acceptance case, and cite the entry in the
|
||||
code as `docs/BUGS.md B<n>`. Do not cite planning notes that are not in the repository.
|
||||
|
||||
**A user-visible change.** Update the matching page (user guide, CLI reference, configuration)
|
||||
and the `[Unreleased]` section of [CHANGELOG.md](CHANGELOG.md). `scripts/publish-wiki.sh` copies
|
||||
the six user pages (`INSTALL`, `USER_GUIDE`, `CLI`, `CONFIGURATION`, `TROUBLESHOOTING`, `RECOVERY`)
|
||||
to the GitHub wiki, so keep their file names.
|
||||
**A user-visible change.** Update the matching page (a user guide topic, the CLI reference,
|
||||
configuration) and the `[Unreleased]` section of [CHANGELOG.md](CHANGELOG.md). Link between pages
|
||||
with relative links such as `[Conflicts](SYNCED_FOLDERS.md#conflicts)`, and show screenshots from
|
||||
`images/` with `../images/<name>.png`.
|
||||
|
||||
**The wiki.** `docs/` is the source of the [GitHub wiki](https://github.com/narrrl/proton-drive-linux/wiki).
|
||||
`scripts/publish-wiki.sh` turns each page listed in its `SECTIONS` into a wiki page, rewrites the
|
||||
links, copies the images and writes the sidebar. `docs/README.md` becomes the wiki's Home.
|
||||
`BUGS.md` and `CHANGELOG.md` stay out of it; the wiki links to them on GitHub.
|
||||
|
||||
- `scripts/publish-wiki.sh --check` checks every link and heading anchor in `docs/`, `README.md`,
|
||||
`CONTRIBUTING.md` and `SECURITY.md`. It fails on a page in `docs/` that is not in `SECTIONS`
|
||||
or `EXCLUDED`. `.github/workflows/wiki.yml` runs it for every change to the documentation.
|
||||
- Each release publishes the wiki from the tag. Run the **Wiki** workflow from the Actions tab to
|
||||
publish `main` in between, for example after fixing a mistake.
|
||||
- `scripts/publish-wiki.sh [WORKDIR]` builds and commits the wiki in a local clone without
|
||||
pushing, so you can look at the result first. `--push` pushes it.
|
||||
|
||||
Never edit the wiki in the browser: the next publish replaces every page.
|
||||
|
||||
## Releasing
|
||||
|
||||
Releases are cut from `main` by pushing a `v*` tag. `.github/workflows/release.yml` then:
|
||||
|
||||
1. checks that the tag, the workspace version in `Cargo.toml` and `pkgver` in
|
||||
`packaging/PKGBUILD` agree;
|
||||
1. checks that the tag, the workspace version in `Cargo.toml`, `pkgver` in
|
||||
`packaging/PKGBUILD` and the default version in `packaging/proton-drive-linux.spec` agree;
|
||||
2. runs the quality gates;
|
||||
3. builds the release binaries and packages a `.tar.gz`, a `.deb` and a GPG-signed `.rpm`, and
|
||||
builds the Nix flake at the tag, which is what a flake input pinned to `vX.Y.Z` gets, and
|
||||
pushes it to the `proton-drive-linux` Cachix cache (secret `CACHIX_AUTH_TOKEN`);
|
||||
3. builds the release binaries and packages a `.tar.gz`, a `.deb`, a GPG-signed `.rpm` and a
|
||||
`.tar.xz` of the vendored crates, and builds the Nix flake at the tag, which is what a flake
|
||||
input pinned to `vX.Y.Z` gets, and pushes it to the `proton-drive-linux` Cachix cache (secret
|
||||
`CACHIX_AUTH_TOKEN`);
|
||||
4. publishes them as a GitHub release, with the version's section of `docs/CHANGELOG.md` as the
|
||||
notes;
|
||||
5. calls `.github/workflows/aur.yml`, which updates and pushes the AUR recipes and commits them
|
||||
back to `main`.
|
||||
back to `main`;
|
||||
6. calls `.github/workflows/copr.yml`, which builds the release in the
|
||||
[COPR repository](../packaging/copr/README.md) (secret `COPR_CONFIG`);
|
||||
7. calls `.github/workflows/wiki.yml`, which publishes `docs/` at the tag to the wiki.
|
||||
|
||||
To prepare a release:
|
||||
|
||||
```bash
|
||||
# 1. Bump the version in Cargo.toml, packaging/PKGBUILD, po/pdfs.pot and the pinned flake
|
||||
# URL in docs/INSTALL.md, then refresh the lock file.
|
||||
# 1. Bump the version in Cargo.toml, packaging/PKGBUILD, packaging/proton-drive-linux.spec,
|
||||
# po/pdfs.pot and the pinned flake URL in docs/INSTALL.md, then refresh the lock file.
|
||||
cargo update --workspace
|
||||
# 2. Move the [Unreleased] notes in docs/CHANGELOG.md under the new version.
|
||||
# 3. Commit, tag and push.
|
||||
|
||||
Reference in new issue
Block a user