From 6f1ee81d27de957c74b9d1d097cae43b0899d117 Mon Sep 17 00:00:00 2001 From: Daniel Henry Date: Wed, 28 Jan 2026 18:52:34 -0600 Subject: [PATCH] Add github actions Signed-off-by: Daniel Henry --- .github/workflows/build-publish.yaml | 38 ++++++++++++++++++++++++++++ 1 file changed, 38 insertions(+) create mode 100644 .github/workflows/build-publish.yaml diff --git a/.github/workflows/build-publish.yaml b/.github/workflows/build-publish.yaml new file mode 100644 index 0000000..58a6477 --- /dev/null +++ b/.github/workflows/build-publish.yaml @@ -0,0 +1,38 @@ +name: Build and Publish Docker Image + +on: + push: + branches: + - main # Trigger on pushes to main + +jobs: + build-and-push: + runs-on: ubuntu-latest # Ensure your Gitea runner has this label + steps: + - name: Checkout code + uses: actions/checkout@v4 + + - name: Set up Docker Buildx + uses: docker/setup-buildx-action@v3 + + # Login to your registry (Docker Hub, Gitea Package Registry, or Harbor) + - name: Login to Docker Registry + uses: docker/login-action@v3 + with: + registry: ${{ secrets.DOCKER_REGISTRY }} # Remove if using Docker Hub + username: ${{ secrets.DOCKER_USERNAME }} + password: ${{ secrets.DOCKER_PASSWORD }} + + - name: Build and push + uses: docker/build-push-action@v5 + with: + context: . + file: Dockerfile + push: true + # Tags the image as 'latest' and also uses the git SHA for versioning + tags: | + ${{ secrets.DOCKER_REGISTRY }}/${{ secrets.DOCKER_USERNAME }}/email-classifier:latest + ${{ secrets.DOCKER_REGISTRY }}/${{ secrets.DOCKER_USERNAME }}/email-classifier:${{ gitea.sha }} + # Caching speeds up builds by reusing layers (crucial for 'uv' installs) + cache-from: type=gha + cache-to: type=gha,mode=max \ No newline at end of file