name: Auto Update .app-files on: push: branches: - main paths: - 'ct/**.sh' workflow_dispatch: jobs: update-app-files: runs-on: ubuntu-latest permissions: contents: write pull-requests: write steps: # Step 1: Checkout repository - name: Checkout repository uses: actions/checkout@v2 # Step 2: Disable file mode changes detection - name: Disable file mode changes run: git config core.fileMode false # Step 3: Set up Git user for committing changes - name: Set up Git run: | git config --global user.name "GitHub Actions" git config --global user.email "github-actions[bot]@users.noreply.github.com" # Step 4: Install figlet - name: Install figlet run: sudo apt-get install -y figlet # Step 5: Run the updated generate-app-files.sh script - name: Run generate-app-files.sh run: | chmod +x .github/workflows/scripts/generate-app-headers.sh .github/workflows/scripts/generate-app-headers.sh env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} # Step 6: Check if there are any changes - name: Check if there are any changes run: | echo "Checking for changes..." git add -A # Untracked Dateien aufnehmen git status if git diff --cached --quiet; then echo "No changes detected." echo "changed=false" >> "$GITHUB_ENV" else echo "Changes detected:" git diff --stat --cached echo "changed=true" >> "$GITHUB_ENV" fi # Step 7: Commit and create PR if changes exist - name: Commit and create PR if changes exist if: env.changed == 'true' run: | git commit -m "Update .app files" git checkout -b pr-update-app-files git push origin pr-update-app-files --force gh pr create --title "[core] update .app files" \ --body "This PR is auto-generated by a GitHub Action to update the .app files." \ --head pr-update-app-files \ --base main \ --label "automated pr" env: GH_TOKEN: ${{ secrets.GITHUB_TOKEN }} # Step 8: Output success message when no changes - name: No changes detected if: env.changed == 'false' run: echo "No changes to commit. Workflow completed successfully."