Update JSON Data #297
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| name: Update JSON Data | |
| on: | |
| schedule: | |
| # Ejecutar todos los días a las 3:00 AM UTC | |
| - cron: '0 3 * * *' | |
| workflow_dispatch: # Permite ejecutar manualmente desde GitHub UI | |
| permissions: | |
| contents: write | |
| jobs: | |
| update-json: | |
| runs-on: ubuntu-latest | |
| steps: | |
| - name: Checkout repository | |
| uses: actions/checkout@v6 | |
| with: | |
| token: ${{ secrets.GITHUB_TOKEN }} | |
| - name: Set up Python | |
| uses: actions/setup-python@v6 | |
| with: | |
| python-version: '3.11' | |
| cache: 'pip' | |
| - name: Set up Node.js | |
| uses: actions/setup-node@v6 | |
| with: | |
| node-version: '20' | |
| cache: 'npm' | |
| cache-dependency-path: 'cli-tool/package-lock.json' | |
| - name: Install Python dependencies | |
| run: | | |
| pip install --upgrade pip | |
| pip install requests python-dotenv | |
| - name: Install Node.js dependencies | |
| run: | | |
| cd cli-tool | |
| npm ci --ignore-scripts | |
| - name: Create .env file with secrets | |
| run: | | |
| echo "SUPABASE_URL=${{ secrets.SUPABASE_URL }}" >> .env | |
| echo "SUPABASE_API_KEY=${{ secrets.SUPABASE_API_KEY }}" >> .env | |
| - name: Generate components.json | |
| run: python scripts/generate_components_json.py | |
| env: | |
| SUPABASE_URL: ${{ secrets.SUPABASE_URL }} | |
| SUPABASE_API_KEY: ${{ secrets.SUPABASE_API_KEY }} | |
| - name: Generate trending-data.json | |
| run: python scripts/generate_trending_data.py | |
| env: | |
| SUPABASE_URL: ${{ secrets.SUPABASE_URL }} | |
| SUPABASE_API_KEY: ${{ secrets.SUPABASE_API_KEY }} | |
| - name: Generate claude-jobs.json | |
| run: python scripts/generate_claude_jobs.py | |
| - name: Copy data to dashboard | |
| run: | | |
| cp docs/claude-jobs.json dashboard/public/claude-jobs.json | |
| - name: Check for changes | |
| id: check_changes | |
| run: | | |
| git diff --quiet docs/components.json docs/trending-data.json docs/claude-jobs.json dashboard/public/claude-jobs.json || echo "changed=true" >> $GITHUB_OUTPUT | |
| - name: Commit and push changes | |
| if: steps.check_changes.outputs.changed == 'true' | |
| run: | | |
| git config --local user.email "github-actions[bot]@users.noreply.github.com" | |
| git config --local user.name "github-actions[bot]" | |
| git add docs/components.json docs/trending-data.json docs/claude-jobs.json dashboard/public/claude-jobs.json | |
| git commit -m "chore: Update components and trending data | |
| 🤖 Generated with [GitHub Actions](https://github.com/${{ github.repository }}/actions/runs/${{ github.run_id }})" | |
| git push |