Skip to content

Commit 3a90345

Browse files
Initial take on CI for emscripten.
This uses GitHub actions and installs the Emscripten SDK's latest version and activates it. At some point, this should probably change to a fixed version that is periodically incremented once some baseline support level is determined. This is just compiling and running what's needed for `amsss` for now until other pieces are in place for building and running more of everything.
1 parent 3e4f95c commit 3a90345

File tree

2 files changed

+32
-0
lines changed

2 files changed

+32
-0
lines changed

.github/workflows/build-and-test.yml

Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -66,6 +66,35 @@ jobs:
6666
nmake /f w3i6mv.nmk all testci testansi testpollnone
6767
shell: cmd
6868
69+
emscripten:
70+
71+
runs-on: ubuntu-latest
72+
73+
steps:
74+
- uses: actions/checkout@v3
75+
- name: emsdk
76+
run: |
77+
git clone https://github.com/emscripten-core/emsdk.git
78+
cd emsdk
79+
./emsdk install latest
80+
./emsdk activate latest
81+
- name: build via emscripten
82+
run: |
83+
source emsdk/emsdk_env.sh
84+
mkdir build
85+
cd build
86+
emcc -I../code -o mps.o -c ../code/mps.c
87+
emcc -Icode -o testlib.o -c code/testlib.c
88+
emcc -Icode -o fmtdy.o -c code/fmtdy.c
89+
emcc -Icode -o fmtdytst.o -c code/fmtdytst.c
90+
emcc -Icode -o amsss.o -c code/amsss.c
91+
emcc -o amsss amsss.o mps.o testlib.o fmtdy.o fmtdytst.o
92+
- name: test via node
93+
run: |
94+
source emsdk/emsdk_env.sh
95+
cd build
96+
node ./amsss
97+
6998
7099
# A. REFERENCES
71100
#

design/tests.txt

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -311,6 +311,9 @@ least::
311311

312312
as defined by the `.ci.github.config`_.
313313

314+
_`.ci.run.emscripten`: On Windows, the CI services run commands to install
315+
the Emscripten SDK and then perform some basic builds with it.
316+
314317
_`.ci.run.other.targets`: On some platforms we arrange to run the testansi,
315318
testpollnone, testratio, and testscheme targets. [Need to explain
316319
why, where, etc. RB 2023-01-15]

0 commit comments

Comments
 (0)