File tree Expand file tree Collapse file tree 9 files changed +84
-17
lines changed Expand file tree Collapse file tree 9 files changed +84
-17
lines changed Original file line number Diff line number Diff line change @@ -57,18 +57,18 @@ jobs:
57
57
env :
58
58
POSTGRES_MAJOR_VERSION : ${{ env.POSTGRES_MAJOR_VERSION }}
59
59
run : |
60
- packer init amazon-arm64-nix.pkr.hcl
60
+ nix run .# packer -- init amazon-arm64-nix.pkr.hcl
61
61
GIT_SHA=${{ steps.get_sha.outputs.sha }}
62
- 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=-e postgresql_major=${POSTGRES_MAJOR_VERSION}" amazon-arm64-nix.pkr.hcl
62
+ nix run .# 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=-e postgresql_major=${POSTGRES_MAJOR_VERSION}" amazon-arm64-nix.pkr.hcl
63
63
64
64
- name : Build AMI stage 2
65
65
env :
66
66
POSTGRES_MAJOR_VERSION : ${{ env.POSTGRES_MAJOR_VERSION }}
67
67
run : |
68
- packer init stage2-nix-psql.pkr.hcl
68
+ nix run .# packer -- init stage2-nix-psql.pkr.hcl
69
69
GIT_SHA=${{ steps.get_sha.outputs.sha }}
70
70
POSTGRES_MAJOR_VERSION=${{ env.POSTGRES_MAJOR_VERSION }}
71
- packer build -var "git_sha=${GIT_SHA}" -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" stage2-nix-psql.pkr.hcl
71
+ nix run .# packer -- build -var "git_sha=${GIT_SHA}" -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" stage2-nix-psql.pkr.hcl
72
72
73
73
- name : Grab release version
74
74
id : process_release_version
Original file line number Diff line number Diff line change @@ -78,19 +78,19 @@ jobs:
78
78
env :
79
79
POSTGRES_MAJOR_VERSION : ${{ env.POSTGRES_MAJOR_VERSION }}
80
80
run : |
81
- packer init amazon-arm64-nix.pkr.hcl
81
+ nix run .# packer -- init amazon-arm64-nix.pkr.hcl
82
82
GIT_SHA=${{github.sha}}
83
83
# why is postgresql_major defined here instead of where the _three_ other postgresql_* variables are defined?
84
- 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=-e postgresql_major=${POSTGRES_MAJOR_VERSION}" amazon-arm64-nix.pkr.hcl
84
+ nix run .# 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=-e postgresql_major=${POSTGRES_MAJOR_VERSION}" amazon-arm64-nix.pkr.hcl
85
85
86
86
- name : Build AMI stage 2
87
87
env :
88
88
POSTGRES_MAJOR_VERSION : ${{ env.POSTGRES_MAJOR_VERSION }}
89
89
run : |
90
- packer init stage2-nix-psql.pkr.hcl
90
+ nix run .# packer -- init stage2-nix-psql.pkr.hcl
91
91
GIT_SHA=${{github.sha}}
92
92
POSTGRES_MAJOR_VERSION=${{ env.POSTGRES_MAJOR_VERSION }}
93
- packer build -var "git_sha=${GIT_SHA}" -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" stage2-nix-psql.pkr.hcl
93
+ nix run .# packer -- build -var "git_sha=${GIT_SHA}" -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" stage2-nix-psql.pkr.hcl
94
94
95
95
- name : Grab release version
96
96
id : process_release_version
Original file line number Diff line number Diff line change 91
91
make init
92
92
GIT_SHA=${{github.sha}}
93
93
export PACKER_LOG=1
94
- packer build -var "git_sha=${GIT_SHA}" -var-file="common-nix.vars.pkr.hcl" qemu-arm64-nix.pkr.hcl
94
+ nix run .# packer -- build -var "git_sha=${GIT_SHA}" -var-file="common-nix.vars.pkr.hcl" qemu-arm64-nix.pkr.hcl
95
95
96
96
- name : Grab release version
97
97
id : process_release_version
Original file line number Diff line number Diff line change @@ -76,15 +76,15 @@ jobs:
76
76
77
77
- name : Build AMI stage 1
78
78
run : |
79
- packer init amazon-arm64-nix.pkr.hcl
79
+ nix run .# packer -- init amazon-arm64-nix.pkr.hcl
80
80
GIT_SHA=${{github.sha}}
81
- 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
81
+ nix run .# 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
82
82
83
83
- name : Build AMI stage 2
84
84
run : |
85
- packer init stage2-nix-psql.pkr.hcl
85
+ nix run .# packer -- init stage2-nix-psql.pkr.hcl
86
86
GIT_SHA=${{github.sha}}
87
- 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
87
+ nix run .# 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
88
88
89
89
- name : Run tests
90
90
timeout-minutes : 10
Original file line number Diff line number Diff line change 13
13
treefmt-nix . inputs . nixpkgs . follows = "nixpkgs" ;
14
14
git-hooks . url = "github:cachix/git-hooks.nix" ;
15
15
git-hooks . inputs . nixpkgs . follows = "nixpkgs" ;
16
+ nixpkgs-go124 . url = "github:Nixos/nixpkgs/d2ac4dfa61fba987a84a0a81555da57ae0b9a2b0" ;
16
17
} ;
17
18
18
19
outputs =
Original file line number Diff line number Diff line change 45
45
shellcheck
46
46
ansible
47
47
ansible-lint
48
- ( packer . overrideAttrs ( _oldAttrs : {
49
- version = "1.7.8" ;
50
- } ) )
48
+ self' . packages . packer
51
49
52
50
self' . packages . start-server
53
51
self' . packages . start-client
Original file line number Diff line number Diff line change 1
- { self , ... } :
1
+ { self , inputs , ... } :
2
2
{
3
3
imports = [ ./postgres.nix ] ;
4
4
perSystem =
37
37
supabase-groonga = pkgs . callPackage ./groonga { } ;
38
38
local-infra-bootstrap = pkgs . callPackage ./local-infra-bootstrap.nix { } ;
39
39
migrate-tool = pkgs . callPackage ./migrate-tool.nix { psql_15 = self' . packages . "psql_15/bin" ; } ;
40
+ packer = pkgs . callPackage ./packer.nix { inherit inputs ; } ;
40
41
pg-restore = pkgs . callPackage ./pg-restore.nix { psql_15 = self' . packages . "psql_15/bin" ; } ;
41
42
pg_prove = pkgs . perlPackages . TAPParserSourceHandlerpgTAP ;
42
43
pg_regress = makePgRegress activeVersion ;
Original file line number Diff line number Diff line change
1
+ {
2
+ pkgs ,
3
+ inputs ,
4
+ lib ,
5
+ fetchFromGitHub ,
6
+ installShellFiles ,
7
+ ...
8
+ } :
9
+ let
10
+ go124 = inputs . nixpkgs-go124 . legacyPackages . ${ pkgs . system } . go_1_24 ;
11
+ buildGoModule = pkgs . buildGoModule . override { go = go124 ; } ;
12
+ in
13
+ buildGoModule rec {
14
+ pname = "packer" ;
15
+ version = "1.14.1" ;
16
+
17
+ src = fetchFromGitHub {
18
+ owner = "hashicorp" ;
19
+ repo = "packer" ;
20
+ rev = "v${ version } " ;
21
+ hash = "sha256-3g9hsmrfLzGhjcGvUza/L9PMGUFw+KLbg2pIK0CxlQI=" ;
22
+ } ;
23
+
24
+ vendorHash = "sha256-F6hn+pXPyPe70UTK8EF24lk7ArYz7ygUyVVsatW6+hI=" ;
25
+
26
+ subPackages = [ "." ] ;
27
+
28
+ ldflags = [
29
+ "-s"
30
+ "-w"
31
+ ] ;
32
+
33
+ nativeBuildInputs = [ installShellFiles ] ;
34
+
35
+ buildInputs = lib . optionals pkgs . stdenv . isDarwin [
36
+ pkgs . darwin . apple_sdk . frameworks . IOKit
37
+ pkgs . darwin . apple_sdk . frameworks . Security
38
+ ] ;
39
+
40
+ postInstall = ''
41
+ installShellCompletion --zsh contrib/zsh-completion/_packer
42
+ '' ;
43
+
44
+ meta = {
45
+ description = "Tool for creating identical machine images for multiple platforms from a single source configuration" ;
46
+ homepage = "https://www.packer.io" ;
47
+ license = lib . licenses . bsl11 ;
48
+ changelog = "https://github.com/hashicorp/packer/blob/v${ version } /CHANGELOG.md" ;
49
+ } ;
50
+ }
You can’t perform that action at this time.
0 commit comments