@@ -122,65 +122,58 @@ jobs:
122
122
cache-to : type=gha,mode=max,scope=${{ github.ref_name }}-latest-${{ matrix.arch }}
123
123
file : ${{ matrix.postgres.dockerfile }}
124
124
merge_manifest :
125
- needs : [prepare, build, build_release_image]
126
- strategy :
127
- matrix :
128
- include : ${{ fromJson(needs.prepare.outputs.matrix_config).include }}
129
- runs-on : ubuntu-latest
130
- steps :
131
- - uses : actions/checkout@v3
132
- - uses : DeterminateSystems/nix-installer-action@main
133
- - uses : docker/setup-buildx-action@v3
134
- - uses : docker/login-action@v2
135
- with :
136
- username : ${{ secrets.DOCKER_USERNAME }}
137
- password : ${{ secrets.DOCKER_PASSWORD }}
138
- - name : Get image tag
139
- id : get_version
140
- run : |
141
- nix run nixpkgs#nushell -- -c '
142
- let version = "15"
143
- let release_key = if ($version | str contains "orioledb") {
144
- $"postgres($version | str replace "-" "")"
145
- } else {
146
- $"postgres($version)"
147
- }
148
- let pg_version = (open ansible/vars.yml | get postgres_release | get $release_key | str trim)
149
-
150
- $"pg_version=($pg_version)" | save --append $env.GITHUB_OUTPUT
151
- '
152
- - name : Merge multi-arch manifests
153
- run : |
154
- docker buildx imagetools create -t supabase/postgres:${{ steps.get_version.outputs.pg_version }} \
155
- supabase/postgres:${{ steps.get_version.outputs.pg_version }}_amd64 \
156
- supabase/postgres:${{ steps.get_version.outputs.pg_version }}_arm64
157
- get_publish_version :
158
- needs : merge_manifest
125
+ needs : [prepare, build, build_release_image]
126
+ strategy :
127
+ matrix :
128
+ include : ${{ fromJson(needs.prepare.outputs.matrix_config).include }}
159
129
runs-on : ubuntu-latest
160
130
outputs :
161
- versions : ${{ steps.get_versions .outputs.versions }}
131
+ tags : ${{ steps.collect_tags .outputs.tags }}
162
132
steps :
133
+ - uses : actions/checkout@v3
134
+ - uses : DeterminateSystems/nix-installer-action@main
163
135
- uses : docker/setup-buildx-action@v3
164
136
- uses : docker/login-action@v2
165
137
with :
166
138
username : ${{ secrets.DOCKER_USERNAME }}
167
139
password : ${{ secrets.DOCKER_PASSWORD }}
168
- - uses : DeterminateSystems/nix-installer-action@main
169
- - name : Get merged manifest versions
170
- id : get_versions
140
+ - name : Get image tag
141
+ id : get_version
171
142
run : |
172
143
nix run nixpkgs#nushell -- -c '
173
- let manifest = (docker manifest inspect supabase/postgres | from json)
174
- let tags = {
175
- include: [$manifest.tag]
144
+ let version = "${{ matrix.version }}"
145
+ let release_key = if ($version | str contains "orioledb") {
146
+ $"postgresorioledb-17"
147
+ } else {
148
+ $"postgres($version)"
176
149
}
177
- $"versions=($tags | to json -r)" | save --append $env.GITHUB_OUTPUT
178
- '
150
+ let pg_version = (open ansible/vars.yml | get postgres_release | get $release_key | str trim)
151
+
152
+ $"pg_version=($pg_version)" | save --append $env.GITHUB_OUTPUT
153
+ '
154
+ - name : Merge multi-arch manifests
155
+ run : |
156
+ docker buildx imagetools create -t supabase/postgres:${{ steps.get_version.outputs.pg_version }} \
157
+ supabase/postgres:${{ steps.get_version.outputs.pg_version }}_amd64 \
158
+ supabase/postgres:${{ steps.get_version.outputs.pg_version }}_arm64
159
+ - name : Collect tags
160
+ id : collect_tags
161
+ run : |
162
+ nix run nixpkgs#nushell -- -c '
163
+ let tag = "${{ steps.get_version.outputs.pg_version }}"
164
+ let matrix = {include: [{version: $tag}]}
165
+ $"tags=($matrix | to json -r)" | save --append $env.GITHUB_OUTPUT
166
+ '
167
+ get_publish_version :
168
+ needs : merge_manifest
169
+ runs-on : ubuntu-latest
170
+ outputs :
171
+ matrix : ${{ needs.merge_manifest.outputs.tags }}
179
172
publish :
180
- needs : get_publish_version
181
- strategy :
182
- matrix : ${{ fromJson(needs.get_publish_version.outputs.versions ) }}
183
- uses : ./.github/workflows/mirror.yml
184
- with :
185
- version : ${{ matrix.version }}
186
- secrets : inherit
173
+ needs : [merge_manifest, get_publish_version] # Add merge_manifest
174
+ strategy :
175
+ matrix : ${{ fromJson(needs.get_publish_version.outputs.matrix ) }}
176
+ uses : ./.github/workflows/mirror.yml
177
+ with :
178
+ version : ${{ matrix.version }}
179
+ secrets : inherit
0 commit comments