songtianlun
2b4275055c
- Update fetch-depth in Docker workflow configuration - No additional dependencies added This change updates the fetch-depth setting in the GitHub Actions Docker workflow. This ensures that we get the full Git history for the code checkout. There are no additional dependencies added to this change.
51 lines
1.6 KiB
YAML
51 lines
1.6 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}"
|
|
echo "VERSION=${VERSION}" >> $GITHUB_ENV
|
|
echo "GIT_VERSION=${GIT_VERSION}" >> $GITHUB_ENV
|
|
echo "LATEST_TAG=${{ env.REGISTRY }}/${{ secrets.DOCKERHUB_USER }}/${{ env.IMAGE_NAME }}:latest" >> $GITHUB_OUTPUT"
|
|
echo "VERSION_TAG=${{ env.REGISTRY }}/${{ secrets.DOCKERHUB_USER }}/${{ env.IMAGE_NAME }}:${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 }}
|