today_ai_weather/.github/workflows/docker.yml
songtianlun 04595824e6 feat: configure docker image prefix
Update Docker workflow to include image prefix in version and latest tag

Change the Docker image prefix in the GitHub workflow to include the registry, username and image name.
Update the environment variables to use the new format for the image prefix.
2025-01-22 00:56:58 +08:00

52 lines
1.5 KiB
YAML

name: Build and Publish Docker Image
on:
push:
branches:
- main
env:
# Use docker.io for Docker Hub if empty
REGISTRY: docker.io
IMAGE_NAME: ${{ github.event.repository.name }}
jobs:
docker:
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v3
with:
fetch-depth: 0
- name: Get version
id: get_version
run: |
GIT_VERSION=$(git describe --dirty --always --long --abbrev=7 --tags)
VERSION="v${GIT_VERSION}"
IMAGE_PREFIX="${{ env.REGISTRY }}/${{ secrets.DOCKERHUB_USER }}/${{ env.IMAGE_NAME }}"
echo "VERSION=${VERSION}" >> $GITHUB_ENV
echo "GIT_VERSION=${GIT_VERSION}" >> $GITHUB_ENV
echo "LATEST_TAG=${$IMAGE_PREFIX}:latest" >> $GITHUB_OUTPUT"
echo "VERSION_TAG=${IMAGE_PREFIX}:${VERSION}" >> $GITHUB_OUTPUT"
-
name: Login to ${{ env.REGISTRY }}
if: github.event_name != 'pull_request'
uses: docker/login-action@v3
with:
registry: ${{ env.REGISTRY }}
username: ${{ secrets.DOCKERHUB_USER }}
password: ${{ secrets.DOCKERHUB_TOKEN }}
-
name: Set up QEMU
uses: docker/setup-qemu-action@v3
-
name: Set up Docker Buildx
uses: docker/setup-buildx-action@v3
-
name: Build and push
uses: docker/build-push-action@v6
with:
context: .
push: ${{ github.event_name != 'pull_request' }}
tags: ${{ env.LATEST_TAG }},${{ env.VERSION_TAG }}