Add .gitea/workflows/*.yaml

This commit is contained in:
2025-10-18 23:02:39 -07:00
parent e6afe787a6
commit c78a43048e

View File

@@ -1,39 +1,52 @@
name: Docker Build name: Docker Build
on: "on":
workflow_dispatch: workflow_dispatch:
# Uncomment if you also want auto-builds on pushes:
#on:
# push: # push:
# branches: # branches: [ "main" ]
# - main
jobs: jobs:
docker: docker:
runs-on: ubuntu-22.04 runs-on: ubuntu-22.04
permissions:
contents: read
packages: write
steps: steps:
- name: Checkout code - name: Checkout code
uses: actions/checkout@v4 uses: actions/checkout@v4
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v3
- name: Log in to Gitea Registry - name: Log in to Gitea Registry
run: | uses: docker/login-action@v3
echo "${{ secrets.REGISTRY_TOKEN }}" | \ with:
docker login gitea.cuihang1201.synology.me -u ${{ secrets.REGISTRY_USER }} --password-stdin registry: gitea.cuihang1201.synology.me
username: ${{ secrets.REGISTRY_USER }}
password: ${{ secrets.REGISTRY_TOKEN }}
- name: Build Docker image - name: Build and push image
run: docker build -t gitea.cuihang1201.synology.me/hangpersonal/docker_build:latest . uses: docker/build-push-action@v5
with:
context: .
file: ./Dockerfile
push: true
tags: gitea.cuihang1201.synology.me/hangpersonal/docker_build:latest
- name: Run Docker image # Optional quick health check, runs detached and then cleaned up
- name: Smoke test
run: | run: |
docker run --name docker_build gitea.cuihang1201.synology.me/hangpersonal/docker_build:latest docker run --rm -d --name docker_build \
gitea.cuihang1201.synology.me/hangpersonal/docker_build:latest
sleep 5
docker logs docker_build
if: ${{ always() }}
- name: Push Docker image - name: Cleanup local container/images
if: always()
run: | run: |
docker stop docker_build docker rm -f docker_build 2>/dev/null || true
docker rm docker_build
docker push gitea.cuihang1201.synology.me/hangpersonal/docker_build:latest
- name: Clean Docker image on Host
run: |
docker rmi gitea.cuihang1201.synology.me/hangpersonal/docker_build:latest
docker image ls -a docker image ls -a