name: Track Relay Count Changes on: # Run after the "Update Relay Data" workflow completes workflow_run: workflows: ["Update Relay Data"] types: - completed # Also allow manual triggering workflow_dispatch: permissions: contents: write jobs: track-relay-count: runs-on: ubuntu-latest if: ${{ github.event.workflow_run.conclusion == 'success' || github.event_name == 'workflow_dispatch' }} steps: - name: Checkout repository uses: actions/checkout@v4 with: fetch-depth: 100 # Need deeper history to check previous commits (70+ days) - name: Set up Python uses: actions/setup-python@v5 with: python-version: '3.x' - name: Install Python dependencies run: | python -m pip install --upgrade pip # Check if requirements.txt includes matplotlib, pandas, numpy if ! grep -q "matplotlib\|pandas\|numpy" requirements.txt; then # If not, install them directly pip install matplotlib pandas numpy else # Otherwise use the requirements file pip install -r requirements.txt fi - name: Track relay count changes run: | mkdir -p assets # Execute the script python scripts/track_relay_counts.py - name: Check for changes id: git-check run: | git add assets/bitchat_relay_count_chart.png assets/total_relay_count_chart.png git diff --staged --exit-code || echo "changes=true" >> $GITHUB_OUTPUT - name: Commit and push changes if: steps.git-check.outputs.changes == 'true' run: | git config --local user.email "action@github.com" git config --local user.name "GitHub Action" git commit -m "Update relay count charts - $(date -u)" git push env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}