Files
Gmail-Catchall-Labeler/.gitea/workflows/build-and-push.yml
T
arne 48488b72b5
Build and Push Docker Image / build-and-push (push) Successful in 2m21s
feat: Add Gmail Catchall Labeler service with configuration and functionality
- Introduced a new Docker Compose configuration for the Gmail Catchall Labeler service.
- Implemented GmailOptions class for managing configuration settings.
- Developed GmailApiClient to interact with the Gmail API, including methods for fetching messages and managing labels.
- Created models for Gmail messages, labels, and headers.
- Added IGmailClient interface to define the contract for Gmail client implementations.
- Implemented GmailOrganizer to handle the organization of emails based on recipient addresses.
- Developed LabelNameResolver for generating label names based on local parts of email addresses.
- Created RecipientExtractor to extract local parts from email headers.
- Implemented state management with OrganizerState and StateStore for persisting state information.
- Added Worker class to manage the background processing of email organization.
- Created unit tests for GmailOrganizer, LabelNameResolver, and RecipientExtractor to ensure functionality.
- Added necessary project files and configurations for building and running the application.
2026-09-26 20:05:21 +02:00

36 lines
907 B
YAML

name: Build and Push Docker Image
on:
push:
branches:
- main
jobs:
build-and-push:
runs-on: ubuntu-latest
container:
image: catthehacker/ubuntu:act-latest
steps:
- name: Checkout code
uses: actions/checkout@v4
- name: Generate datetime tag
id: vars
run: echo "tag=$(date +'%Y%m%d%H%M')" >> "$GITHUB_OUTPUT"
- name: Log in to Gitea Registry
uses: docker/login-action@v3
with:
registry: git.arnemoerman.be
username: arne
password: ${{ secrets.PAT_TOKEN }}
- name: Build and push
uses: docker/build-push-action@v6
with:
context: .
file: ./Dockerfile
push: true
tags: |
git.arnemoerman.be/arne/gmail-catchall-labeler:latest
git.arnemoerman.be/arne/gmail-catchall-labeler:${{ steps.vars.outputs.tag }}