Files
at-mintel/.gitea/workflows/analytics-mailer.yml
Marc Mintel b6e8628970
Some checks failed
Monorepo Pipeline / ⚡ Prioritize Release (push) Successful in 3s
Monorepo Pipeline / 🧹 Lint (push) Failing after 1m23s
Monorepo Pipeline / 🧪 Test (push) Successful in 40s
Monorepo Pipeline / 🏗️ Build (push) Successful in 2m7s
Monorepo Pipeline / 🚀 Release (push) Has been skipped
Monorepo Pipeline / 🐳 Build Gatekeeper (Product) (push) Has been skipped
Monorepo Pipeline / 🐳 Build Build-Base (push) Has been skipped
Monorepo Pipeline / 🐳 Build Production Runtime (push) Has been skipped
feat(analytics-mailer): replace mailgun with stalwart smtp
2026-07-21 10:46:51 +02:00

72 lines
2.2 KiB
YAML

name: Analytics Mailer
on:
schedule:
# Run weekly on Monday at 08:00 UTC
- cron: '0 8 * * 1'
# Run monthly on the 1st day of the month at 08:30 UTC
- cron: '30 8 1 * *'
workflow_dispatch:
inputs:
interval:
description: 'Interval to run (weekly or monthly)'
required: true
default: 'weekly'
type: choice
options:
- weekly
- monthly
jobs:
send-reports:
name: 📊 Send Analytics Reports
runs-on: docker
container:
image: catthehacker/ubuntu:act-latest
env:
NPM_TOKEN: ${{ secrets.NPM_TOKEN }}
UMAMI_BASE_URL: ${{ secrets.UMAMI_BASE_URL }}
UMAMI_USERNAME: ${{ secrets.UMAMI_USERNAME }}
UMAMI_PASSWORD: ${{ secrets.UMAMI_PASSWORD }}
SMTP_HOST: ${{ secrets.SMTP_HOST }}
SMTP_PORT: ${{ secrets.SMTP_PORT }}
SMTP_USER: ${{ secrets.SMTP_USER }}
SMTP_PASS: ${{ secrets.SMTP_PASS }}
SMTP_SENDER: ${{ secrets.SMTP_SENDER }}
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Set up Node.js
uses: actions/setup-node@v4
with:
node_version: 20
- name: Enable pnpm
run: corepack enable && corepack prepare pnpm@10.2.0 --activate
- name: Install dependencies
run: pnpm install --frozen-lockfile --prefer-offline --ignore-scripts --no-color
- name: Build mail templates
run: pnpm --filter @mintel/mail build
- name: Build analytics mailer
run: pnpm --filter @mintel/analytics-mailer build
- name: Determine Interval
id: set-interval
run: |
if [ "${{ github.event_name }}" = "schedule" ]; then
if [ "${{ github.event.schedule }}" = "0 8 * * 1" ]; then
echo "interval=weekly" >> $GITHUB_OUTPUT
else
echo "interval=monthly" >> $GITHUB_OUTPUT
fi
else
echo "interval=${{ github.event.inputs.interval }}" >> $GITHUB_OUTPUT
fi
- name: Run Analytics Mailer
run: pnpm --filter @mintel/analytics-mailer run start -- --interval=${{ steps.set-interval.outputs.interval }}