name: Release # Two ways in: a manually pushed version tag, or a direct call from # tag-on-version-bump.yml (which fires on VERSION changes on main). The # workflow_call path exists because pushes made with the default # GITHUB_TOKEN don't trigger other workflows' `on.push` — a tag pushed by # that workflow wouldn't reach this one's `tags:` trigger on its own. on: push: tags: - "*" workflow_call: inputs: tag: required: true type: string permissions: contents: write jobs: build: runs-on: macos-latest steps: - uses: actions/checkout@v4 with: ref: ${{ inputs.tag || github.ref }} - name: Build shannoncoat.app run: ./build.sh - name: Zip app bundle run: ditto -c -k --sequesterRsrc --keepParent ".build/shannoncoat.app" "shannoncoat.app.zip" - name: Publish release uses: softprops/action-gh-release@v2 with: tag_name: ${{ inputs.tag || github.ref_name }} files: | shannoncoat.app.zip generate_release_notes: true