Skip to content

Build and push

Build and push #72

Workflow file for this run

name: Build and push
on: # yamllint disable-line rule:truthy
workflow_dispatch: # manual trigger
inputs:
node_tag:
description: 'Node tag'
required: true
node_image_tag:
description: 'Node image tag'
required: true
env:
user: bisgardo
node_image_repo: 'bisgardo/concordium-node'
node_tag: '${{ github.event.inputs.node_tag }}'
node_image_tag: '${{ github.event.inputs.node_image_tag }}'
jobs:
build-push:
runs-on: ubuntu-latest
steps:
- name: Checkout repository
uses: actions/checkout@v3
- name: Log in to Docker Hub
run: docker login --username "${{ env.user }}" --password-stdin <<< "${{ secrets.DOCKERHUB_ACCESS_TOKEN }}"
- name: Build and push Docker images
run: |
# Since Docker Compose v2, the entire spec must be valid even for services that aren't used
# as well as fields (like 'volumes') that the CLI command doesn't use.
# Otherwise the command fails.
# The following placeholders are included solely to satisfy this requirement;
# they do not affect the build at all.
export ROSETTA_IMAGE=rosetta
export PROMETHEUS_IMAGE=prometheus
export TRANSACTION_LOGGER_IMAGE=transaction-logger
export GENESIS_DATA_FILE=./genesis # must reference a valid path
# Define variables that are actually used in the build and perform that build/push.
export NODE_TAG="${{ env.node_tag }}"
export NODE_IMAGE="${{ env.node_image_repo }}:${{ env.node_image_tag }}"
NODE_NAME= docker compose build && docker-compose push