Add automated docker build
Some checks failed
Build Docker Image / build (pull_request) Failing after 6m57s

This commit is contained in:
cal 2026-02-04 05:41:18 +00:00
parent 00ed42befd
commit d094809838

View File

@ -0,0 +1,75 @@
name: Build Docker Image
on:
push:
branches:
- main
pull_request:
branches:
- main
jobs:
build:
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v4
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v3
- name: Extract metadata
id: meta
run: |
echo "sha_short=$(echo ${{ github.sha }} | cut -c1-7)" >> $GITHUB_OUTPUT
echo "branch=${{ github.ref_name }}" >> $GITHUB_OUTPUT
echo "timestamp=$(date -u +'%Y%m%d-%H%M%S')" >> $GITHUB_OUTPUT
- name: Build Docker image
uses: docker/build-push-action@v5
with:
context: .
push: false
tags: |
paper-dynasty:latest
paper-dynasty:${{ steps.meta.outputs.sha_short }}
cache-from: type=gha
cache-to: type=gha,mode=max
outputs: type=docker,dest=/tmp/paper-dynasty-image.tar
- name: Build Summary
run: |
echo "## 🐳 Docker Build Successful! ✅" >> $GITHUB_STEP_SUMMARY
echo "" >> $GITHUB_STEP_SUMMARY
echo "**Image Tags:**" >> $GITHUB_STEP_SUMMARY
echo "- \`paper-dynasty:latest\`" >> $GITHUB_STEP_SUMMARY
echo "- \`paper-dynasty:${{ steps.meta.outputs.sha_short }}\`" >> $GITHUB_STEP_SUMMARY
echo "" >> $GITHUB_STEP_SUMMARY
echo "**Build Details:**" >> $GITHUB_STEP_SUMMARY
echo "- Branch: \`${{ steps.meta.outputs.branch }}\`" >> $GITHUB_STEP_SUMMARY
echo "- Commit: \`${{ github.sha }}\`" >> $GITHUB_STEP_SUMMARY
echo "- Timestamp: \`${{ steps.meta.outputs.timestamp }}\`" >> $GITHUB_STEP_SUMMARY
echo "" >> $GITHUB_STEP_SUMMARY
echo "_Ready to deploy to production!_" >> $GITHUB_STEP_SUMMARY
- name: Save build info
run: |
mkdir -p artifacts
cat > artifacts/build-info.txt <<EOF
Build Information
==================
Image: paper-dynasty:${{ steps.meta.outputs.sha_short }}
Branch: ${{ steps.meta.outputs.branch }}
Commit: ${{ github.sha }}
Author: ${{ github.actor }}
Timestamp: ${{ steps.meta.outputs.timestamp }}
EOF
- name: Upload build artifacts
uses: actions/upload-artifact@v4
with:
name: build-info
path: artifacts/build-info.txt
retention-days: 30