Build binaries, docs and publish to dev folder #1355
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| 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 }} |