@@ -2,30 +2,27 @@ name: Build AMI
22description : Build both stage 1 and stage 2 AMIs
33
44inputs :
5- postgres_version :
6- description : ' PostgreSQL major version (e.g., 15)'
7- required : true
8- region :
9- description : ' AWS region'
5+ ami_name_prefix :
6+ description : ' Prefix for the AMI name'
107 required : true
118 ami_regions :
129 description : ' AMI regions as JSON array (e.g., ["us-east-1"])'
1310 required : true
11+ arch :
12+ description : Architecture to build AMI for (amd64|arm64)
13+ required : true
1414 git_sha :
1515 description : ' Git SHA for this build'
1616 required : true
17- ami_name_prefix :
18- description : ' Prefix for the AMI name'
19- required : false
20- default : ' supabase-postgres'
21- packer_template :
22- description : ' Packer template for stage 1 (e.g., amazon-arm64-nix.pkr.hcl)'
23- required : false
24- default : ' amazon-arm64-nix.pkr.hcl'
2517 instance_type :
2618 description : ' EC2 instance type for the build'
27- required : false
28- default : ' c6g.4xlarge'
19+ required : true
20+ postgres_version :
21+ description : ' PostgreSQL major version (e.g., 15)'
22+ required : true
23+ region :
24+ description : ' AWS region'
25+ required : true
2926
3027outputs :
3128 stage2_ami_id :
@@ -41,6 +38,13 @@ outputs:
4138runs :
4239 using : " composite"
4340 steps :
41+ - name : Verify arch
42+ shell : bash
43+ run : |
44+ case ${{ inputs.arch }} in
45+ amd64 | arm64) ;;
46+ *) echo "Unknown arch input, expected:(amd64|arm64) got:${{ inputs.arch }}" >&2 && exit 1 ;;
47+ esac
4448 - name : Set execution ID
4549 id : set-execution-id
4650 shell : bash
@@ -68,12 +72,12 @@ runs:
6872 AWS_RETRY_MODE : adaptive
6973 AWS_REGION : ${{ inputs.region }}
7074 run : |
71- nix run .#build-ami -- stage1 \
75+ nix run .#build-ami -- stage1 ${{ inputs.arch }} \
7276 -var "git-head-version=${{ inputs.git_sha }}" \
7377 -var "packer-execution-id=${{ env.EXECUTION_ID }}" \
7478 -var "ansible_arguments=-e postgresql_major=${{ inputs.postgres_version }}" \
7579 -var 'ami_regions=${{ inputs.ami_regions }}' \
76- ${{ inputs.packer_template }}
80+ amazon- ${{ inputs.arch }}-nix.pkr.hcl
7781
7882 - name : Build AMI stage 2
7983 id : build-stage2
8690 AWS_RETRY_MODE : adaptive
8791 AWS_REGION : ${{ inputs.region }}
8892 run : |
89- nix run .#build-ami -- stage2 \
93+ nix run .#build-ami -- stage2 ${{ inputs.arch }} \
9094 -var "git-head-version=${{ inputs.git_sha }}" \
9195 -var "packer-execution-id=${{ env.EXECUTION_ID }}" \
9296 -var "postgres_major_version=${{ inputs.postgres_version }}" \
0 commit comments