diff --git a/.github/workflows/s3-trigger.yml b/.github/workflows/s3-trigger.yml new file mode 100644 index 0000000..18ec2cc --- /dev/null +++ b/.github/workflows/s3-trigger.yml @@ -0,0 +1,38 @@ +name: ⏰ Delayed Trigger for S3 Sync + +on: + push: + branches: + - docs + +permissions: write-all + +jobs: + wait-and-trigger: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + - name: 🔟 Wait for 10 seconds + run: sleep 10 + + - name: 🔀 Check for newer commits + id: check-commits + run: | + LATEST_COMMIT=$(git log -1 --format='%H') + CURRENT_COMMIT=${{ github.sha }} + if [ "$LATEST_COMMIT" != "$CURRENT_COMMIT" ]; then + echo "Newer commit found. Stopping workflow." + echo "::set-output name=abort::true" + fi + + - name: ⚡ Trigger main workflow + if: steps.check-commits.outputs.abort != 'true' + run: | + curl -L \ + -X POST \ + -H "Authorization: Bearer ${{ secrets.GITHUB_TOKEN }}" \ + -H "Accept: application/vnd.github+json" \ + -H "X-GitHub-Api-Version: 2022-11-28" \ + https://api.github.com/repos/${{ github.repository }}/actions/workflows/sync-s3-posts.yml/dispatches \ + -d "{\"ref\":\"docs\"}" +