Skip to content

Commit 0f7da38

Browse files
authored
feat: update pgctld, resolve version in pkg, update docs (#2088)
1 parent 8881af8 commit 0f7da38

3 files changed

Lines changed: 27 additions & 5 deletions

File tree

docs/multigres-image.md

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -216,3 +216,25 @@ cp /tmp/tmp.<id>/regression_output/results/z_multigres-orioledb-17_*.out nix/tes
216216
> `pgmq.out`, `http.out`) from multigres test runs back to `nix/tests/expected/`.
217217
> Those files are patched at runtime by the test harness and will break other
218218
> image tests if overwritten with patched content.
219+
220+
221+
## Updating multigres
222+
223+
1. run `nix flake update multigres` from root of repo (it should only change `flake.lock` file)
224+
2. `git add flake.lock`
225+
3. `nix build .#pgctld` and update `nix/packages/pgctld.nix` `vendorHash` with returned value
226+
example `vendorHash = "sha256-cqSd6Dv0WYOVwg7AE1tZPh9uzsjDG32gF6eJzARsHo8=";`
227+
4. `git add nix/packages/pgctld.nix`
228+
5. run the tests locally with
229+
a. `nix run .#docker-image-test -- --target variant-17 Dockerfile-multigres`
230+
b. `nix run .#docker-image-test -- --target variant-orioledb-17 Dockerfile-multigres`
231+
6. release the images by incrementing these values in `ansible/vars.yaml` by 1
232+
233+
# Full version strings for each major version
234+
```
235+
postgres_release:
236+
postgresorioledb-17: "17.6.0.054-orioledb"
237+
postgres17: "17.6.1.097"
238+
postgres15: "15.14.1.097"    
239+
```
240+
Then you can push the changes if the images pass those tests

flake.lock

Lines changed: 3 additions & 3 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

nix/packages/pgctld.nix

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
}:
66
buildGoModule {
77
pname = "pgctld";
8-
version = "0.1.0";
8+
version = multigres-src.rev;
99
src = multigres-src;
1010
subPackages = [ "go/cmd/pgctld" ];
1111
env.CGO_ENABLED = "0";
@@ -17,7 +17,7 @@ buildGoModule {
1717
'';
1818
# Tests require a running PostgreSQL instance (integration tests); skip in sandbox.
1919
doCheck = false;
20-
vendorHash = "sha256-HesmA96WVxnBvspLc9FZ5M4m5J/T5r6ymaui8g58yMM=";
20+
vendorHash = "sha256-cqSd6Dv0WYOVwg7AE1tZPh9uzsjDG32gF6eJzARsHo8=";
2121

2222
meta = {
2323
description = "PostgreSQL control daemon for Multigres cluster lifecycle management";

0 commit comments

Comments
 (0)