name: Create Weekly Analytics Stats on: schedule: # 03:00 UTC = 04:00 CET - cron: "0 3 * * 1" workflow_dispatch: jobs: run-analytics: runs-on: ubuntu steps: - name: Checkout repository uses: actions/checkout@v4 with: token: ${{ secrets.PUSH_TOKEN }} - name: Set up Python uses: actions/setup-python@v5 with: python-version: "3.12" - name: Install dependencies run: | python -m pip install --upgrade pip pip install requests otc-metadata - name: Run analytics for eu_de env: UMAMI_USERNAME: ${{ secrets.UMAMI_USERNAME }} UMAMI_PASSWORD: ${{ secrets.UMAMI_PASSWORD }} run: | python ./tools/collect_statistics.py \ --website-id "${{ secrets.UMAMI_WEBSITE_ID }}" \ --cloud-environment "eu_de" \ --environment "public" \ --limit "10" - name: Run analytics for swiss env: UMAMI_USERNAME: ${{ secrets.UMAMI_USERNAME }} UMAMI_PASSWORD: ${{ secrets.UMAMI_PASSWORD }} run: | python ./tools/collect_statistics.py \ --website-id "${{ secrets.UMAMI_WEBSITE_ID }}" \ --cloud-environment "swiss" \ --environment "public" \ --limit "10" - name: Commit and push results id: commit_step run: | git config --global user.name "gitea-actions[bot]" git config --global user.email "actions@users.noreply.local" git checkout -B analytics-update git add analytics/ if git diff --cached --quiet; then echo "ANALYTICS_CHANGES=false" >> $GITHUB_OUTPUT else git commit -m "chore: update analytics data" git push origin analytics-update --force echo "ANALYTICS_CHANGES=true" >> $GITHUB_OUTPUT fi - name: Create Pull Request in Gitea if: steps.commit_step.outputs.ANALYTICS_CHANGES == 'true' run: | curl -X POST \ -H "Content-Type: application/json" \ -H "Authorization: token ${{ secrets.GITEA_TOKEN }}" \ https://gitea.example/api/v1/repos/org/repo/pulls \ -d '{ "title": "chore: weekly update analytics data", "head": "analytics-update", "base": "main", "body": "Auto-Update of Analytics-data" }'