Skip to content

Change CDN

Change CDN #15

Workflow file for this run

name: Release
on:
push:
branch: [135-fix-github-action-workflow]
env:
ECR_REPOSITORY_URL: docker.io
ECR_REPOSITORY_NAME: minafoundation/mina-mesh
jobs:
publish:
runs-on: minafoundation-default-runners
steps:
- name: 📥 Checkout
uses: actions/checkout@v4
# - name: 🦀 Setup Rust toolchain
# uses: dsherret/rust-toolchain-file@v1
# - name: 📦 Cache Cargo binaries
# uses: actions/cache@v4
# with:
# path: ~/.cargo/bin
# key: cargo-bin-${{ runner.os }}-${{ hashFiles('**/Cargo.lock') }}
# restore-keys: cargo-bin-${{ runner.os }}-
# - name: 🔧 Install cargo-edit if missing
# run: |
# command -v cargo-set-version &>/dev/null || cargo install cargo-edit
- name: 🏷️ Set Version of the crate
run: |
# echo "VERSION=${GITHUB_REF_NAME#?}" >> $GITHUB_ENV
# cargo set-version $VERSION
echo "VERSION=debug" >> $GITHUB_ENV
# - name: 📦 Publish to crates.io
# if: github.event_name == 'release'
# uses: katyo/publish-crates@v2
# with:
# registry-token: ${{ secrets.CRATES_IO_TOKEN }}
# args: --allow-dirty --no-verify
- name: 🔍 Extract build args from mina.yaml
run: |
for network in mainnet devnet; do
echo "MINA_BASE_TAG_${network^^}=$(yq ".supported_releases.$network.mina_base_tag" mina.yaml)" >> $GITHUB_ENV
echo "DEBIAN_RELEASE_CHANNEL_${network^^}=$(yq ".supported_releases.$network.debian_release_channel" mina.yaml)" >> $GITHUB_ENV
done
- name: 🐳 Login to Docker Hub
uses: docker/login-action@v3
with:
username: ${{ secrets.DOCKER_IO_USERNAME }}
password: ${{ secrets.DOCKER_IO_TOKEN }}
- name: 🛠️ Build and 🚀 Push Docker Images
run: |
for network in mainnet devnet; do
MINA_BASE_TAG_VAR="MINA_BASE_TAG_${network^^}"
DEBIAN_RELEASE_CHANNEL_VAR="DEBIAN_RELEASE_CHANNEL_${network^^}"
docker build --build-arg MINA_BASE_TAG=${!MINA_BASE_TAG_VAR} \
--build-arg MINA_NETWORK=$network \
--build-arg DEBIAN_RELEASE_CHANNEL=${!DEBIAN_RELEASE_CHANNEL_VAR} \
-t ${{ env.ECR_REPOSITORY_URL}}/${{ env.ECR_REPOSITORY_NAME }}:$network-${{ env.VERSION }} \
-t ${{ env.ECR_REPOSITORY_URL}}/${{ env.ECR_REPOSITORY_NAME }}:$network-latest \
$( [[ "$network" == "mainnet" ]] && echo "-t ${{ env.ECR_REPOSITORY_URL}}/${{ env.ECR_REPOSITORY_NAME }}:${{ env.VERSION }} -t ${{ env.ECR_REPOSITORY_URL}}/${{ env.ECR_REPOSITORY_NAME }}:latest" ) .
done
docker push --all-tags ${{ env.ECR_REPOSITORY_URL}}/${{ env.ECR_REPOSITORY_NAME }}