Publish Docker images #4
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: Publish Docker images | |
on: | |
workflow_dispatch: | |
release: | |
types: [published] | |
jobs: | |
push_fullnode_to_registry: | |
name: Push fullnode Docker image to fly.io | |
runs-on: ubuntu-latest | |
steps: | |
- name: Check out the repo | |
uses: actions/checkout@v4 | |
- name: 🔑 Fly Registry Auth | |
uses: docker/login-action@v1 | |
with: | |
registry: registry.fly.io | |
username: x | |
password: ${{ secrets.FLY_API_TOKEN }} | |
- name: 🐳 Docker build (fullnode) | |
uses: docker/build-push-action@v2 | |
with: | |
context: . | |
file: ./fullnode.Dockerfile | |
push: true | |
tags: registry.fly.io/cartezcash-fullnode:latest | |
build-args: | | |
COMMIT_SHA=${{ github.sha }} | |
push_cartesi_node_to_registry: | |
name: Push cartesi node Docker image to fly.io | |
runs-on: ubuntu-latest | |
steps: | |
- name: Check out the repo | |
uses: actions/checkout@v4 | |
- name: 🔑 Fly Registry Auth | |
uses: docker/login-action@v1 | |
with: | |
registry: registry.fly.io | |
username: x | |
password: ${{ secrets.FLY_API_TOKEN }} | |
- name: Setup Node.js 20 | |
uses: actions/setup-node@v4 | |
with: | |
node-version: 20 | |
registry-url: "https://registry.npmjs.org" | |
# required for the cross-compilation, else it will error with `exec format error | |
- name: Set up QEMU | |
uses: docker/setup-qemu-action@v3 | |
- name: Set up Docker Buildx | |
uses: docker/setup-buildx-action@v3 | |
- name: Install Sunodo and build | |
run: | | |
npm install -g @sunodo/cli | |
sunodo build | |
IMAGE_TAG=$(sunodo deploy build --platform linux/amd64 | grep "Application node Docker image" | awk '{print $NF}') | |
docker tag $IMAGE_TAG registry.fly.io/cartezcash:latest | |
docker push registry.fly.io/cartezcash:latest |