Merge pull request 'Add automated docker build' (#1) from cicd/docker-build into main
All checks were successful
/ build (push) Successful in 32s
All checks were successful
/ build (push) Successful in 32s
Reviewed-on: #1
This commit is contained in:
commit
a1c7aec7af
74
.gitea/workflows/docker-build.yml
Normal file
74
.gitea/workflows/docker-build.yml
Normal file
@ -0,0 +1,74 @@
|
||||
ame: 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: |
|
||||
VERSION=$(cat VERSION 2>/dev/null || echo "0.0.0")
|
||||
SHA_SHORT=$(echo ${{ github.sha }} | cut -c1-7)
|
||||
echo "version=${VERSION}" >> $GITHUB_OUTPUT
|
||||
echo "sha_short=${SHA_SHORT}" >> $GITHUB_OUTPUT
|
||||
echo "version_sha=v${VERSION}-${SHA_SHORT}" >> $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:v${{ steps.meta.outputs.version }}
|
||||
paper-dynasty:${{ steps.meta.outputs.version_sha }}
|
||||
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:v${{ steps.meta.outputs.version }}\`" >> $GITHUB_STEP_SUMMARY
|
||||
echo "- \`paper-dynasty:${{ steps.meta.outputs.version_sha }}\`" >> $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
|
||||
==================
|
||||
Version: v${{ steps.meta.outputs.version }}
|
||||
Image: paper-dynasty:${{ steps.meta.outputs.version_sha }}
|
||||
Branch: ${{ steps.meta.outputs.branch }}
|
||||
Commit: ${{ github.sha }}
|
||||
Author: ${{ github.actor }}
|
||||
Timestamp: ${{ steps.meta.outputs.timestamp }}
|
||||
EOF
|
||||
Loading…
Reference in New Issue
Block a user