feat(analytics-mailer): Redesign email to Umami format with 3 periods, German translation, and inline glossary
Some checks failed
Monorepo Pipeline / ⚡ Prioritize Release (push) Successful in 3s
Monorepo Pipeline / 🧹 Lint (push) Failing after 1m24s
Monorepo Pipeline / 🧪 Test (push) Successful in 41s
Monorepo Pipeline / 🏗️ Build (push) Successful in 2m4s
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
🏥 Server Maintenance / 🧹 Prune & Clean (push) Failing after 7s

This commit is contained in:
2026-07-20 14:17:07 +02:00
parent 7a9dd06fc6
commit 53ad9f23d8
11 changed files with 834 additions and 268 deletions

View File

@@ -1,13 +1,25 @@
name: Monthly Analytics Mailer
name: Analytics Mailer
on:
schedule:
- cron: '0 8 1 * *' # Run at 08:00 on the 1st of every month
workflow_dispatch: # Allow manual trigger
# 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 Monthly Reports
name: 📊 Send Analytics Reports
runs-on: docker
container:
image: catthehacker/ubuntu:act-latest
@@ -40,5 +52,18 @@ jobs:
- 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
run: pnpm --filter @mintel/analytics-mailer run start -- --interval=${{ steps.set-interval.outputs.interval }}