kv-music/.forgejo/workflows/docker.yml

38 lines
1.3 KiB
YAML

name: Build and Push Docker Image
on:
push:
branches: [main]
workflow_dispatch:
env:
REGISTRY: forgejo.khoavo.myds.me
IMAGE_NAME: vndangkhoa/monochrome
jobs:
build-and-push:
runs-on: synology-runner
timeout-minutes: 30
steps:
- name: Checkout code
run: |
if [ -d "/workspace/monochrome" ]; then
rm -rf /workspace/monochrome
fi
git clone --depth 1 https://git.khoavo.myds.me/vndangkhoa/monochrome.git /workspace/monochrome
- name: Set up Docker Buildx
run: |
docker buildx create --name mybuilder --use 2>/dev/null || docker buildx use mybuilder
- name: Login to Forgejo Container Registry
run: |
echo "${{ secrets.FORGEJO_TOKEN }}" | docker login ${{ env.REGISTRY }} -u "${{ secrets.FORGEJO_USERNAME }}" --password-stdin
- name: Build and push Docker image
run: |
cd /workspace/monochrome
COMMIT_SHA=$(git rev-parse HEAD)
TAG="${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}:${COMMIT_SHA:0:8}"
docker buildx build --platform linux/amd64 -t $TAG -t ${{ env.REGISTRY }}/${{ env.IMAGE_NAME}}:latest -f docker/Dockerfile --push .