Workflow file for this run
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: Release stable EN image | |
on: | |
workflow_dispatch: | |
inputs: | |
tag_name: | |
description: "Tag of an image" | |
type: string | |
required: true | |
push: | |
branches: | |
- fix-release-stable-en | |
jobs: | |
release: | |
runs-on: [matterlabs-ci-runner] | |
steps: | |
- name: Login to Docker registries | |
run: docker login -u ${{ secrets.DOCKERHUB_USER }} -p ${{ secrets.DOCKERHUB_TOKEN }} | |
- name: Check if alpha image exists | |
run: | | |
set +e | |
docker manifest inspect matterlabs/external-node:v24.2.0-alpha >/dev/null 2>&1 | |
exitcode=$? | |
set -e | |
if [[ "$exitcode" -eq "1" ]]; then | |
echo "Image matterlabs/external-node:${{ inputs.tag_name }}-alpha doesn't exist" | |
exit 1 | |
fi | |
- name: Push stable image | |
run: | | |
docker_repositories=("matterlabs/external-node" "us-docker.pkg.dev/matterlabs-infra/matterlabs-docker/external-node") | |
platforms=linux/amd64,linux/arm64 | |
tag_name="v24.2.0" | |
for repo in "${docker_repositories[@]}"; do | |
platform_tags="" | |
for platform in ${platforms//,/ }; do | |
platform=$(echo $platform | tr '/' '-') | |
alpha_tag="${repo}:${tag_name}-alpha-${platform}" | |
tag="${repo}:${tag_name}-${platform}" | |
docker pull $alpha_tag | |
docker tag $alpha_tag $tag | |
docker push $tag | |
platform_tags+=" --amend $tag" | |
done | |
echo $platform_tags | |
for manifest in "${repo}:${tag_name}" "${repo}:2.0-${tag_name}"; do | |
docker manifest create ${manifest} ${platform_tags} | |
docker manifest push ${manifest} | |
done | |
done |