Skip to content

Commit d66ac71

Browse files
committed
chore: using tags from merge_manifest
1 parent cb685ba commit d66ac71

File tree

1 file changed

+43
-50
lines changed

1 file changed

+43
-50
lines changed

.github/workflows/dockerhub-release-matrix.yml

Lines changed: 43 additions & 50 deletions
Original file line numberDiff line numberDiff line change
@@ -122,65 +122,58 @@ jobs:
122122
cache-to: type=gha,mode=max,scope=${{ github.ref_name }}-latest-${{ matrix.arch }}
123123
file: ${{ matrix.postgres.dockerfile }}
124124
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 }}
159129
runs-on: ubuntu-latest
160130
outputs:
161-
versions: ${{ steps.get_versions.outputs.versions }}
131+
tags: ${{ steps.collect_tags.outputs.tags }}
162132
steps:
133+
- uses: actions/checkout@v3
134+
- uses: DeterminateSystems/nix-installer-action@main
163135
- uses: docker/setup-buildx-action@v3
164136
- uses: docker/login-action@v2
165137
with:
166138
username: ${{ secrets.DOCKER_USERNAME }}
167139
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
171142
run: |
172143
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)"
176149
}
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 }}
179172
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

Comments
 (0)