name: Build # See details in .github/workflows/README.md (workflow docs) run-name: "CI build for ${{ github.ref_name }}" on: [push, pull_request] jobs: determine-build-scope: runs-on: ubuntu-latest outputs: environment-set: ${{ steps.decide.outputs.environment-set }} steps: - name: Decide environment set id: decide run: | # Full build for: development, master, edge, stable, release/*, hotfix/*, and all PRs if [[ "${{ github.event_name }}" == "pull_request" ]] || \ [[ "${{ github.ref }}" == "refs/heads/development" ]] || \ [[ "${{ github.ref }}" == "refs/heads/master" ]] || \ [[ "${{ github.ref }}" == "refs/heads/edge" ]] || \ [[ "${{ github.ref }}" == "refs/heads/stable" ]] || \ [[ "${{ github.ref }}" == refs/heads/release/* ]] || \ [[ "${{ github.ref }}" == refs/heads/hotfix/* ]]; then echo "environment-set=all" >> $GITHUB_OUTPUT else echo "environment-set=ci" >> $GITHUB_OUTPUT fi build: needs: determine-build-scope name: Build firmware uses: ./.github/workflows/task-build.yml with: enable-dev-ota: true artifact-retention-days: 7 environment-set: ${{ needs.determine-build-scope.outputs.environment-set }} documentation: needs: build name: Build documentation uses: ./.github/workflows/task-docs.yml with: mode: "dev" run-pagespeed: false just-check: true