Skip to content

Manual Build and Push #130

Manual Build and Push

Manual Build and Push #130

name: Manual Build and Push
# Run workflow by manual dispatch
on:
workflow_dispatch:
inputs:
workspace:
description: 'The desired workspace'
required: true
type: choice
options:
- ros2-ws
- ros2-control
- ros2-control-libraries
- ros2-modulo-control
platforms:
description: 'The desired build platform(s) as comma-separated list (for example "linux/amd64,linux/arm64")'
required: true
default: 'linux/amd64'
base_tag:
description: 'The tag of the base image to use'
required: false
default: 'humble'
output_tag:
description: 'The tag for the output image (if left empty, the base tag is used)'
required: false
default: ''
cl_branch:
description: 'The branch of control libraries'
required: false
default: 'main'
modulo_branch:
description: 'The branch of modulo'
required: false
default: 'main'
dockerfile_extension:
description: 'The optional extension of the Dockerfile for variant images'
required: false
default: ''
write_hashes:
description: 'Write image SHA256 and library dependency hashes to file (set to false for temporary or test images)'
required: false
default: true
type: boolean
jobs:
build-push:
uses: ./.github/workflows/reusable-build-push.yml
with:
workspace: ${{ inputs.workspace }}
base_tag: ${{ inputs.base_tag }}
output_tag: ${{ inputs.output_tag }}
cl_branch: ${{ inputs.cl_branch }}
modulo_branch: ${{ inputs.modulo_branch }}
dockerfile_extension: ${{ inputs.dockerfile_extension }}
platforms: ${{ inputs.platforms }}
write_hashes: ${{ inputs.write_hashes }}
secrets:
token: ${{ secrets.GITHUB_TOKEN }}