name: containerd-build description: Builds a containerd image. inputs: registry_host: description: A containerd registry host. required: false default: ${{ vars.INTELIGR8_REGISTRY_HOST }} image_namespace: description: A containerd image prefix. required: false default: ${{ vars.INTELIGR8_IMAGE_NAMESPACE }} image_name: description: A containerd image name, without the host and prefix. required: true build_opts: description: A string of options for the containerd CLI build command. required: false default: --quiet runs: using: "composite" steps: - id: containerd_debug uses: ./.gitea/actions/containerd-debug - id: skopeo_inspect uses: ./.gitea/actions/skopeo-inspect with: image_name: base-runner - id: containerd_build working-directory: containerd env: REGISTRY_HOST: ${{ inputs.registry_host }} IMAGE_NAMESPACE: ${{ inputs.image_namespace }} IMAGE_NAME: ${{ inputs.image_name }} CONTAINERD_CMD: buildah CONTAINERD_BUILD_FORMAT: docker CONTAINERD_BUILD_OPTS: ${{ inputs.build_opts }} CONTAINERD_CMD_DEBUG_OPTS: ${{ steps.containerd_debug.outputs.containerd_cmd_debug_opts }} CONTAINERD_IMAGE_EXISTS: ${{ steps.skopeo_inspect.outputs.image_exists }} shell: bash run: | if (( ${CONTAINERD_IMAGE_EXISTS} == "true" )); then echo "Container image already built; skipping rebuild" else GIT_COMMIT_SHORT_SHA=${GITHUB_SHA::8} IMAGE_REMOTE_NAME=${REGISTRY_HOST}/${IMAGE_NAMESPACE}${IMAGE_NAME} echo "image_tag=sha${GIT_COMMIT_SHORT_SHA}" >> $GITHUB_OUTPUT echo "Building container image" ${CONTAINERD_CMD} ${CONTAINERD_CMD_OPTS} ${CONTAINERD_CMD_DEBUG_OPTS} build \ --format=${CONTAINERD_BUILD_FORMAT} \ ${CONTAINERD_BUILD_OPTS} \ --tag ${IMAGE_REMOTE_NAME}:sha${GIT_COMMIT_SHORT_SHA} outputs: image_tag: description: The resultant containerd image tag. value: ${{ steps.containerd_build.outputs.image_tag }}