--- # Requires _prepare.yml and _build.yml re-usable workflows to have run. name: _release concurrency: group: _release cancel-in-progress: false on: workflow_call: inputs: builder_ref: description: Git ref of build-emacs-for-macos to use type: string required: true os: description: GitHub Actions runner OS type: string required: false default: "macos-13" plan_artifact: description: Name of artifact containing a emacs-builder plan yaml file type: string required: true dmg_artifact: description: Name of artifact containing a *.dmg files to release type: string required: true jobs: github: runs-on: ${{ inputs.os }} steps: - name: Download pre-built emacs-builder artifact uses: actions/download-artifact@v4 with: name: emacs-builder-${{ runner.arch }} path: bin - name: Ensure emacs-builder is executable run: chmod +x bin/emacs-builder - name: Download build-plan.yml artifact uses: actions/download-artifact@v4 with: name: ${{ inputs.plan_artifact }} path: ./ - name: Download disk image artifacts id: dmg continue-on-error: true uses: actions/download-artifact@v4 with: name: ${{ inputs.dmg_artifact }} path: builds - name: Publish disk images to a GitHub Release if: steps.dmg.outputs.result != 'fail' run: >- bin/emacs-builder -l debug release --plan build-plan.yml publish $(find builds -name '*.dmg' -or -name '*.sha256') env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - run: echo 'No DMG artifact available, was there a new commit to build?' if: steps.dmg.outputs.result == 'fail'