@@ -3,8 +3,41 @@ name: "binaries"
33on : [push]
44
55jobs :
6+ generate-headers :
7+ runs-on : ubuntu-latest
8+ steps :
9+ - uses : actions/checkout@master
10+
11+ - uses : leafo/gh-actions-lua@master
12+ with :
13+ luaVersion : " 5.1"
14+
15+ - uses : leafo/gh-actions-luarocks@master
16+
17+ - name : Install dependencies
18+ run : |
19+ luarocks install argparse
20+ luarocks make
21+
22+ - name : Generate moonscript.h
23+ run : |
24+ bin/splat.moon -l moonscript moonscript moon > moonscript.lua
25+ xxd -i moonscript.lua > bin/binaries/moonscript.h
26+
27+ - name : Generate moon.h
28+ run : |
29+ awk 'FNR>1' bin/moon > moon.lua
30+ xxd -i moon.lua > bin/binaries/moon.h
31+
32+ - name : Upload headers
33+ uses : actions/upload-artifact@v6
34+ with :
35+ name : generated-headers
36+ path : bin/binaries/*.h
37+
638 linux :
739 runs-on : ubuntu-latest
40+ needs : generate-headers
841
942 strategy :
1043 matrix :
1346 steps :
1447 - uses : actions/checkout@master
1548
49+ - name : Download headers
50+ uses : actions/download-artifact@v4
51+ with :
52+ name : generated-headers
53+ path : bin/binaries/
54+
1655 - name : Show GCC
1756 run : gcc -v
1857
3574 - name : Build
3675 run : |
3776 mkdir -p dist
38- gcc -static -o dist/moon -Ilua-${{ matrix.lua_version }}/src/ bin/binaries/moon.c lpeg-1.0.2/lpvm.c lpeg-1.0.2/lpcap.c lpeg-1.0.2/lptree.c lpeg-1.0.2/lpcode.c lpeg-1.0.2/lpprint.c lua-${{ matrix.lua_version }}/src/liblua.a -lm -ldl
77+ gcc -static -o dist/moon \
78+ -Ilua-${{ matrix.lua_version }}/src/ \
79+ -Ilpeg-1.0.2/ \
80+ -Ibin/binaries/ \
81+ bin/binaries/moon.c \
82+ bin/binaries/moonscript.c \
83+ lpeg-1.0.2/lpvm.c \
84+ lpeg-1.0.2/lpcap.c \
85+ lpeg-1.0.2/lptree.c \
86+ lpeg-1.0.2/lpcode.c \
87+ lpeg-1.0.2/lpprint.c \
88+ lua-${{ matrix.lua_version }}/src/liblua.a \
89+ -lm -ldl
3990
4091 - name : Test run
4192 run : |
50101
51102 windows :
52103 runs-on : windows-latest
104+ needs : generate-headers
53105
54106 strategy :
55107 matrix :
@@ -62,6 +114,12 @@ jobs:
62114 steps :
63115 - uses : actions/checkout@master
64116
117+ - name : Download headers
118+ uses : actions/download-artifact@v4
119+ with :
120+ name : generated-headers
121+ path : bin/binaries/
122+
65123 - uses : msys2/setup-msys2@v2
66124 with :
67125 install : gcc make curl
@@ -88,7 +146,19 @@ jobs:
88146 - name : Build
89147 run : |
90148 mkdir -p dist
91- gcc -static -o dist/moon.exe -Ilua-${{ matrix.lua_version }}/src/ bin/binaries/moon.c lpeg-1.0.2/lpvm.c lpeg-1.0.2/lpcap.c lpeg-1.0.2/lptree.c lpeg-1.0.2/lpcode.c lpeg-1.0.2/lpprint.c lua-${{ matrix.lua_version }}/src/liblua.a -lm
149+ gcc -static -o dist/moon.exe \
150+ -Ilua-${{ matrix.lua_version }}/src/ \
151+ -Ilpeg-1.0.2/ \
152+ -Ibin/binaries/ \
153+ bin/binaries/moon.c \
154+ bin/binaries/moonscript.c \
155+ lpeg-1.0.2/lpvm.c \
156+ lpeg-1.0.2/lpcap.c \
157+ lpeg-1.0.2/lptree.c \
158+ lpeg-1.0.2/lpcode.c \
159+ lpeg-1.0.2/lpprint.c \
160+ lua-${{ matrix.lua_version }}/src/liblua.a \
161+ -lm
92162
93163 - name : Test run
94164 run : |
0 commit comments