main
yml 69 lines 1.73 KB
Raw
1 name: Release
2
3 on:
4 push:
5 tags:
6 - "v[0-9]+.[0-9]+.[0-9]+"
7
8 permissions:
9 contents: write
10
11 jobs:
12 validate:
13 name: Validate package
14 runs-on: macos-26
15 steps:
16 - uses: actions/checkout@v6
17
18 - name: Resolve dependencies
19 run: swift package resolve
20
21 - name: Build for macOS
22 run: swift build
23
24 - name: Build for iOS
25 run: >
26 xcodebuild build
27 -scheme Ed
28 -destination 'generic/platform=iOS'
29 -skipPackagePluginValidation
30 -skipMacroValidation
31
32 release:
33 name: Create GitHub Release
34 needs: validate
35 runs-on: ubuntu-latest
36 steps:
37 - uses: actions/checkout@v6
38
39 # Ed tags carry a `v` prefix, which SwiftPM's `from:` does not accept.
40 - id: version
41 run: echo "version=${GITHUB_REF_NAME#v}" >> "$GITHUB_OUTPUT"
42
43 - name: Create GitHub Release
44 uses: softprops/action-gh-release@v2
45 with:
46 name: ${{ github.ref_name }}
47 body: |
48 ## Ed Swift SDK ${{ github.ref_name }}
49
50 ### Installation
51
52 Add Ed to your `Package.swift` dependencies:
53
54 ```swift
55 .package(url: "https://github.com/ondeinference/ed-swift.git", from: "${{ steps.version.outputs.version }}")
56 ```
57
58 ### Platforms
59
60 | Platform | Minimum Version |
61 |----------|----------------|
62 | iOS | 16.0 |
63 | macOS | 14.0 |
64 | tvOS | 16.0 |
65 | visionOS | 1.0 |
66
67 ### What's Changed
68
69 See the full changelog in the [Ed ${{ github.ref_name }}](https://github.com/ondeinference/ed/releases/tag/${{ github.ref_name }}) release.