ci: Add debug mode to publish workflow
This commit is contained in:
85
.github/workflows/publish.yml
vendored
85
.github/workflows/publish.yml
vendored
@@ -9,7 +9,7 @@ on:
|
|||||||
- 'LICENSE'
|
- 'LICENSE'
|
||||||
release:
|
release:
|
||||||
types:
|
types:
|
||||||
- created
|
- published
|
||||||
|
|
||||||
env:
|
env:
|
||||||
GITHUB_REF_NAME: ${{ github.event.release.tag_name }}
|
GITHUB_REF_NAME: ${{ github.event.release.tag_name }}
|
||||||
@@ -17,11 +17,61 @@ env:
|
|||||||
PLATFORMS: linux/amd64,linux/arm64,linux/arm/v7
|
PLATFORMS: linux/amd64,linux/arm64,linux/arm/v7
|
||||||
CACHE_PATH: /tmp/.buildx-docker-salt-master-cache
|
CACHE_PATH: /tmp/.buildx-docker-salt-master-cache
|
||||||
EXTRA_REGISTRIES: ghcr.io quay.io
|
EXTRA_REGISTRIES: ghcr.io quay.io
|
||||||
|
DEBUG: true
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
|
metadata:
|
||||||
|
name: Metadata
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
outputs:
|
||||||
|
tags: ${{ steps.tags.outputs.tags }}
|
||||||
|
vcs_ref: ${{ steps.vcs_ref.outputs.vcs_ref }}
|
||||||
|
created_on: ${{ steps.created_on.outputs.created_on }}
|
||||||
|
steps:
|
||||||
|
- name: Image Tags
|
||||||
|
id: tags
|
||||||
|
run: |
|
||||||
|
IMAGE_TAG="${GITHUB_REF_NAME:-latest}"
|
||||||
|
DOCKER_IMAGE="${IMAGE_NAME}:${IMAGE_TAG}"
|
||||||
|
TAGS="${DOCKER_IMAGE}"
|
||||||
|
for registry in ${EXTRA_REGISTRIES}; do
|
||||||
|
TAGS="${TAGS},${registry}/${DOCKER_IMAGE}"
|
||||||
|
done
|
||||||
|
|
||||||
|
echo "Image Tag: '${IMAGE_TAG}'"
|
||||||
|
echo "Docker image: '${DOCKER_IMAGE}'"
|
||||||
|
echo "Tags: ${TAGS}"
|
||||||
|
|
||||||
|
echo ::set-output name=tags::${TAGS}
|
||||||
|
|
||||||
|
- name: VCS ref
|
||||||
|
id: vcs_ref
|
||||||
|
run: |
|
||||||
|
VCS_REF="${GITHUB_SHA::8}"
|
||||||
|
echo "VCS ref: ${VCS_REF}"
|
||||||
|
echo ::set-output name=vcs_ref::${VCS_REF}
|
||||||
|
|
||||||
|
- name: Created On
|
||||||
|
id: created_on
|
||||||
|
run: |
|
||||||
|
CREATED_ON="$(date -u +"%Y-%m-%dT%H:%M:%SZ")"
|
||||||
|
echo "Created on: ${CREATED_ON}"
|
||||||
|
echo ::set-output name=created_on::${CREATED_ON}
|
||||||
|
|
||||||
|
- name: Dump environment
|
||||||
|
if: ${{ env.DEBUG }} == 'true'
|
||||||
|
run: env | sort
|
||||||
|
- name: Dump GitHub context
|
||||||
|
if: ${{ env.DEBUG }} == 'true'
|
||||||
|
env:
|
||||||
|
GITHUB_CONTEXT: ${{ toJson(github) }}
|
||||||
|
run: echo "${GITHUB_CONTEXT}"
|
||||||
|
|
||||||
publish:
|
publish:
|
||||||
name: Publish
|
name: Publish
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
|
needs: metadata
|
||||||
|
if: ${{ env.DEBUG }} != 'false'
|
||||||
steps:
|
steps:
|
||||||
- name: Checkout repository
|
- name: Checkout repository
|
||||||
uses: actions/checkout@v2.4.0
|
uses: actions/checkout@v2.4.0
|
||||||
@@ -60,33 +110,6 @@ jobs:
|
|||||||
username: ${{ secrets.QUAYIO_USERNAME }}
|
username: ${{ secrets.QUAYIO_USERNAME }}
|
||||||
password: ${{ secrets.QUAYIO_PASSWORD }}
|
password: ${{ secrets.QUAYIO_PASSWORD }}
|
||||||
|
|
||||||
- name: Prepare metadata
|
|
||||||
id: metadata
|
|
||||||
run: |
|
|
||||||
# Tags
|
|
||||||
TAG="${GITHUB_REF_NAME:-latest}"
|
|
||||||
echo "Tag: ${TAG}"
|
|
||||||
|
|
||||||
DOCKER_IMAGE="${IMAGE_NAME}:${TAG}"
|
|
||||||
echo "Docker image: ${DOCKER_IMAGE}"
|
|
||||||
|
|
||||||
TAGS="${DOCKER_IMAGE}"
|
|
||||||
for registry in ${EXTRA_REGISTRIES}; do
|
|
||||||
TAGS="${TAGS},${registry}/${DOCKER_IMAGE}"
|
|
||||||
done
|
|
||||||
echo "Tags: ${TAGS}"
|
|
||||||
|
|
||||||
# Build args
|
|
||||||
VCS_REF="${GITHUB_SHA::8}"
|
|
||||||
echo "VCS ref: ${VCS_REF}"
|
|
||||||
|
|
||||||
CREATED_ON="$(date +"%Y-%m-%d %H:%M:%S%:z")"
|
|
||||||
echo "Created on: ${CREATED_ON}"
|
|
||||||
|
|
||||||
echo ::set-output name=tags::${TAGS}
|
|
||||||
echo ::set-output name=vcs_ref::${VCS_REF}
|
|
||||||
echo ::set-output name=created_on::${CREATED_ON}
|
|
||||||
|
|
||||||
- name: Build
|
- name: Build
|
||||||
uses: docker/build-push-action@v2.7.0
|
uses: docker/build-push-action@v2.7.0
|
||||||
with:
|
with:
|
||||||
@@ -94,9 +117,9 @@ jobs:
|
|||||||
file: ./Dockerfile
|
file: ./Dockerfile
|
||||||
platforms: ${{ env.PLATFORMS }}
|
platforms: ${{ env.PLATFORMS }}
|
||||||
build-args: |
|
build-args: |
|
||||||
VCS_REF=${{ steps.metadata.outputs.vcs_ref }}
|
VCS_REF=${{ needs.metadata.outputs.vcs_ref }}
|
||||||
BUILD_DATE=${{ steps.metadata.outputs.created_on }}
|
BUILD_DATE=${{ needs.metadata.outputs.created_on }}
|
||||||
cache-from: type=local,src=${{ env.CACHE_PATH }}
|
cache-from: type=local,src=${{ env.CACHE_PATH }}
|
||||||
cache-to: type=local,dest=${{ env.CACHE_PATH }}
|
cache-to: type=local,dest=${{ env.CACHE_PATH }}
|
||||||
push: true
|
push: true
|
||||||
tags: ${{ steps.metadata.outputs.tags }}
|
tags: ${{ needs.metadata.outputs.tags }}
|
||||||
|
|||||||
Reference in New Issue
Block a user