main
md 60 lines 1.33 KB
Rendered Raw
1 # Release process
2
3 `smbcloud-auth-swift` now ships as a source-based Swift Package.
4
5 That means the public `SmbCloudAuth` product does not need a remote XCFramework artifact to be published.
6 The package is consumable directly from the Git tag.
7
8 ## What gets released
9
10 Public products (both pure Swift):
11
12 - `AuthCore` — cross-platform headless engine
13 - `SmbCloudAuth` — Apple UI layer on top of `AuthCore`
14
15 There is no Rust/UniFFI artifact to build or publish; the package is fully
16 source-based.
17
18 ## CI validation
19
20 GitHub Actions validates release candidates with:
21
22 - `make verify`
23 - `make verify-apple-destination PLATFORM=ios`
24 - `make verify-apple-destination PLATFORM=tvos`
25 - `make verify-apple-destination PLATFORM=visionos`
26
27 That covers:
28
29 - the main Swift package build
30 - the main Swift package tests
31 - the packaged macOS example app build
32 - generic Apple destination builds for iOS, tvOS, and visionOS
33
34 ## Tagging a release
35
36 Create and push a semver tag:
37
38 ```bash
39 git tag v1.0.0
40 git push origin v1.0.0
41 ```
42
43 The release workflow will:
44
45 1. check out the tagged revision
46 2. run `make verify`
47 3. create a GitHub Release for the tag
48
49 ## Manual release dispatch
50
51 You can also run the `Release` workflow manually and provide a tag such as `v1.0.0`.
52
53 ## Local pre-release verification
54
55 Before tagging, run:
56
57 ```bash
58 make verify
59 make verify-apple-destinations
60 ```