[CI] Skip nightly dev build when no changes in the last 24 hours (#2290)

The prepare job now checks for commits in the last 24 hours before
proceeding. If there are no changes, the firmware build and docs
deploy are skipped, saving CI minutes. Manual triggers always run.

Co-authored-by: Florian <1technophile@users.noreply.github.com>
Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
Florian
2026-03-10 07:37:28 -05:00
committed by GitHub
parent 883e9318cf
commit c58ead0a35

View File

@@ -11,15 +11,33 @@ jobs:
if: github.repository_owner == '1technophile'
outputs:
short-sha: ${{ steps.short-sha.outputs.sha }}
has-changes: ${{ steps.check-changes.outputs.has-changes }}
steps:
- uses: actions/checkout@v4
with:
fetch-depth: 0
- name: Check for recent changes
id: check-changes
run: |
if [ "${{ github.event_name }}" = "workflow_dispatch" ]; then
echo "has-changes=true" >> $GITHUB_OUTPUT
echo "Manual trigger, skipping change check"
elif git log --since='24 hours ago' --oneline | grep -q .; then
echo "has-changes=true" >> $GITHUB_OUTPUT
echo "Changes found in the last 24 hours"
else
echo "has-changes=false" >> $GITHUB_OUTPUT
echo "No changes in the last 24 hours, skipping build"
fi
- uses: benjlevesque/short-sha@v2.1
if: steps.check-changes.outputs.has-changes == 'true'
id: short-sha
with:
length: 6
handle-firmwares:
needs: prepare
if: needs.prepare.outputs.has-changes == 'true'
name: Build and deploy development firmwares artefacts
uses: ./.github/workflows/task-build.yml
with:
@@ -29,6 +47,7 @@ jobs:
handle-documentation:
needs: [prepare, handle-firmwares]
if: needs.prepare.outputs.has-changes == 'true'
name: Build and deploy development documentation
uses: ./.github/workflows/task-docs.yml
with: