File tree Expand file tree Collapse file tree 2 files changed +31
-3
lines changed Expand file tree Collapse file tree 2 files changed +31
-3
lines changed Original file line number Diff line number Diff line change 19
19
20
20
- uses : DeterminateSystems/nix-installer-action@main
21
21
22
+ - name : Clean Nix store before build
23
+ run : |
24
+ nix-collect-garbage -d
25
+ nix-store --optimize
26
+ df -h / # Display available space
27
+
22
28
- name : Set PostgreSQL versions
23
29
id : set-versions
24
30
run : |
@@ -80,13 +86,27 @@ jobs:
80
86
packer init amazon-arm64-nix.pkr.hcl
81
87
GIT_SHA=${{github.sha}}
82
88
packer build -var "git-head-version=${GIT_SHA}" -var "packer-execution-id=${GITHUB_RUN_ID}" -var-file="development-arm.vars.pkr.hcl" -var-file="common-nix.vars.pkr.hcl" -var "ansible_arguments=" -var "postgres-version=${{ steps.random.outputs.random_string }}" -var "region=ap-southeast-1" -var 'ami_regions=["ap-southeast-1"]' -var "force-deregister=true" -var "ansible_arguments=-e postgresql_major=${POSTGRES_MAJOR_VERSION}" amazon-arm64-nix.pkr.hcl
83
-
89
+
90
+ - name : Clean up after AMI stage 1
91
+ if : always() # Run even if previous steps fail
92
+ run : |
93
+ nix-collect-garbage -d # Delete old generations of all profiles
94
+ rm -rf /tmp/* # Clean temporary files
95
+ df -h / # Display available space
96
+
84
97
- name : Build AMI stage 2
85
98
run : |
86
99
packer init stage2-nix-psql.pkr.hcl
87
100
GIT_SHA=${{github.sha}}
88
101
packer build -var "git-head-version=${GIT_SHA}" -var "packer-execution-id=${GITHUB_RUN_ID}" -var "postgres_major_version=${POSTGRES_MAJOR_VERSION}" -var-file="development-arm.vars.pkr.hcl" -var-file="common-nix.vars.pkr.hcl" -var "postgres-version=${{ steps.random.outputs.random_string }}" -var "region=ap-southeast-1" -var 'ami_regions=["ap-southeast-1"]' -var "force-deregister=true" -var "git_sha=${GITHUB_SHA}" stage2-nix-psql.pkr.hcl
89
102
103
+ - name : Clean up after AMI stage 2
104
+ if : always() # Run even if previous steps fail
105
+ run : |
106
+ nix-collect-garbage -d # Delete old generations of all profiles
107
+ rm -rf /tmp/* # Clean temporary files
108
+ df -h / # Display available space
109
+
90
110
- name : Run tests
91
111
timeout-minutes : 10
92
112
env :
Original file line number Diff line number Diff line change @@ -38,11 +38,19 @@ buildPgrxExtension_0_12_9 rec {
38
38
39
39
NIX_LDFLAGS = "-L${ postgresql } /lib -lpq" ;
40
40
41
- # Set necessary environment variables for pgrx
41
+ # Set necessary environment variables for pgrx in darwin only
42
42
env = lib . optionalAttrs stdenv . isDarwin {
43
43
POSTGRES_LIB = "${ postgresql } /lib" ;
44
44
RUSTFLAGS = "-C link-arg=-undefined -C link-arg=dynamic_lookup" ;
45
- PGPORT = "5435" ;
45
+ # Calculate unique port for each PostgreSQL version:
46
+ # - Take first 2 chars of version (e.g., "15" from "15.8", "17" from "17.0")
47
+ # - Convert to number and subtract 15 to get offset
48
+ # - Add to base port 5435
49
+ # Examples:
50
+ # - PostgreSQL 15.8 → 5435 + (15-15) = 5435
51
+ # - PostgreSQL 17.0 → 5435 + (17-15) = 5437
52
+ # - PostgreSQL 17.4 → 5435 + (17-15) = 5437
53
+ PGPORT = toString ( 5435 + ( builtins . fromJSON ( builtins . substring 0 2 postgresql . version ) ) - 15 ) ;
46
54
} ;
47
55
48
56
OPENSSL_NO_VENDOR = 1 ;
You can’t perform that action at this time.
0 commit comments