generate-manifest.yml (1.2 KB)
1 name: Generate Resource Manifest 2 3 on: 4 push: 5 branches: [ main ] 6 paths: [ 'resources/**' ] # Run when resources (including images) are added/changed 7 workflow_dispatch: # Allow manual trigger 8 9 jobs: 10 generate-manifest: 11 runs-on: ubuntu-latest 12 permissions: 13 contents: write 14 15 steps: 16 - name: Checkout repository 17 uses: actions/checkout@v4 18 with: 19 token: ${{ secrets.GITHUB_TOKEN }} 20 21 - name: Set up Python 22 uses: actions/setup-python@v4 23 with: 24 python-version: '3.x' 25 26 - name: Generate resource manifest 27 run: python resources/scripts/generate_resource_manifest.py 28 29 - name: Check for changes 30 id: verify-changed-files 31 run: | 32 if [ -n "$(git status --porcelain)" ]; then 33 echo "changed=true" >> $GITHUB_OUTPUT 34 else 35 echo "changed=false" >> $GITHUB_OUTPUT 36 fi 37 38 - name: Commit and push changes 39 if: steps.verify-changed-files.outputs.changed == 'true' 40 run: | 41 git config --local user.email "action@github.com" 42 git config --local user.name "GitHub Action" 43 git add resources/resource-manifest.json 44 git commit -m "Auto-update resource manifest [skip ci]" 45 git push