Skip to content

Commit 2b537bd

Browse files
docs(readme): Update swift-release docs with prerelease support and new
inputs
1 parent 9f1c649 commit 2b537bd

1 file changed

Lines changed: 13 additions & 3 deletions

File tree

README.md

Lines changed: 13 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -64,7 +64,7 @@ BuildSpace gives you two layers of CI/CD automation:
6464
| Single TypeScript / JavaScript package | [`typescript-service-release`](#typescript-service-release) | PR label `release` |
6565
| TypeScript monorepo (multiple packages) | [`typescript-monorepo-release`](#typescript-monorepo-release) | PR label `release` |
6666
| Go binary | [`go-binary-release`](#go-binary-release) | PR label `release` |
67-
| Swift macOS `.pkg` (release) | [`swift-release`](#swift-release) | PR label `release` |
67+
| Swift macOS `.pkg` (release) | [`swift-release`](#swift-release) | PR label `release` or `prerelease` |
6868
| macOS `.pkg` without binary (payload/scripts only) | [`pkg-release`](#package-release) | PR label `release` |
6969
| macOS `.pkg` PR build (no binary) | [`pkg-release-pr`](#package-pr-build) | Every PR commit |
7070
| Swift macOS `.pkg` (PR build previews) | [`swift-pkg-pr`](#swift-package-pr-build) | Every PR commit |
@@ -203,7 +203,7 @@ Control releases by adding labels to your PR before merging:
203203
| Label | Effect |
204204
|-------|--------|
205205
| `release` | Triggers a full release (GitHub Release + package publish) |
206-
| `prerelease` | Creates a prerelease with `-rc.N` suffix and `beta` npm tag |
206+
| `prerelease` | Creates a prerelease with `-rc.N` suffix. npm workflows publish with the `beta` tag; Swift creates a GitHub pre-release and skips Jamf. |
207207

208208
**No label = no release** PRs without labels merge without triggering any release jobs. You can customize your release label with the input 'labels-to-check' in the 'release.yml'.
209209

@@ -445,7 +445,7 @@ jobs:
445445

446446
**File:** `.github/workflows/swift-release.yml`
447447

448-
Complete release pipeline for macOS `.pkg` distribution packages: checks PR labels, generates version and release notes with AI, builds the Swift binary, creates a `.pkg`, creates a GitHub Release, and optionally uploads to Jamf Pro.
448+
Complete release pipeline for macOS `.pkg` distribution packages: checks PR labels, generates version and release notes with AI, builds the Swift binary, creates a `.pkg`, creates a GitHub Release, and optionally uploads stable releases to Jamf Pro. A `prerelease` label or input creates an `-rc.N` GitHub pre-release and skips Jamf upload.
449449

450450
#### Inputs
451451

@@ -454,9 +454,17 @@ Complete release pipeline for macOS `.pkg` distribution packages: checks PR labe
454454
| `package-name` | string | Yes || Name of the Swift binary / package |
455455
| `identifier` | string | Yes || Package identifier (e.g., `com.example.mytool`) |
456456
| `scripts-path` | string | No | `""` | Path to scripts directory with preinstall/postinstall scripts |
457+
| `payload-path` | string | No | `""` | Path to additional payload directory whose contents mirror the install root |
458+
| `resource-bundles` | string | No | `""` | Space-separated list of SPM resource bundle names to include in the `.pkg` |
459+
| `entitlements` | string | No | `""` | Path to entitlements plist for ad-hoc codesigning the built binary |
460+
| `private-deps` | boolean | No | `false` | Mint a GitHub App token so SwiftPM can clone private/internal org dependencies |
461+
| `labels-to-check` | string | No | `["release", "prerelease"]` | PR labels that trigger stable or prerelease releases |
462+
| `prerelease` | boolean | No | `false` | Force prerelease (adds `-rc.N`, marks GitHub release as prerelease, skips Jamf) |
463+
| `release` | boolean | No | `false` | Force stable release (bypasses label check) |
457464
| `jamf-url` | string | No | `""` | Jamf Pro instance URL (leave empty to skip Jamf upload) |
458465
| `jamf-package-priority` | string | No | `""` | Package priority in Jamf Pro |
459466
| `jamf-package-name` | string | No | `""` | Package name to match in Jamf Pro |
467+
| `use-blacksmith` | boolean | No | `false` | Use Blacksmith Linux runners for Linux jobs |
460468

461469
#### Secrets
462470

@@ -466,6 +474,8 @@ Complete release pipeline for macOS `.pkg` distribution packages: checks PR labe
466474
| `SECRET_ENV_VARS` | No | Compile-time env vars written to `.env` |
467475
| `JAMF_CLIENT_ID` | No | Jamf Pro API client ID |
468476
| `JAMF_CLIENT_SECRET` | No | Jamf Pro API client secret |
477+
| `APP_ID` | No | GitHub App ID for private SwiftPM dependencies |
478+
| `APP_PRIVATE_KEY` | No | GitHub App private key for private SwiftPM dependencies |
469479

470480
#### Example
471481

0 commit comments

Comments
 (0)