CI: Support debug branch and improve Docker tagging/caching (#55)

* ci docker

* ci

* ci
This commit is contained in:
NepPure
2025-03-05 10:00:44 +08:00
committed by GitHub
parent 8e48e72019
commit 543504858d

View File

@@ -3,10 +3,11 @@ name: Docker Build and Push
on: on:
push: push:
branches: branches:
- main # 推送到main分支时触发 - main
- debug # 新增 debug 分支触发
tags: tags:
- 'v*' # 推送v开头的tag时触发例如v1.0.0 - 'v*'
workflow_dispatch: # 允许手动触发 workflow_dispatch:
jobs: jobs:
build-and-push: build-and-push:
@@ -24,15 +25,24 @@ jobs:
username: ${{ secrets.DOCKERHUB_USERNAME }} username: ${{ secrets.DOCKERHUB_USERNAME }}
password: ${{ secrets.DOCKERHUB_TOKEN }} password: ${{ secrets.DOCKERHUB_TOKEN }}
- name: Determine Image Tags
id: tags
run: |
if [[ "${{ github.ref }}" == refs/tags/* ]]; then
echo "tags=${{ secrets.DOCKERHUB_USERNAME }}/maimbot:${{ github.ref_name }},${{ secrets.DOCKERHUB_USERNAME }}/maimbot:latest" >> $GITHUB_OUTPUT
elif [ "${{ github.ref }}" == "refs/heads/main" ]; then
echo "tags=${{ secrets.DOCKERHUB_USERNAME }}/maimbot:main,${{ secrets.DOCKERHUB_USERNAME }}/maimbot:latest" >> $GITHUB_OUTPUT
elif [ "${{ github.ref }}" == "refs/heads/debug" ]; then
echo "tags=${{ secrets.DOCKERHUB_USERNAME }}/maimbot:debug" >> $GITHUB_OUTPUT
fi
- name: Build and Push Docker Image - name: Build and Push Docker Image
uses: docker/build-push-action@v5 uses: docker/build-push-action@v5
with: with:
context: . # Docker构建上下文路径 context: .
file: ./Dockerfile # Dockerfile路径 file: ./Dockerfile
platforms: linux/amd64,linux/arm64 # 支持arm架构 platforms: linux/amd64,linux/arm64
tags: | tags: ${{ steps.tags.outputs.tags }}
${{ secrets.DOCKERHUB_USERNAME }}/maimbot:${{ github.ref_name }} push: true
${{ secrets.DOCKERHUB_USERNAME }}/maimbot:latest cache-from: type=registry,ref=${{ secrets.DOCKERHUB_USERNAME }}/maimbot:buildcache
push: true cache-to: type=registry,ref=${{ secrets.DOCKERHUB_USERNAME }}/maimbot:buildcache,mode=max
cache-from: type=registry,ref=${{ secrets.DOCKERHUB_USERNAME }}/maimbot:latest
cache-to: type=inline