Skip to content

Commit 992c40c

Browse files
committed
Creates a new release workflow
1 parent 861a8a5 commit 992c40c

1 file changed

Lines changed: 58 additions & 0 deletions

File tree

.github/workflows/release.yml

Lines changed: 58 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,58 @@
1+
name: Release
2+
3+
on:
4+
push:
5+
tags:
6+
- "*.*.*"
7+
8+
concurrency:
9+
group: ${{ github.workflow }}-${{ github.head_ref || github.ref }}
10+
cancel-in-progress: true
11+
12+
env:
13+
DEVELOPER_DIR: /Applications/Xcode_15.2.app/Contents/Developer
14+
15+
jobs:
16+
test_apple_platforms:
17+
name: Test on iOS and macOS
18+
runs-on: macOS-13
19+
strategy:
20+
matrix:
21+
destination:
22+
- "platform=macOS"
23+
- "platform=iOS Simulator,name=iPhone 12"
24+
25+
steps:
26+
- uses: actions/checkout@v4
27+
- name: Test platform ${{ matrix.destination }}
28+
run: set -o pipefail && xcodebuild -scheme XcodeCloudKit -destination "${{ matrix.destination }}" test | xcbeautify
29+
30+
test_linux:
31+
name: Test Linux
32+
runs-on: ubuntu-latest
33+
steps:
34+
- name: Checkout
35+
uses: actions/checkout@v4
36+
- name: Install swiftly
37+
run: curl -L https://swift-server.github.io/swiftly/swiftly-install.sh | bash -s -- -y
38+
- name: Install the latest Swift toolchain
39+
run: swiftly install latest
40+
- name: Test
41+
run: swift test
42+
43+
release:
44+
needs: [test_apple_platforms, test_linux]
45+
name: Create a new GitHub release
46+
runs-on: ubuntu-latest
47+
steps:
48+
- name: Checkout
49+
uses: actions/checkout@v4
50+
- name: woke
51+
uses: get-woke/woke-action@v0
52+
with:
53+
fail-on-error: true
54+
- name: Release
55+
uses: softprops/action-gh-release@v2
56+
with:
57+
generate_release_notes: true
58+
token: ${{ secrets.GITHUB_TOKEN }}

0 commit comments

Comments
 (0)