Skip to content

Commit 6a97ebe

Browse files
authored
feat: add stage 1 AMI build caching based on input hash (#1954)
* feat(nix): add stage 1 AMI build caching based on input hash Implement content-based caching for stage 1 AMI builds by computing a hash from all input sources. Then the build-ami script checks for existing AMIs with matching input hash before building. * refactor(ci): extract common AMI build logic into reusable action and add actionlint Consolidate duplicate AMI build steps across workflows into a shared composite action. Also introduces actionlint configuration for GitHub Actions validation for the modified workflows. * fix: always set AWS region for AWS-related actions * fix: nix step parameters * fix: declare different ami name prefix for test and release builds In order to differentiate AMIs built for testing and those built for release, we need different AMI name. This commit introduces a new input parameter `ami_name_prefix`. For test builds, we set this prefix to include the GitHub run ID, ensuring uniqueness across test builds. For release builds, we use a static prefix "supabase-postgres". * chore: remove unused force-deregister variable from stage 2 AMI build The force-deregister variable is not used in the stage2-nix-psql.pkr.hcl * chore: remove unused packer variables * chore: display published AMI names in GitHub Actions logs * chore(ci): use the same matrix title format as testinfra-ami-build workflow We changed the version extraction in `testinfra-ami-build.yml` to avoid the quotes around the version numbers. This commit makes the same change in `test.yml` to keep things consistent.
1 parent 75b8362 commit 6a97ebe

File tree

16 files changed

+421
-217
lines changed

16 files changed

+421
-217
lines changed

.github/actionlint.yaml

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,3 +3,7 @@ self-hosted-runner:
33
- aarch64-darwin
44
- aarch64-linux
55
- blacksmith-32vcpu-ubuntu-2404
6+
- blacksmith-2vcpu-ubuntu-2404
7+
- blacksmith-2vcpu-ubuntu-2404-arm
8+
- blacksmith-4vcpu-ubuntu-2404
9+
- large-linux-arm
Lines changed: 87 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,87 @@
1+
name: Build AMI
2+
description: Build both stage 1 and stage 2 AMIs
3+
4+
inputs:
5+
postgres_version:
6+
description: 'PostgreSQL major version (e.g., 15)'
7+
required: true
8+
region:
9+
description: 'AWS region'
10+
required: true
11+
ami_regions:
12+
description: 'AMI regions as JSON array (e.g., ["us-east-1"])'
13+
required: true
14+
git_sha:
15+
description: 'Git SHA for this build'
16+
required: true
17+
ami_name_prefix:
18+
description: 'Prefix for the AMI name'
19+
required: false
20+
default: 'supabase-postgres'
21+
22+
outputs:
23+
stage2_ami_id:
24+
description: 'The AMI ID of the stage 2 build'
25+
value: ${{ steps.build-stage2.outputs.stage2_ami_id }}
26+
postgres_release_version:
27+
description: 'The PostgreSQL release version'
28+
value: ${{ steps.generate-vars.outputs.version }}
29+
execution_id:
30+
description: 'The execution ID for this build'
31+
value: ${{ steps.set-execution-id.outputs.execution_id }}
32+
33+
runs:
34+
using: "composite"
35+
steps:
36+
- name: Set execution ID
37+
id: set-execution-id
38+
shell: bash
39+
run: |
40+
EXECUTION_ID="${{ github.run_id }}-${{ inputs.postgres_version }}"
41+
echo "EXECUTION_ID=$EXECUTION_ID" >> $GITHUB_ENV
42+
echo "execution_id=$EXECUTION_ID" >> $GITHUB_OUTPUT
43+
44+
- name: Generate common-nix.vars.pkr.hcl
45+
id: generate-vars
46+
shell: bash
47+
run: |
48+
PG_VERSION=$(nix run nixpkgs#yq -- -r '.postgres_release["postgres${{ inputs.postgres_version }}"]' ansible/vars.yml)
49+
echo 'postgres-version = "'$PG_VERSION'"' > common-nix.vars.pkr.hcl
50+
echo "" >> common-nix.vars.pkr.hcl
51+
git add -f common-nix.vars.pkr.hcl
52+
echo "version=$PG_VERSION" >> $GITHUB_OUTPUT
53+
54+
- name: Build AMI stage 1
55+
shell: bash
56+
env:
57+
POSTGRES_MAJOR_VERSION: ${{ inputs.postgres_version }}
58+
POSTGRES_VERSION: ${{ steps.generate-vars.outputs.version }}
59+
AWS_MAX_ATTEMPTS: 10
60+
AWS_RETRY_MODE: adaptive
61+
AWS_REGION: ${{ inputs.region }}
62+
run: |
63+
nix run .#build-ami -- stage1 \
64+
-var "git-head-version=${{ inputs.git_sha }}" \
65+
-var "packer-execution-id=${{ env.EXECUTION_ID }}" \
66+
-var "ansible_arguments=-e postgresql_major=${{ inputs.postgres_version }}" \
67+
-var 'ami_regions=${{ inputs.ami_regions }}' \
68+
amazon-arm64-nix.pkr.hcl
69+
70+
- name: Build AMI stage 2
71+
id: build-stage2
72+
shell: bash
73+
env:
74+
POSTGRES_MAJOR_VERSION: ${{ inputs.postgres_version }}
75+
POSTGRES_VERSION: ${{ steps.generate-vars.outputs.version }}
76+
PACKER_EXECUTION_ID: ${{ env.EXECUTION_ID }}
77+
AWS_MAX_ATTEMPTS: 10
78+
AWS_RETRY_MODE: adaptive
79+
AWS_REGION: ${{ inputs.region }}
80+
run: |
81+
nix run .#build-ami -- stage2 \
82+
-var "git-head-version=${{ inputs.git_sha }}" \
83+
-var "packer-execution-id=${{ env.EXECUTION_ID }}" \
84+
-var "postgres_major_version=${{ inputs.postgres_version }}" \
85+
-var "ami_name=${{ inputs.ami_name_prefix }}" \
86+
-var "git_sha=${{ inputs.git_sha }}" \
87+
stage2-nix-psql.pkr.hcl

.github/actions/nix-install-ephemeral/action.yml

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,10 @@ inputs:
55
description: 'Whether to push build outputs to the Nix binary cache'
66
required: false
77
default: 'false'
8+
aws-region:
9+
description: 'AWS region for the Nix binary cache S3 bucket'
10+
required: false
11+
default: 'us-east-1'
812
runs:
913
using: 'composite'
1014
steps:
@@ -13,7 +17,7 @@ runs:
1317
if: ${{ inputs.push-to-cache == 'true' }}
1418
with:
1519
role-to-assume: ${{ env.DEV_AWS_ROLE }}
16-
aws-region: "us-east-1"
20+
aws-region: ${{ inputs.aws-region }}
1721
output-credentials: true
1822
role-duration-seconds: 7200
1923
- name: Setup AWS credentials for Nix

.github/workflows/ami-release-nix-single.yml

Lines changed: 21 additions & 39 deletions
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,7 @@ jobs:
2727
uses: supabase/postgres/.github/actions/shared-checkout@HEAD
2828
with:
2929
ref: ${{ github.event.inputs.branch }}
30+
3031
- name: aws-creds
3132
uses: aws-actions/configure-aws-credentials@v4
3233
with:
@@ -38,56 +39,35 @@ jobs:
3839
- name: Get current branch SHA
3940
id: get_sha
4041
run: |
41-
echo "sha=$(git rev-parse HEAD)" >> $GITHUB_OUTPUT
42+
echo "sha=$(git rev-parse HEAD)" >> "$GITHUB_OUTPUT"
4243
4344
- name: Install nix
44-
uses: cachix/install-nix-action@v27
45+
uses: ./.github/actions/nix-install-ephemeral
4546
with:
46-
install_url: https://releases.nixos.org/nix/nix-2.29.1/install
47-
extra_nix_config: |
48-
substituters = https://cache.nixos.org https://nix-postgres-artifacts.s3.amazonaws.com
49-
trusted-public-keys = nix-postgres-artifacts:dGZlQOvKcNEjvT7QEAJbcV6b6uk7VF/hWMjhYleiaLI= cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY=
50-
51-
- name: Set PostgreSQL version environment variable
52-
run: |
53-
echo "POSTGRES_MAJOR_VERSION=${{ github.event.inputs.postgres_version }}" >> $GITHUB_ENV
54-
echo "EXECUTION_ID=${{ github.run_id }}-${{ matrix.postgres_version }}" >> $GITHUB_ENV
55-
56-
- name: Generate common-nix.vars.pkr.hcl
57-
run: |
58-
PG_VERSION=$(nix run nixpkgs#yq -- '.postgres_release["postgres'${{ env.POSTGRES_MAJOR_VERSION }}'"]' ansible/vars.yml)
59-
PG_VERSION=$(echo "$PG_VERSION" | tr -d '"') # Remove any surrounding quotes
60-
echo 'postgres-version = "'$PG_VERSION'"' > common-nix.vars.pkr.hcl
61-
# Ensure there's a newline at the end of the file
62-
echo "" >> common-nix.vars.pkr.hcl
63-
64-
- name: Build AMI stage 1
47+
push-to-cache: 'true'
6548
env:
66-
POSTGRES_MAJOR_VERSION: ${{ env.POSTGRES_MAJOR_VERSION }}
67-
run: |
68-
GIT_SHA=${{ steps.get_sha.outputs.sha }}
69-
nix run github:supabase/postgres/${GIT_SHA}#packer -- init amazon-arm64-nix.pkr.hcl
70-
nix run github:supabase/postgres/${GIT_SHA}#packer -- build -var "git-head-version=${GIT_SHA}" -var "packer-execution-id=${EXECUTION_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
49+
DEV_AWS_ROLE: ${{ secrets.DEV_AWS_ROLE }}
50+
NIX_SIGN_SECRET_KEY: ${{ secrets.NIX_SIGN_SECRET_KEY }}
7151

72-
- name: Build AMI stage 2
73-
env:
74-
POSTGRES_MAJOR_VERSION: ${{ env.POSTGRES_MAJOR_VERSION }}
75-
run: |
76-
GIT_SHA=${{ steps.get_sha.outputs.sha }}
77-
nix run github:supabase/postgres/${GIT_SHA}#packer -- init stage2-nix-psql.pkr.hcl
78-
POSTGRES_MAJOR_VERSION=${{ env.POSTGRES_MAJOR_VERSION }}
79-
nix run github:supabase/postgres/${GIT_SHA}#packer -- build -var "git_sha=${GIT_SHA}" -var "git-head-version=${GIT_SHA}" -var "packer-execution-id=${EXECUTION_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
52+
- name: Build AMI
53+
id: build-ami
54+
uses: ./.github/actions/build-ami
55+
with:
56+
postgres_version: ${{ github.event.inputs.postgres_version }}
57+
region: us-east-1
58+
ami_regions: '["us-east-1"]'
59+
git_sha: ${{ steps.get_sha.outputs.sha }}
8060

8161
- name: Grab release version
8262
id: process_release_version
8363
run: |
84-
VERSION=$(cat common-nix.vars.pkr.hcl | sed -e 's/postgres-version = "\(.*\)"/\1/g')
85-
echo "version=$VERSION" >> $GITHUB_OUTPUT
64+
VERSION="${{ steps.build-ami.outputs.postgres_release_version }}"
65+
echo "version=$VERSION" >> "$GITHUB_OUTPUT"
8666
8767
- name: Create nix flake revision tarball
8868
run: |
8969
GIT_SHA=${{ steps.get_sha.outputs.sha }}
90-
MAJOR_VERSION=${{ env.POSTGRES_MAJOR_VERSION }}
70+
MAJOR_VERSION=${{ github.event.inputs.postgres_version }}
9171
9272
mkdir -p "/tmp/pg_upgrade_bin/${MAJOR_VERSION}"
9373
echo "$GIT_SHA" >> "/tmp/pg_upgrade_bin/${MAJOR_VERSION}/nix_flake_version"
@@ -105,7 +85,7 @@ jobs:
10585
ansible-playbook -i localhost \
10686
-e "ami_release_version=${{ steps.process_release_version.outputs.version }}" \
10787
-e "internal_artifacts_bucket=${{ secrets.ARTIFACTS_BUCKET }}" \
108-
-e "postgres_major_version=${{ env.POSTGRES_MAJOR_VERSION }}" \
88+
-e "postgres_major_version=${{ github.event.inputs.postgres_version }}" \
10989
manifest-playbook.yml
11090
11191
- name: Upload nix flake revision to s3 staging
@@ -126,7 +106,7 @@ jobs:
126106
ansible-playbook -i localhost \
127107
-e "ami_release_version=${{ steps.process_release_version.outputs.version }}" \
128108
-e "internal_artifacts_bucket=${{ secrets.PROD_ARTIFACTS_BUCKET }}" \
129-
-e "postgres_major_version=${{ env.POSTGRES_MAJOR_VERSION }}" \
109+
-e "postgres_major_version=${{ github.event.inputs.postgres_version }}" \
130110
manifest-playbook.yml
131111
132112
- name: Upload nix flake revision to s3 prod
@@ -155,10 +135,12 @@ jobs:
155135
- name: Cleanup resources after build
156136
if: ${{ always() }}
157137
run: |
138+
EXECUTION_ID="${{ steps.build-ami.outputs.execution_id }}"
158139
aws ec2 describe-instances --filters "Name=tag:packerExecutionId,Values=${EXECUTION_ID}" --query "Reservations[].Instances[].InstanceId" --output text | xargs -r aws ec2 terminate-instances --instance-ids
159140
160141
- name: Cleanup resources on build cancellation
161142
if: ${{ cancelled() }}
162143
run: |
144+
EXECUTION_ID="${{ steps.build-ami.outputs.execution_id }}"
163145
aws ec2 describe-instances --filters "Name=tag:packerExecutionId,Values=${EXECUTION_ID}" --query "Reservations[].Instances[].InstanceId" --output text | xargs -r aws ec2 terminate-instances --instance-ids
164146

.github/workflows/ami-release-nix.yml

Lines changed: 25 additions & 49 deletions
Original file line numberDiff line numberDiff line change
@@ -25,18 +25,13 @@ jobs:
2525
uses: supabase/postgres/.github/actions/shared-checkout@HEAD
2626

2727
- name: Install nix
28-
uses: cachix/install-nix-action@v27
29-
with:
30-
install_url: https://releases.nixos.org/nix/nix-2.29.1/install
31-
extra_nix_config: |
32-
substituters = https://cache.nixos.org https://nix-postgres-artifacts.s3.amazonaws.com
33-
trusted-public-keys = nix-postgres-artifacts:dGZlQOvKcNEjvT7QEAJbcV6b6uk7VF/hWMjhYleiaLI= cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY=
28+
uses: ./.github/actions/nix-install-ephemeral
3429

3530
- name: Set PostgreSQL versions
3631
id: set-versions
3732
run: |
38-
VERSIONS=$(nix run nixpkgs#yq -- '.postgres_major[]' ansible/vars.yml | nix run nixpkgs#jq -- -R -s -c 'split("\n")[:-1]')
39-
echo "postgres_versions=$VERSIONS" >> $GITHUB_OUTPUT
33+
VERSIONS=$(nix run nixpkgs#yq -- -r '.postgres_major[]' ansible/vars.yml | nix run nixpkgs#jq -- -R -s -c 'split("\n")[:-1]')
34+
echo "postgres_versions=$VERSIONS" >> "$GITHUB_OUTPUT"
4035
4136
build:
4237
needs: prepare
@@ -51,6 +46,7 @@ jobs:
5146
steps:
5247
- name: Checkout Repo
5348
uses: supabase/postgres/.github/actions/shared-checkout@HEAD
49+
5450
- name: aws-creds
5551
uses: aws-actions/configure-aws-credentials@v4
5652
with:
@@ -60,12 +56,12 @@ jobs:
6056
role-duration-seconds: 7200
6157

6258
- name: Install nix
63-
uses: cachix/install-nix-action@v27
59+
uses: ./.github/actions/nix-install-ephemeral
6460
with:
65-
install_url: https://releases.nixos.org/nix/nix-2.29.1/install
66-
extra_nix_config: |
67-
substituters = https://cache.nixos.org https://nix-postgres-artifacts.s3.amazonaws.com
68-
trusted-public-keys = nix-postgres-artifacts:dGZlQOvKcNEjvT7QEAJbcV6b6uk7VF/hWMjhYleiaLI= cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY=
61+
push-to-cache: 'true'
62+
env:
63+
DEV_AWS_ROLE: ${{ secrets.DEV_AWS_ROLE }}
64+
NIX_SIGN_SECRET_KEY: ${{ secrets.NIX_SIGN_SECRET_KEY }}
6965

7066
- name: Run checks if triggered manually
7167
if: ${{ github.event_name == 'workflow_dispatch' }}
@@ -76,47 +72,25 @@ jobs:
7672
exit 1
7773
fi
7874
79-
- name: Set PostgreSQL version environment variable
80-
run: |
81-
echo "POSTGRES_MAJOR_VERSION=${{ matrix.postgres_version }}" >> $GITHUB_ENV
82-
echo "EXECUTION_ID=${{ github.run_id }}-${{ matrix.postgres_version }}" >> $GITHUB_ENV
83-
84-
- name: Generate common-nix.vars.pkr.hcl
85-
run: |
86-
PG_VERSION=$(nix run nixpkgs#yq -- '.postgres_release["postgres'${{ matrix.postgres_version }}'"]' ansible/vars.yml)
87-
PG_VERSION=$(echo "$PG_VERSION" | tr -d '"') # Remove any surrounding quotes
88-
echo 'postgres-version = "'$PG_VERSION'"' > common-nix.vars.pkr.hcl
89-
# Ensure there's a newline at the end of the file
90-
echo "" >> common-nix.vars.pkr.hcl
91-
92-
- name: Build AMI stage 1
93-
env:
94-
POSTGRES_MAJOR_VERSION: ${{ env.POSTGRES_MAJOR_VERSION }}
95-
run: |
96-
GIT_SHA=${{github.sha}}
97-
nix run github:supabase/postgres/${GIT_SHA}#packer -- init amazon-arm64-nix.pkr.hcl
98-
# why is postgresql_major defined here instead of where the _three_ other postgresql_* variables are defined?
99-
nix run github:supabase/postgres/${GIT_SHA}#packer -- build -var "git-head-version=${GIT_SHA}" -var "packer-execution-id=${EXECUTION_ID}" -var-file="development-arm.vars.pkr.hcl" -var-file="common-nix.vars.pkr.hcl" -var "ansible_arguments=-e postgresql_major=${POSTGRES_MAJOR_VERSION}" -var "region=us-east-1" -var 'ami_regions=["us-east-1"]' amazon-arm64-nix.pkr.hcl
100-
101-
- name: Build AMI stage 2
102-
env:
103-
POSTGRES_MAJOR_VERSION: ${{ env.POSTGRES_MAJOR_VERSION }}
104-
run: |
105-
GIT_SHA=${{github.sha}}
106-
nix run github:supabase/postgres/${GIT_SHA}#packer -- init stage2-nix-psql.pkr.hcl
107-
POSTGRES_MAJOR_VERSION=${{ env.POSTGRES_MAJOR_VERSION }}
108-
nix run github:supabase/postgres/${GIT_SHA}#packer -- build -var "git_sha=${GIT_SHA}" -var "git-head-version=${GIT_SHA}" -var "packer-execution-id=${EXECUTION_ID}" -var "postgres_major_version=${POSTGRES_MAJOR_VERSION}" -var-file="development-arm.vars.pkr.hcl" -var-file="common-nix.vars.pkr.hcl" -var "region=us-east-1" -var 'ami_regions=["us-east-1"]' stage2-nix-psql.pkr.hcl
75+
- name: Build AMI
76+
id: build-ami
77+
uses: ./.github/actions/build-ami
78+
with:
79+
postgres_version: ${{ matrix.postgres_version }}
80+
region: us-east-1
81+
ami_regions: '["us-east-1"]'
82+
git_sha: ${{ github.sha }}
10983

11084
- name: Grab release version
11185
id: process_release_version
11286
run: |
113-
VERSION=$(cat common-nix.vars.pkr.hcl | sed -e 's/postgres-version = "\(.*\)"/\1/g')
114-
echo "version=$VERSION" >> $GITHUB_OUTPUT
87+
VERSION="${{ steps.build-ami.outputs.postgres_release_version }}"
88+
echo "version=$VERSION" >> "$GITHUB_OUTPUT"
11589
11690
- name: Create nix flake revision tarball
11791
run: |
11892
GIT_SHA=${{github.sha}}
119-
MAJOR_VERSION=${{ env.POSTGRES_MAJOR_VERSION }}
93+
MAJOR_VERSION=${{ matrix.postgres_version }}
12094
12195
mkdir -p "/tmp/pg_upgrade_bin/${MAJOR_VERSION}"
12296
echo "$GIT_SHA" >> "/tmp/pg_upgrade_bin/${MAJOR_VERSION}/nix_flake_version"
@@ -134,7 +108,7 @@ jobs:
134108
ansible-playbook -i localhost \
135109
-e "ami_release_version=${{ steps.process_release_version.outputs.version }}" \
136110
-e "internal_artifacts_bucket=${{ secrets.ARTIFACTS_BUCKET }}" \
137-
-e "postgres_major_version=${{ env.POSTGRES_MAJOR_VERSION }}" \
111+
-e "postgres_major_version=${{ matrix.postgres_version }}" \
138112
manifest-playbook.yml
139113
140114
- name: Upload nix flake revision to s3 staging
@@ -155,9 +129,9 @@ jobs:
155129
ansible-playbook -i localhost \
156130
-e "ami_release_version=${{ steps.process_release_version.outputs.version }}" \
157131
-e "internal_artifacts_bucket=${{ secrets.PROD_ARTIFACTS_BUCKET }}" \
158-
-e "postgres_major_version=${{ env.POSTGRES_MAJOR_VERSION }}" \
132+
-e "postgres_major_version=${{ matrix.postgres_version }}" \
159133
manifest-playbook.yml
160-
134+
161135
- name: Upload nix flake revision to s3 prod
162136
run: |
163137
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
@@ -184,9 +158,11 @@ jobs:
184158
- name: Cleanup resources after build
185159
if: ${{ always() }}
186160
run: |
161+
EXECUTION_ID="${{ steps.build-ami.outputs.execution_id }}"
187162
aws ec2 --region us-east-1 describe-instances --filters "Name=tag:packerExecutionId,Values=${EXECUTION_ID}" --query "Reservations[].Instances[].InstanceId" --output text | xargs -r aws ec2 terminate-instances --region us-east-1 --instance-ids
188163
189164
- name: Cleanup resources on build cancellation
190165
if: ${{ cancelled() }}
191166
run: |
167+
EXECUTION_ID="${{ steps.build-ami.outputs.execution_id }}"
192168
aws ec2 --region us-east-1 describe-instances --filters "Name=tag:packerExecutionId,Values=${EXECUTION_ID}" --query "Reservations[].Instances[].InstanceId" --output text | xargs -r aws ec2 terminate-instances --region us-east-1 --instance-ids

.github/workflows/nix-build.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -199,6 +199,7 @@ jobs:
199199
uses: ./.github/workflows/testinfra-ami-build.yml
200200
secrets:
201201
DEV_AWS_ROLE: ${{ secrets.DEV_AWS_ROLE }}
202+
NIX_SIGN_SECRET_KEY: ${{ secrets.NIX_SIGN_SECRET_KEY }}
202203

203204
run-tests:
204205
needs: [nix-eval, nix-build-packages-aarch64-linux, nix-build-checks-aarch64-linux, nix-build-packages-aarch64-darwin, nix-build-checks-aarch64-darwin, nix-build-packages-x86_64-linux, nix-build-checks-x86_64-linux]

.github/workflows/test.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ jobs:
1919
- name: Set PostgreSQL versions
2020
id: set-versions
2121
run: |
22-
VERSIONS=$(nix run nixpkgs#yq -- '.postgres_major[]' ansible/vars.yml | nix run nixpkgs#jq -- -R -s -c "split(\"\n\")[:-1]")
22+
VERSIONS=$(nix run nixpkgs#yq -- -r '.postgres_major[]' ansible/vars.yml | nix run nixpkgs#jq -- -R -s -c "split(\"\n\")[:-1]")
2323
echo "postgres_versions=$VERSIONS" >> $GITHUB_OUTPUT
2424
build:
2525
needs: prepare

0 commit comments

Comments
 (0)