@@ -34,12 +34,11 @@ jobs:
3434 go build -buildmode=c-shared -ldflags="-s -w" -o ../build/messagix.so .
3535 - name : Rename asset
3636 run : mv build/messagix.so messagix-linux-x64-gnu.so
37- - name : Upload release asset
38- uses : softprops/action-gh-release@v2
37+ - name : Upload artifact
38+ uses : actions/upload-artifact@v4
3939 with :
40- files : messagix-linux-x64-gnu.so
41- token : ${{ secrets.GITHUB_TOKEN }}
42- tag_name : ${{ github.ref_name }}
40+ name : messagix-linux-x64-gnu
41+ path : messagix-linux-x64-gnu.so
4342
4443 linux-musl-x64 :
4544 runs-on : ubuntu-latest
@@ -66,12 +65,11 @@ jobs:
6665 go build -buildmode=c-shared -ldflags="-s -w" -buildvcs=false -o ../build/messagix.so .
6766 - name : Rename asset
6867 run : mv build/messagix.so messagix-linux-x64-musl.so
69- - name : Upload release asset
70- uses : softprops/action-gh-release@v2
68+ - name : Upload artifact
69+ uses : actions/upload-artifact@v4
7170 with :
72- files : messagix-linux-x64-musl.so
73- token : ${{ secrets.GITHUB_TOKEN }}
74- tag_name : ${{ github.ref_name }}
71+ name : messagix-linux-x64-musl
72+ path : messagix-linux-x64-musl.so
7573
7674 linux-gnu-arm64 :
7775 runs-on : ubuntu-24.04-arm
@@ -96,12 +94,11 @@ jobs:
9694 go build -buildmode=c-shared -ldflags="-s -w" -o ../build/messagix.so .
9795 - name : Rename asset
9896 run : mv build/messagix.so messagix-linux-arm64-gnu.so
99- - name : Upload release asset
100- uses : softprops/action-gh-release@v2
97+ - name : Upload artifact
98+ uses : actions/upload-artifact@v4
10199 with :
102- files : messagix-linux-arm64-gnu.so
103- token : ${{ secrets.GITHUB_TOKEN }}
104- tag_name : ${{ github.ref_name }}
100+ name : messagix-linux-arm64-gnu
101+ path : messagix-linux-arm64-gnu.so
105102
106103 macos-x64 :
107104 runs-on : macos-15-intel
@@ -124,12 +121,11 @@ jobs:
124121 go build -buildmode=c-shared -ldflags="-s -w" -o ../build/messagix.dylib .
125122 - name : Rename asset
126123 run : mv build/messagix.dylib messagix-darwin-x64.dylib
127- - name : Upload release asset
128- uses : softprops/action-gh-release@v2
124+ - name : Upload artifact
125+ uses : actions/upload-artifact@v4
129126 with :
130- files : messagix-darwin-x64.dylib
131- token : ${{ secrets.GITHUB_TOKEN }}
132- tag_name : ${{ github.ref_name }}
127+ name : messagix-darwin-x64
128+ path : messagix-darwin-x64.dylib
133129
134130 macos-arm64 :
135131 runs-on : macos-latest
@@ -152,12 +148,11 @@ jobs:
152148 go build -buildmode=c-shared -ldflags="-s -w" -o ../build/messagix.dylib .
153149 - name : Rename asset
154150 run : mv build/messagix.dylib messagix-darwin-arm64.dylib
155- - name : Upload release asset
156- uses : softprops/action-gh-release@v2
151+ - name : Upload artifact
152+ uses : actions/upload-artifact@v4
157153 with :
158- files : messagix-darwin-arm64.dylib
159- token : ${{ secrets.GITHUB_TOKEN }}
160- tag_name : ${{ github.ref_name }}
154+ name : messagix-darwin-arm64
155+ path : messagix-darwin-arm64.dylib
161156
162157 windows-x64 :
163158 runs-on : windows-latest
@@ -191,15 +186,14 @@ jobs:
191186 - name : Rename asset
192187 shell : bash
193188 run : mv build/messagix.dll messagix-win32-x64.dll
194- - name : Upload release asset
195- uses : softprops/action-gh-release@v2
189+ - name : Upload artifact
190+ uses : actions/upload-artifact@v4
196191 with :
197- files : messagix-win32-x64.dll
198- token : ${{ secrets.GITHUB_TOKEN }}
199- tag_name : ${{ github.ref_name }}
192+ name : messagix-win32-x64
193+ path : messagix-win32-x64.dll
200194
201- # Publish to NPM after all native builds complete
202- publish-npm :
195+ # Create GitHub Release with all assets
196+ create-release :
203197 runs-on : ubuntu-latest
204198 needs :
205199 - linux-gnu-x64
@@ -208,6 +202,29 @@ jobs:
208202 - macos-x64
209203 - macos-arm64
210204 - windows-x64
205+ steps :
206+ - name : Download all artifacts
207+ uses : actions/download-artifact@v4
208+ with :
209+ path : artifacts
210+
211+ - name : Flatten artifacts
212+ run : |
213+ mkdir -p release
214+ find artifacts -type f \( -name "*.so" -o -name "*.dylib" -o -name "*.dll" \) -exec mv {} release/ \;
215+ ls -la release/
216+
217+ - name : Create GitHub Release
218+ uses : softprops/action-gh-release@v2
219+ with :
220+ files : release/*
221+ token : ${{ secrets.GITHUB_TOKEN }}
222+ tag_name : ${{ github.ref_name }}
223+
224+ # Publish to NPM after release is created
225+ publish-npm :
226+ runs-on : ubuntu-latest
227+ needs : create-release
211228 steps :
212229 - name : Checkout repository
213230 uses : actions/checkout@v4
0 commit comments