Some checks failed
Build and Push Docker Image / build-and-push (push) Has been cancelled
Add Docker configuration with standalone output mode for containerized deployment. Implement texture deletion API with proper error handling and user feedback. Fix skin viewer sizing issues by using explicit dimensions and removing conflicting layout properties. Add captcha ID parameter to registration flow. Improve profile page UX including Yggdrasil password reset display and character card editing controls.
88 lines
2.6 KiB
YAML
88 lines
2.6 KiB
YAML
name: Build and Push Docker Image
|
||
|
||
on:
|
||
push:
|
||
branches:
|
||
- main
|
||
- master
|
||
- develop
|
||
pull_request:
|
||
branches:
|
||
- main
|
||
- master
|
||
workflow_dispatch:
|
||
|
||
env:
|
||
REGISTRY: code.littlelan.cn
|
||
IMAGE_NAME: ${{ github.repository_owner }}/carrotskin
|
||
|
||
jobs:
|
||
build-and-push:
|
||
runs-on: ubuntu-latest
|
||
|
||
permissions:
|
||
contents: read
|
||
packages: write
|
||
|
||
steps:
|
||
- name: Checkout code
|
||
uses: actions/checkout@v4
|
||
|
||
- name: Log in to Gitea Container Registry
|
||
uses: docker/login-action@v3
|
||
with:
|
||
registry: ${{ env.REGISTRY }}
|
||
username: ${{ secrets.GIT_USERNAME }}
|
||
password: ${{ secrets.GIT_TOKEN }}
|
||
|
||
- name: Extract metadata for Docker
|
||
id: meta
|
||
uses: docker/metadata-action@v5
|
||
with:
|
||
images: ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}
|
||
tags: |
|
||
# main/master 分支标记为 latest
|
||
type=raw,value=latest,enable={{is_default_branch}}
|
||
# 所有分支的标签
|
||
type=ref,event=branch
|
||
# Git tag 时创建版本标签(如 1.0.0, 1.0)
|
||
type=semver,pattern={{version}}
|
||
type=semver,pattern={{major}}.{{minor}}
|
||
# 每次构建的 SHA 标签
|
||
type=sha
|
||
|
||
- 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 Docker image
|
||
uses: docker/build-push-action@v5
|
||
with:
|
||
context: .
|
||
push: true
|
||
tags: ${{ steps.meta.outputs.tags }}
|
||
labels: ${{ steps.meta.outputs.labels }}
|
||
platforms: linux/amd64
|
||
provenance: false
|
||
cache-from: type=registry,ref=${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}:buildcache
|
||
cache-to: type=registry,ref=${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}:buildcache,mode=max
|
||
|
||
- name: Show image tags
|
||
run: |
|
||
echo "Built and pushed image with tags:"
|
||
echo "${{ steps.meta.outputs.tags }}"
|
||
echo ""
|
||
echo "Image digest: ${{ steps.meta.outputs.digest }}"
|
||
|
||
- name: Summary
|
||
if: always()
|
||
run: |
|
||
echo "## Docker Image Build Summary" >> $GITHUB_STEP_SUMMARY
|
||
echo "" >> $GITHUB_STEP_SUMMARY
|
||
echo "**Image:** ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}" >> $GITHUB_STEP_SUMMARY
|
||
echo "**Tags:**" >> $GITHUB_STEP_SUMMARY
|
||
echo "${{ steps.meta.outputs.tags }}" >> $GITHUB_STEP_SUMMARY
|
||
echo "**Digest:** ${{ steps.meta.outputs.digest }}" >> $GITHUB_STEP_SUMMARY
|