1212 required : true
1313 type : string
1414 default : ' main'
15+ arch :
16+ description : ' Architecture to build'
17+ required : true
18+ type : choice
19+ options :
20+ - arm64
21+ - amd64
1522
1623permissions :
1724 contents : write
1825 id-token : write
1926
2027jobs :
2128 build :
22- runs-on : large-linux-arm
29+ runs-on : ${{ github.event.inputs.arch == 'amd64' && 'blacksmith-2vcpu-ubuntu-2404' || ' large-linux-arm' }}
2330 timeout-minutes : 150
2431
2532 steps :
4148 run : |
4249 echo "sha=$(git rev-parse HEAD)" >> "$GITHUB_OUTPUT"
4350
51+ - name : Set arch-specific variables
52+ id : arch_vars
53+ run : |
54+ ARCH="${{ github.event.inputs.arch }}"
55+ echo "arch=$ARCH" >>"$GITHUB_OUTPUT"
56+ if [ "$ARCH" = "amd64" ]; then
57+ {
58+ echo "ami_name_prefix=supabase-postgres-x86"
59+ echo "arch_suffix=-x86"
60+ echo "instance_type=c6i.4xlarge"
61+ } >> "$GITHUB_OUTPUT"
62+ else
63+ {
64+ echo "ami_name_prefix=supabase-postgres"
65+ echo "arch_suffix="
66+ echo "instance_type=c6g.4xlarge"
67+ } >> "$GITHUB_OUTPUT"
68+ fi
69+
4470 - name : Install nix
4571 uses : ./.github/actions/nix-install-ephemeral
4672 with :
5581 with :
5682 postgres_version : ${{ github.event.inputs.postgres_version }}
5783 region : us-east-1
84+ ami_name_prefix : ${{ steps.arch_vars.outputs.ami_name_prefix }}
5885 ami_regions : ' ["us-east-1"]'
86+ arch : ${{ steps.arch_vars.outputs.arch }}
5987 git_sha : ${{ steps.get_sha.outputs.sha }}
88+ instance_type : ${{ steps.arch_vars.outputs.instance_type }}
6089
6190 - name : Grab release version
6291 id : process_release_version
@@ -86,13 +115,14 @@ jobs:
86115 -e "ami_release_version=${{ steps.process_release_version.outputs.version }}" \
87116 -e "internal_artifacts_bucket=${{ secrets.ARTIFACTS_BUCKET }}" \
88117 -e "postgres_major_version=${{ github.event.inputs.postgres_version }}" \
118+ -e "arch=${{ github.event.inputs.arch }}" \
89119 manifest-playbook.yml
90120
91121 - name : Upload nix flake revision to s3 staging
92122 run : |
93- aws s3 cp /tmp/pg_binaries.tar.gz s3://${{ secrets.ARTIFACTS_BUCKET }}/upgrades/postgres/supabase-postgres-${{ steps.process_release_version.outputs.version }}/20.04.tar.gz
94- aws s3 cp /tmp/pg_binaries.tar.gz s3://${{ secrets.ARTIFACTS_BUCKET }}/upgrades/postgres/supabase-postgres-${{ steps.process_release_version.outputs.version }}/24.04.tar.gz
95- aws s3 cp /tmp/pg_binaries.tar.gz s3://${{ secrets.ARTIFACTS_BUCKET }}/upgrades/postgres/supabase-postgres-${{ steps.process_release_version.outputs.version }}/upgrade_bundle.tar.gz
123+ aws s3 cp /tmp/pg_binaries.tar.gz s3://${{ secrets.ARTIFACTS_BUCKET }}/upgrades/postgres/supabase-postgres-${{ steps.process_release_version.outputs.version }}${{ steps.arch_vars.outputs.arch_suffix }} /20.04.tar.gz
124+ aws s3 cp /tmp/pg_binaries.tar.gz s3://${{ secrets.ARTIFACTS_BUCKET }}/upgrades/postgres/supabase-postgres-${{ steps.process_release_version.outputs.version }}${{ steps.arch_vars.outputs.arch_suffix }} /24.04.tar.gz
125+ aws s3 cp /tmp/pg_binaries.tar.gz s3://${{ secrets.ARTIFACTS_BUCKET }}/upgrades/postgres/supabase-postgres-${{ steps.process_release_version.outputs.version }}${{ steps.arch_vars.outputs.arch_suffix }} /upgrade_bundle.tar.gz
96126
97127 - name : configure aws credentials - prod
98128 uses : aws-actions/configure-aws-credentials@7474bc4690e29a8392af63c5b98e7449536d5c3a # v4.3.1
@@ -107,19 +137,20 @@ jobs:
107137 -e "ami_release_version=${{ steps.process_release_version.outputs.version }}" \
108138 -e "internal_artifacts_bucket=${{ secrets.PROD_ARTIFACTS_BUCKET }}" \
109139 -e "postgres_major_version=${{ github.event.inputs.postgres_version }}" \
140+ -e "arch=${{ github.event.inputs.arch }}" \
110141 manifest-playbook.yml
111142
112143 - name : Upload nix flake revision to s3 prod
113144 run : |
114- aws s3 cp /tmp/pg_binaries.tar.gz s3://${{ secrets.PROD_ARTIFACTS_BUCKET }}/upgrades/postgres/supabase-postgres-${{ steps.process_release_version.outputs.version }}/20.04.tar.gz
115- aws s3 cp /tmp/pg_binaries.tar.gz s3://${{ secrets.PROD_ARTIFACTS_BUCKET }}/upgrades/postgres/supabase-postgres-${{ steps.process_release_version.outputs.version }}/24.04.tar.gz
116- aws s3 cp /tmp/pg_binaries.tar.gz s3://${{ secrets.PROD_ARTIFACTS_BUCKET }}/upgrades/postgres/supabase-postgres-${{ steps.process_release_version.outputs.version }}/upgrade_bundle.tar.gz
145+ aws s3 cp /tmp/pg_binaries.tar.gz s3://${{ secrets.PROD_ARTIFACTS_BUCKET }}/upgrades${{ steps.arch_vars.outputs.arch_suffix }} /postgres/supabase-postgres-${{ steps.process_release_version.outputs.version }}/20.04.tar.gz
146+ aws s3 cp /tmp/pg_binaries.tar.gz s3://${{ secrets.PROD_ARTIFACTS_BUCKET }}/upgrades${{ steps.arch_vars.outputs.arch_suffix }} /postgres/supabase-postgres-${{ steps.process_release_version.outputs.version }}/24.04.tar.gz
147+ aws s3 cp /tmp/pg_binaries.tar.gz s3://${{ secrets.PROD_ARTIFACTS_BUCKET }}/upgrades${{ steps.arch_vars.outputs.arch_suffix }} /postgres/supabase-postgres-${{ steps.process_release_version.outputs.version }}/upgrade_bundle.tar.gz
117148
118149 - name : Create release
119150 uses : softprops/action-gh-release@a06a81a03ee405af7f2048a818ed3f03bbf83c7b # v2.5.0
120151 with :
121- name : ${{ steps.process_release_version.outputs.version }}
122- tag_name : ${{ steps.process_release_version.outputs.version }}
152+ name : ${{ steps.process_release_version.outputs.version }}${{ steps.arch_vars.outputs.arch_suffix }}
153+ tag_name : ${{ steps.process_release_version.outputs.version }}${{ steps.arch_vars.outputs.arch_suffix }}
123154 target_commitish : ${{ steps.get_sha.outputs.sha }}
124155
125156 - name : Slack Notification on Failure
0 commit comments