Files
OpenMQTT-Gateway/.github/workflows/build_and_docs_to_dev.yml
T
c58ead0a35 [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>
2026-03-10 07:37:28 -05:00

62 lines
2.0 KiB
YAML

name: Build binaries, docs and publish to dev folder
on:
workflow_dispatch:
schedule:
- cron: "0 0 * * *"
jobs:
prepare:
runs-on: ubuntu-latest
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:
enable-dev-ota: true
version-tag: ${{ needs.prepare.outputs.short-sha }}
artifact-retention-days: 1
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:
mode: "dev"
version: ${{ needs.prepare.outputs.short-sha }}
url-prefix: "/dev/"
destination-dir: "dev"
run-pagespeed: true
pagespeed-url: 'https://docs.openmqttgateway.com/dev/'
secrets:
github-token: ${{ secrets.GITHUB_TOKEN }}
pagespeed-apikey: ${{ secrets.APIKEY }}