11name : Build Haxe Language Server Binaries
22
33on :
4- push :
5- branches : [main, master]
6- pull_request :
7- branches : [main, master]
84 workflow_dispatch :
95
106jobs :
@@ -27,28 +23,24 @@ jobs:
2723 with :
2824 node-version : ' 22'
2925
30- - name : Install dependencies
31- run : npm install
32-
3326 - name : Install pkg
3427 run : npm install -g pkg
3528
36- # ── Windows ────────────────────────────────────────────────────────────
3729 - name : Build binaries (Windows)
3830 if : runner.os == 'Windows'
3931 shell : bash
4032 run : |
4133 mkdir -p bin/win
42- pkg language-servers/haxe/server.js --targets node22-win-x64 --output bin/win/haxe-language-server-x64
43- pkg language-servers/haxe/server.js --targets node22-win-arm64 --output bin/win/haxe-language-server-arm64
34+ pkg language-servers/haxe/server.js --targets node22-win-x64 --output bin/win/haxe-language-server-x64
35+ pkg language-servers/haxe/server.js --targets node22-win-arm64 --output bin/win/haxe-language-server-arm64
4436
4537 - name : Zip artifacts (Windows)
4638 if : runner.os == 'Windows'
4739 shell : bash
4840 run : |
4941 cd bin/win
50- 7z a haxe-language-server-win-x64.zip haxe-language-server-x64.exe
51- 7z a haxe-language-server-win-arm64.zip haxe-language-server-arm64.exe
42+ 7z a haxe-language-server-win-x64.zip haxe-language-server-x64.exe
43+ 7z a haxe-language-server-win-arm64.zip haxe-language-server-arm64.exe
5244
5345 - name : Upload Windows x64
5446 if : runner.os == 'Windows'
@@ -64,22 +56,21 @@ jobs:
6456 name : haxe-language-server-win-arm64
6557 path : bin/win/haxe-language-server-win-arm64.zip
6658
67- # ── Linux ──────────────────────────────────────────────────────────────
6859 - name : Build binaries (Linux)
6960 if : runner.os == 'Linux'
7061 run : |
7162 mkdir -p bin/linux
72- pkg language-servers/haxe/server.js --targets node22-linuxstatic-x64 --output bin/linux/haxe-language-server-x64
73- pkg language-servers/haxe/server.js --targets node22-linuxstatic-arm64 --output bin/linux/haxe-language-server-arm64
74- pkg language-servers/haxe/server.js --targets node22 -linuxstatic-armv7 --output bin/linux/haxe-language-server-armv7
63+ pkg language-servers/haxe/server.js --targets node22-linuxstatic-x64 --output bin/linux/haxe-language-server-x64
64+ pkg language-servers/haxe/server.js --targets node22-linuxstatic-arm64 --output bin/linux/haxe-language-server-arm64
65+ pkg language-servers/haxe/server.js --targets node20 -linuxstatic-armv7 --output bin/linux/haxe-language-server-armv7
7566
7667 - name : Zip artifacts (Linux)
7768 if : runner.os == 'Linux'
7869 run : |
7970 cd bin/linux
80- zip haxe-language-server-linux-x64.zip haxe-language-server-x64
81- zip haxe-language-server-linux-arm64.zip haxe-language-server-arm64
82- zip haxe-language-server-linux-armv7.zip haxe-language-server-armv7
71+ zip haxe-language-server-linux-x64.zip haxe-language-server-x64
72+ zip haxe-language-server-linux-arm64.zip haxe-language-server-arm64
73+ zip haxe-language-server-linux-armv7.zip haxe-language-server-armv7
8374
8475 - name : Upload Linux x64
8576 if : runner.os == 'Linux'
@@ -102,13 +93,12 @@ jobs:
10293 name : haxe-language-server-linux-armv7
10394 path : bin/linux/haxe-language-server-linux-armv7.zip
10495
105- # ── macOS ──────────────────────────────────────────────────────────────
10696 - name : Build binaries (macOS)
10797 if : runner.os == 'macOS'
10898 run : |
10999 mkdir -p bin/mac
110- pkg language-servers/haxe/server.js --targets node22-macos-x64 --output bin/mac/haxe-language-server-x64
111- pkg language-servers/haxe/server.js --targets node22-macos-arm64 --output bin/mac/haxe-language-server-arm64
100+ pkg language-servers/haxe/server.js --targets node22-macos-x64 --output bin/mac/haxe-language-server-x64
101+ pkg language-servers/haxe/server.js --targets node22-macos-arm64 --output bin/mac/haxe-language-server-arm64
112102
113103 - name : Zip artifacts (macOS)
114104 if : runner.os == 'macOS'
@@ -131,49 +121,42 @@ jobs:
131121 name : haxe-language-server-mac-arm64
132122 path : bin/mac/haxe-language-server-mac-arm64.zip
133123
134- # ── Collect & commit ────────────────────────────────────────────────────────
135124 commit :
136125 name : Collect and commit binaries
137126 runs-on : ubuntu-latest
138127 needs : build
139- # Only push on real commits to the default branch, not on PRs
140- if : github.event_name != 'pull_request'
141128
142129 steps :
143130 - name : Checkout repository with submodules
144131 uses : actions/checkout@v4
145132 with :
146133 submodules : recursive
147- # Use a token with write access so the push is accepted
148134 token : ${{ secrets.GITHUB_TOKEN }}
149135
150- # Download every artifact produced by the matrix
151136 - name : Download all artifacts
152137 uses : actions/download-artifact@v4
153138 with :
154139 path : artifacts/
155140
156- # Unzip each archive into the correct bin/ sub-folder
157141 - name : Unzip Windows artifacts
158142 run : |
159143 mkdir -p bin/win
160- unzip -o artifacts/haxe-language-server-win-x64/haxe-language-server-win-x64.zip -d bin/win/
144+ unzip -o artifacts/haxe-language-server-win-x64/haxe-language-server-win-x64.zip -d bin/win/
161145 unzip -o artifacts/haxe-language-server-win-arm64/haxe-language-server-win-arm64.zip -d bin/win/
162146
163147 - name : Unzip Linux artifacts
164148 run : |
165149 mkdir -p bin/linux
166- unzip -o artifacts/haxe-language-server-linux-x64/haxe-language-server-linux-x64.zip -d bin/linux/
167- unzip -o artifacts/haxe-language-server-linux-arm64/haxe-language-server-linux-arm64.zip -d bin/linux/
168- unzip -o artifacts/haxe-language-server-linux-armv7/haxe-language-server-linux-armv7.zip -d bin/linux/
150+ unzip -o artifacts/haxe-language-server-linux-x64/haxe-language-server-linux-x64.zip -d bin/linux/
151+ unzip -o artifacts/haxe-language-server-linux-arm64/haxe-language-server-linux-arm64.zip -d bin/linux/
152+ unzip -o artifacts/haxe-language-server-linux-armv7/haxe-language-server-linux-armv7.zip -d bin/linux/
169153
170154 - name : Unzip macOS artifacts
171155 run : |
172156 mkdir -p bin/mac
173- unzip -o artifacts/haxe-language-server-mac-x64/haxe-language-server-mac-x64.zip -d bin/mac/
157+ unzip -o artifacts/haxe-language-server-mac-x64/haxe-language-server-mac-x64.zip -d bin/mac/
174158 unzip -o artifacts/haxe-language-server-mac-arm64/haxe-language-server-mac-arm64.zip -d bin/mac/
175159
176- # Make Linux/macOS binaries executable after unzipping
177160 - name : Restore executable permissions
178161 run : |
179162 chmod +x bin/linux/haxe-language-server-x64 \
@@ -184,7 +167,7 @@ jobs:
184167
185168 - name : Commit and push binaries
186169 run : |
187- git config user.name "github-actions[bot]"
170+ git config user.name "github-actions[bot]"
188171 git config user.email "github-actions[bot]@users.noreply.github.com"
189172 git add bin/
190173 # Only commit if there is something new
0 commit comments