chore: update the nix upgrade docs
These have been outdated for a while, not only because we're now using flake.nix, but also in various other places. Resolves #4816
This commit is contained in:
+6
-24
@@ -16,11 +16,8 @@ The following checklist guides you through the complete process in more detail.
|
|||||||
## Upgrade the pinned version of `nixpkgs`
|
## Upgrade the pinned version of `nixpkgs`
|
||||||
|
|
||||||
The pinned version of [`nixpkgs`](https://github.com/NixOS/nixpkgs) is defined
|
The pinned version of [`nixpkgs`](https://github.com/NixOS/nixpkgs) is defined
|
||||||
in [`nix/nixpkgs-version.nix`](nixpkgs-version.nix). The pin refers directly to
|
in [`flake.nix`](../flake.nix). To upgrade it, you can use a small utility
|
||||||
a GitHub tarball for the given revision, which is more efficient than pulling
|
script defined in [`nix/tools/nixpkgsTools.nix`](tools/nixpkgsTools.nix):
|
||||||
the complete Git repository. To upgrade it to the current `main` of
|
|
||||||
`nixpkgs`, you can use a small utility script defined in
|
|
||||||
[`nix/nixpkgs-update.nix`](nixpkgs-update.nix):
|
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
# From the root of the repository, enter nix-shell
|
# From the root of the repository, enter nix-shell
|
||||||
@@ -30,21 +27,12 @@ nix-shell
|
|||||||
postgrest-nixpkgs-upgrade
|
postgrest-nixpkgs-upgrade
|
||||||
|
|
||||||
# Exit the nix-shell with Ctrl-d
|
# Exit the nix-shell with Ctrl-d
|
||||||
|
|
||||||
```
|
```
|
||||||
|
|
||||||
## Review overlays
|
## Review overlays
|
||||||
|
|
||||||
Check whether the individual [overlays](overlays) are still required.
|
Check whether the individual [overlays](overlays) are still required.
|
||||||
|
|
||||||
## Check if patches are still required and update them as needed
|
|
||||||
|
|
||||||
We track a number of PostgREST-specific patches in [`nix/patches`](patches).
|
|
||||||
Check whether the pull-requests/issues linked in the
|
|
||||||
[`default.nix`](patches/default.nix) have progressed and remove/modify the
|
|
||||||
patches if they did. If conflicting changes occurred, you might have to rebase
|
|
||||||
the respective patches.
|
|
||||||
|
|
||||||
## Build everything
|
## Build everything
|
||||||
|
|
||||||
Using the PostgREST binary Nix cache is recommended. Install
|
Using the PostgREST binary Nix cache is recommended. Install
|
||||||
@@ -58,25 +46,19 @@ errors, this is probably due to one of our patches. Try to fix them and re-run
|
|||||||
|
|
||||||
## Update the PostgREST binary cache
|
## Update the PostgREST binary cache
|
||||||
|
|
||||||
If you have access to the PostgREST cachix signing key, you can push the
|
If you have access to the PostgREST cachix project, you can push the
|
||||||
artifacts that you built locally to the binary cache. This will accelerate the
|
artifacts that you built locally to the binary cache. This will accelerate the
|
||||||
CI builds and tests, sometimes dramatically. This might sometimes even be
|
CI builds and tests, sometimes dramatically. This might sometimes even be
|
||||||
required to avoid build timeouts in CI.
|
required to avoid build timeouts in CI.
|
||||||
|
|
||||||
You'll need to set the `CACHIX_SIGNING_KEY` before proceeding, e.g. by creating
|
You'll need to login with your token with `cachix authtoken <token>`.
|
||||||
a file containing `export CACHIX_SIGNING_KEY=...` and sourcing that file, which
|
|
||||||
avoids having the secret in your shell history.
|
|
||||||
|
|
||||||
To push all new artifacts to Cachix, run:
|
To push all new artifacts to Cachix, run:
|
||||||
|
|
||||||
```
|
```
|
||||||
nix-store -qR --include-outputs $$(nix-instantiate) | cachix push postgrest
|
|
||||||
|
|
||||||
# Or, equivalently
|
|
||||||
nix-shell --run postgrest-push-cachix
|
nix-shell --run postgrest-push-cachix
|
||||||
|
|
||||||
```
|
```
|
||||||
|
|
||||||
The `nix-store` command will query the nix-store to list all dependencies and
|
The `postgrest-push-cachix` command will query the nix-store to list all
|
||||||
build artifacts of PostgREST. The `cachix` command will efficiently push
|
dependencies and build artifacts of PostgREST. It will then push
|
||||||
everything that is not yet cached to the binary cache.
|
everything that is not yet cached to the binary cache.
|
||||||
|
|||||||
Reference in New Issue
Block a user