summaryrefslogtreecommitdiff
path: root/.github/workflows/multi-arch-build.yaml
diff options
context:
space:
mode:
Diffstat (limited to '.github/workflows/multi-arch-build.yaml')
-rw-r--r--.github/workflows/multi-arch-build.yaml44
1 files changed, 31 insertions, 13 deletions
diff --git a/.github/workflows/multi-arch-build.yaml b/.github/workflows/multi-arch-build.yaml
index 1781604fe..e4ab88544 100644
--- a/.github/workflows/multi-arch-build.yaml
+++ b/.github/workflows/multi-arch-build.yaml
@@ -69,55 +69,73 @@ jobs:
- name: Generate image information
id: image_info
run: |
+ VERSION='v${{ steps.sniff_test.outputs.version }}'
+ # workaround vim syntax-hilighting bug: '
if [[ "${{ matrix.source }}" == 'stable' ]]; then
# quay.io/podman/stable:vX.X.X
ALLTAGS=$(skopeo list-tags \
- docker://${{ env.PODMAN_QUAY_REGISTRY }}/stable | \
+ docker://$PODMAN_QUAY_REGISTRY/stable | \
jq -r '.Tags[]')
PUSH="false"
- if fgrep -qx "$VERSION" <<<"$ALLTAGS"; then
+ if ! fgrep -qx "$VERSION" <<<"$ALLTAGS"; then
PUSH="true"
fi
- FQIN='${{ env.PODMAN_QUAY_REGISTRY }}/stable:v${{ steps.sniff_test.outputs.version }}' # workaround vim syntax-hilighting bug: '
+ FQIN="$PODMAN_QUAY_REGISTRY/stable:$VERSION"
# Only push if version tag does not exist
if [[ "$PUSH" == "true" ]]; then
echo "Will push $FQIN"
- echo "::set-output name=podman_push::${PUSH}"
+ echo "::set-output name=podman_push::true"
echo "::set-output name=podman_fqin::${FQIN}"
+ else
+ echo "Not pushing, $FQIN already exists."
fi
# quay.io/containers/podman:vX.X.X
unset ALLTAGS
ALLTAGS=$(skopeo list-tags \
- docker://${{ env.CONTAINERS_QUAY_REGISTRY }}/podman | \
+ docker://$CONTAINERS_QUAY_REGISTRY/podman | \
jq -r '.Tags[]')
PUSH="false"
- if fgrep -qx "$VERSION" <<<"$ALLTAGS"; then
+ if ! fgrep -qx "$VERSION" <<<"$ALLTAGS"; then
PUSH="true"
fi
- FQIN='${{ env.CONTAINERS_QUAY_REGISTRY}}/podman:v${{ steps.sniff_test.outputs.version }}' # workaround vim syntax-hilighting bug: '
+ FQIN="$CONTAINERS_QUAY_REGISTRY/podman:$VERSION"
# Only push if version tag does not exist
if [[ "$PUSH" == "true" ]]; then
echo "Will push $FQIN"
- echo "::set-output name=containers_push::${PUSH}"
+ echo "::set-output name=containers_push::true"
echo "::set-output name=containers_fqin::$FQIN"
+ else
+ echo "Not pushing, $FQIN already exists."
fi
- else # upstream and testing podman image
- P_FQIN='${{ env.PODMAN_QUAY_REGISTRY }}/${{ matrix.source }}:master' # workaround vim syntax-hilighting bug: '
- C_FQIN='${{ env.CONTAINERS_QUAY_REGISTRY}}/podman:master' # workaround vim syntax-hilighting bug: '
+ elif [[ "${{ matrix.source }}" == 'testing' ]]; then
+ P_FQIN="$PODMAN_QUAY_REGISTRY/testing:master"
+ echo "Will push $P_FQIN"
+ echo "::set-output name=podman_fqin::${P_FQIN}"
+ echo '::set-output name=podman_push::true'
+ elif [[ "${{ matrix.source }}" == 'upstream' ]]; then
+ P_FQIN="$PODMAN_QUAY_REGISTRY/upstream:master"
+ C_FQIN="$CONTAINERS_QUAY_REGISTRY/podman:master"
echo "Will push $P_FQIN and $C_FQIN"
echo "::set-output name=podman_fqin::${P_FQIN}"
echo "::set-output name=containers_fqin::${C_FQIN}"
# Always push 'master' tag
echo '::set-output name=podman_push::true'
echo '::set-output name=containers_push::true'
+ else
+ echo "::error ::Unknown matrix value ${{ matrix.source }}"
+ exit 1
fi
- # Hack to set $LABELS env. var. in _future_ steps.
+ - name: Define LABELS multi-line env. var. value
+ run: |
+ # This is a really hacky/strange workflow idiom, required
+ # for setting multi-line $LABELS value for consumption in
+ # a future step.
# https://docs.github.com/en/actions/reference/workflow-commands-for-github-actions#multiline-strings
- cat << EOF | tee $GITHUB_ENV
+ cat << EOF | tee -a $GITHUB_ENV
LABELS<<DELIMITER
org.opencontainers.image.source=https://github.com/${{ github.repository }}.git
org.opencontainers.image.revision=${{ github.sha }}