File tree Expand file tree Collapse file tree 2 files changed +33
-3
lines changed Expand file tree Collapse file tree 2 files changed +33
-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
+ sudo nix-collect-garbage -d || true
25
+ sudo nix-store --optimize || true
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
+ sudo nix-collect-garbage -d # Delete old generations of all profiles
94
+ sudo 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
+ sudo nix-collect-garbage -d # Delete old generations of all profiles
107
+ sudo 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,21 @@ 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
+ # - Check if version contains underscore (indicating OrioleDB)
47
+ # - Add 1 to port if it's OrioleDB
48
+ # - Add 2 for each major version above 15
49
+ # Examples:
50
+ # - PostgreSQL 15.8 → 5435 + 0 + (15-15)*2 = 5435
51
+ # - PostgreSQL 17_0 (OrioleDB) → 5435 + 1 + (17-15)*2 = 5440
52
+ # - PostgreSQL 17.4 → 5435 + 0 + (17-15)*2 = 5439
53
+ PGPORT = toString ( 5435 +
54
+ ( if builtins . match ".*_.*" postgresql . version != null then 1 else 0 ) + # +1 for OrioleDB
55
+ ( ( builtins . fromJSON ( builtins . substring 0 2 postgresql . version ) ) - 15 ) * 2 ) ; # +2 for each major version
46
56
} ;
47
57
48
58
OPENSSL_NO_VENDOR = 1 ;
You can’t perform that action at this time.
0 commit comments