name: Update StikJIT Source on: release: types: [published] workflow_dispatch: # Add permissions block to ensure the workflow can push changes permissions: contents: write jobs: update-source: runs-on: ubuntu-latest steps: - name: Checkout repository uses: actions/checkout@v3 with: ref: main # Explicitly checkout the main branch - name: Set up Python uses: actions/setup-python@v4 with: python-version: '3.x' - name: Install dependencies run: | python -m pip install --upgrade pip pip install requests - name: Record job start time id: job_start_time run: echo "start_time=$(date +%s)" >> $GITHUB_OUTPUT - name: Update StikJIT source id: update_source env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} run: | python update_json.py git config --global user.name 'GitHub Action' git config --global user.email 'action@github.com' git add repo.json if git diff --staged --quiet; then echo "changes=false" >> $GITHUB_OUTPUT else git commit -m "Updated source with latest StikJIT release" git push origin main echo "changes=true" >> $GITHUB_OUTPUT fi - name: Calculate job duration id: duration if: always() run: | end_time=$(date +%s) duration=$((end_time - ${{ steps.job_start_time.outputs.start_time }})) echo "duration=$duration seconds" >> $GITHUB_OUTPUT - name: Create job summary run: | if [[ "${{ steps.update_source.outputs.changes }}" == "true" ]]; then echo "## Update StikJIT Source Summary 🚀" >> $GITHUB_STEP_SUMMARY echo "✅ Changes Detected and Applied" >> $GITHUB_STEP_SUMMARY echo "" >> $GITHUB_STEP_SUMMARY echo "The repo.json file has been updated with the latest release information." >> $GITHUB_STEP_SUMMARY else echo "## Update StikJIT Source Summary 🚀" >> $GITHUB_STEP_SUMMARY echo "🔍 No Changes Detected" >> $GITHUB_STEP_SUMMARY echo "" >> $GITHUB_STEP_SUMMARY echo "The repo.json file is up to date. No changes were necessary." >> $GITHUB_STEP_SUMMARY fi echo "" >> $GITHUB_STEP_SUMMARY echo "🕐 Execution Time" >> $GITHUB_STEP_SUMMARY echo "" >> $GITHUB_STEP_SUMMARY echo "This job took ${{ steps.duration.outputs.duration }} to complete." >> $GITHUB_STEP_SUMMARY echo "" >> $GITHUB_STEP_SUMMARY echo "📆 Next Scheduled Run" >> $GITHUB_STEP_SUMMARY echo "" >> $GITHUB_STEP_SUMMARY echo "The next scheduled run will be triggered when a new release is published." >> $GITHUB_STEP_SUMMARY