Update docker.yml

This commit is contained in:
qiaofeng1227 2024-12-29 11:28:29 +08:00 committed by GitHub
parent e8191b0550
commit 4ac3f9606a
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

View File

@ -11,7 +11,7 @@ name: Build image to DockerHub
on:
push:
branches: [main]
branches: [main, dev] # Include dev branch
paths:
- "docker/*/Dockerfile"
@ -38,8 +38,7 @@ jobs:
needs: setup
runs-on: ubuntu-latest
env:
# You can set it to choice where download from
MEDIA_FROM: "source"
MEDIA_FROM: "source" # You can set it to choice where download from
strategy:
matrix: ${{fromJson(needs.setup.outputs.matrix)}}
steps:
@ -53,23 +52,31 @@ jobs:
APP=${{ matrix.app }}
TAG=$(grep 'LABEL version' "docker/$APP/Dockerfile" | cut -d'"' -f2 | xargs)
echo $APP version is $TAG
if [[ "$TAG" == *"-"* ]]; then
TAGS="$TAG"
# Determine the channel based on the branch and TAG
if [[ $GITHUB_REF == *"refs/heads/dev"* ]]; then
echo "CHANNEL=dev" >> $GITHUB_ENV
TAGS="$TAG" # Use the TAG directly for dev
else
echo "CHANNEL=release" >> $GITHUB_ENV
IFS='.' read -ra PARTS <<< "$TAG"
TAGS="latest"
TAG_PART=""
for i in "${!PARTS[@]}"; do
if [ "$i" -eq 0 ]; then
TAG_PART="${PARTS[$i]}"
else
TAG_PART="${TAG_PART}.${PARTS[$i]}"
fi
TAGS="${TAGS},${TAG_PART}"
done
if [[ "$TAG" == *"-"* ]]; then
echo "CHANNEL=rc" >> $GITHUB_ENV
TAGS="$TAG"
else
echo "CHANNEL=release" >> $GITHUB_ENV
IFS='.' read -ra PARTS <<< "$TAG"
TAGS="latest"
TAG_PART=""
for i in "${!PARTS[@]}"; do
if [ "$i" -eq 0 ]; then
TAG_PART="${PARTS[$i]}"
else
TAG_PART="${TAG_PART}.${PARTS[$i]}"
fi
TAGS="${TAGS},${TAG_PART}"
done
fi
fi
echo "Building and pushing Docker image for $APP with tags: $TAGS"
echo "TAGS=$TAGS" >> $GITHUB_ENV
echo "APP=$APP" >> $GITHUB_ENV
@ -112,6 +119,7 @@ jobs:
repository: websoft9/docker-library
event-type: custom_event
token: ${{secrets.MYGITHUB_ADMIN_TOKEN}}
ref: ${{ github.ref }}
if: env.APP == 'apphub'
# release media step1
@ -159,4 +167,4 @@ jobs:
password: ${{ secrets.DOCKER_PASSWORD }}
repository: websoft9dev/${{env.APP}}
readme-filepath: ${{env.README}}
if: needs.setup.outputs.matrix != ''
if: needs.setup.outputs.matrix != ''