mirror of
https://github.com/yusing/godoxy.git
synced 2026-04-24 01:08:31 +02:00
feat(ci): separate cache for different tags; utilize gha cache
This commit is contained in:
12
.github/workflows/docker-image.yml
vendored
12
.github/workflows/docker-image.yml
vendored
@@ -59,13 +59,17 @@ jobs:
|
|||||||
run: |
|
run: |
|
||||||
if [ "${GITHUB_REF_TYPE}" = "tag" ]; then
|
if [ "${GITHUB_REF_TYPE}" = "tag" ]; then
|
||||||
version="${GITHUB_REF_NAME}"
|
version="${GITHUB_REF_NAME}"
|
||||||
|
cache_variant="release"
|
||||||
elif [ "${GITHUB_REF_NAME}" = "main" ] || [ "${GITHUB_REF_NAME}" = "compat" ]; then
|
elif [ "${GITHUB_REF_NAME}" = "main" ] || [ "${GITHUB_REF_NAME}" = "compat" ]; then
|
||||||
git fetch --tags origin main
|
git fetch --tags origin main
|
||||||
version="$(git describe --tags --abbrev=0 origin/main 2>/dev/null || git describe --tags --abbrev=0 main 2>/dev/null || echo v0.0.0)"
|
version="$(git describe --tags --abbrev=0 origin/main 2>/dev/null || git describe --tags --abbrev=0 main 2>/dev/null || echo v0.0.0)"
|
||||||
|
cache_variant="${GITHUB_REF_NAME}"
|
||||||
else
|
else
|
||||||
version="v$(date -u +'%Y%m%d-%H%M')"
|
version="v$(date -u +'%Y%m%d-%H%M')"
|
||||||
|
cache_variant="nightly"
|
||||||
fi
|
fi
|
||||||
echo "VERSION_FOR_BUILD=$version" >> $GITHUB_ENV
|
echo "VERSION_FOR_BUILD=$version" >> $GITHUB_ENV
|
||||||
|
echo "CACHE_VARIANT=$cache_variant" >> $GITHUB_ENV
|
||||||
if [ "${GITHUB_REF_TYPE}" = "branch" ]; then
|
if [ "${GITHUB_REF_TYPE}" = "branch" ]; then
|
||||||
echo "BRANCH_FOR_BUILD=${GITHUB_REF_NAME}" >> $GITHUB_ENV
|
echo "BRANCH_FOR_BUILD=${GITHUB_REF_NAME}" >> $GITHUB_ENV
|
||||||
else
|
else
|
||||||
@@ -102,11 +106,11 @@ jobs:
|
|||||||
file: ${{ env.DOCKERFILE }}
|
file: ${{ env.DOCKERFILE }}
|
||||||
outputs: type=image,name=${{ env.REGISTRY }}/${{ inputs.image_name }},push-by-digest=true,name-canonical=true,push=true
|
outputs: type=image,name=${{ env.REGISTRY }}/${{ inputs.image_name }},push-by-digest=true,name-canonical=true,push=true
|
||||||
cache-from: |
|
cache-from: |
|
||||||
type=registry,ref=${{ env.REGISTRY }}/${{ inputs.image_name }}:buildcache-${{ env.PLATFORM_PAIR }}
|
type=gha,scope=${{ github.workflow }}-${{ env.CACHE_VARIANT }}-${{ env.PLATFORM_PAIR }}
|
||||||
# type=gha,scope=${{ github.workflow }}-${{ env.PLATFORM_PAIR }}
|
type=registry,ref=${{ env.REGISTRY }}/${{ inputs.image_name }}:buildcache-${{ env.CACHE_VARIANT }}-${{ env.PLATFORM_PAIR }}
|
||||||
cache-to: |
|
cache-to: |
|
||||||
type=registry,ref=${{ env.REGISTRY }}/${{ inputs.image_name }}:buildcache-${{ env.PLATFORM_PAIR }},mode=max
|
type=gha,scope=${{ github.workflow }}-${{ env.CACHE_VARIANT }}-${{ env.PLATFORM_PAIR }},mode=max
|
||||||
# type=gha,scope=${{ github.workflow }}-${{ env.PLATFORM_PAIR }},mode=max
|
type=registry,ref=${{ env.REGISTRY }}/${{ inputs.image_name }}:buildcache-${{ env.CACHE_VARIANT }}-${{ env.PLATFORM_PAIR }},mode=max
|
||||||
build-args: |
|
build-args: |
|
||||||
VERSION=${{ env.VERSION_FOR_BUILD }}
|
VERSION=${{ env.VERSION_FOR_BUILD }}
|
||||||
MAKE_ARGS=${{ env.MAKE_ARGS }}
|
MAKE_ARGS=${{ env.MAKE_ARGS }}
|
||||||
|
|||||||
Reference in New Issue
Block a user