Skip to content

Daily Slack Digest

Daily Slack Digest #31

name: Daily Slack Digest
on:
schedule:
- cron: "30 8 * * 1-5"
workflow_dispatch:
inputs:
date:
description: "Digest date to replay in YYYY-MM-DD format"
required: false
type: string
preview:
description: "Generate the digest without posting to Slack"
required: false
default: false
type: boolean
jobs:
notify-slack:
runs-on: ubuntu-latest
concurrency:
group: daily-slack-digest
cancel-in-progress: false
permissions:
contents: read
env:
DIGEST_TIMEZONE: Europe/Rome
steps:
- name: Checkout repository
uses: actions/checkout@v6
with:
fetch-depth: 0
- name: Set up Python
uses: actions/setup-python@v6
with:
python-version: '3.14'
- name: Send Slack digest
env:
ANTHROPIC_API_KEY: ${{ secrets.ANTHROPIC_API_KEY }}
SLACK_WEBHOOK_URL: ${{ secrets.SLACK_WEBHOOK_URL }}
INPUT_DATE: ${{ github.event.inputs.date || '' }}
INPUT_PREVIEW: ${{ github.event.inputs.preview || 'false' }}
run: |
args=(daily --timezone "${DIGEST_TIMEZONE}")
args+=(--ref "origin/master")
if [ -n "${INPUT_DATE}" ]; then
args+=(--date "${INPUT_DATE}")
fi
if [ "${INPUT_PREVIEW}" = "true" ]; then
args+=(--preview)
fi
python3 ./src/slack-notify/notify-slack-on-merge.py "${args[@]}"