-
Notifications
You must be signed in to change notification settings - Fork 35
89 lines (73 loc) · 2.46 KB
/
release.yml
File metadata and controls
89 lines (73 loc) · 2.46 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
name: Build and Release Macro Plugin
on:
release:
types: [published]
jobs:
build-arm64:
name: Build arm64
runs-on: macos-15
steps:
- name: Git Checkout
uses: actions/checkout@v4
- name: Build arm64 macro plugin
run: |
swift build -c release --product ReerCodableMacros
cp .build/release/ReerCodableMacros-tool ./ReerCodableMacros-arm64
file ./ReerCodableMacros-arm64
- name: Upload arm64 artifact
uses: actions/upload-artifact@v4
with:
name: macro-plugin-arm64
path: ReerCodableMacros-arm64
build-x86_64:
name: Build x86_64
runs-on: macos-15-intel
steps:
- name: Git Checkout
uses: actions/checkout@v4
- name: Build x86_64 macro plugin
run: |
swift build -c release --product ReerCodableMacros
cp .build/release/ReerCodableMacros-tool ./ReerCodableMacros-x86_64
file ./ReerCodableMacros-x86_64
- name: Upload x86_64 artifact
uses: actions/upload-artifact@v4
with:
name: macro-plugin-x86_64
path: ReerCodableMacros-x86_64
create-universal-and-upload:
name: Create Universal Macro Plugin and Upload
needs: [build-arm64, build-x86_64]
runs-on: macos-15
permissions:
contents: write
steps:
- name: Git Checkout
uses: actions/checkout@v4
- name: Download arm64 artifact
uses: actions/download-artifact@v4
with:
name: macro-plugin-arm64
path: ./artifacts
- name: Download x86_64 artifact
uses: actions/download-artifact@v4
with:
name: macro-plugin-x86_64
path: ./artifacts
- name: Create Universal Macro Plugin
run: |
cd artifacts
# Create Universal Macro Plugin
lipo -create ReerCodableMacros-arm64 ReerCodableMacros-x86_64 \
-output ReerCodableMacros
echo "=== Universal Macro Plugin Info ==="
lipo -info ReerCodableMacros
file ReerCodableMacros
# Create zip archive
zip ReerCodableMacros.zip ReerCodableMacros
echo "=== Zip Contents ==="
unzip -l ReerCodableMacros.zip
- name: Upload to GitHub Release
uses: softprops/action-gh-release@v2
with:
files: artifacts/ReerCodableMacros.zip