|
37 | 37 | run: | |
38 | 38 | make microbench |
39 | 39 |
|
| 40 | + linux-32bit: |
| 41 | + name: Linux 32bit (Ubuntu) |
| 42 | + runs-on: ubuntu-latest |
| 43 | + strategy: |
| 44 | + fail-fast: false |
| 45 | + steps: |
| 46 | + - uses: actions/checkout@v4 |
| 47 | + with: |
| 48 | + submodules: true |
| 49 | + - name: Install gcc-multilib |
| 50 | + run: | |
| 51 | + sudo apt install -y gcc-multilib |
| 52 | + - name: Build |
| 53 | + run: | |
| 54 | + make -j$(getconf _NPROCESSORS_ONLN) CONFIG_WERROR=y CONFIG_M32=y |
| 55 | + - name: Run built-in tests |
| 56 | + run: | |
| 57 | + make CONFIG_M32=y test |
| 58 | +
|
40 | 59 | linux-asan: |
41 | 60 | runs-on: ubuntu-latest |
42 | 61 | steps: |
@@ -142,6 +161,64 @@ jobs: |
142 | 161 | ./qjs -qd |
143 | 162 | gmake test |
144 | 163 |
|
| 164 | + cosmopolitan: |
| 165 | + name: Cosmopolitan |
| 166 | + runs-on: ubuntu-latest |
| 167 | + strategy: |
| 168 | + fail-fast: false |
| 169 | + steps: |
| 170 | + - uses: actions/checkout@v4 |
| 171 | + with: |
| 172 | + submodules: true |
| 173 | + - name: Install Cosmopolitan |
| 174 | + run: | |
| 175 | + mkdir ~/cosmocc |
| 176 | + cd ~/cosmocc |
| 177 | + wget https://cosmo.zip/pub/cosmocc/cosmocc.zip |
| 178 | + unzip cosmocc.zip |
| 179 | + echo "$HOME/cosmocc/bin" >> "$GITHUB_PATH" |
| 180 | + - name: Build |
| 181 | + run: | |
| 182 | + make CONFIG_COSMO=y |
| 183 | + - name: Run built-in tests |
| 184 | + run: | |
| 185 | + make CONFIG_COSMO=y test |
| 186 | +
|
| 187 | + windows-mingw: |
| 188 | + name: MinGW cross-compile for Windows on Linux |
| 189 | + runs-on: ubuntu-latest |
| 190 | + strategy: |
| 191 | + fail-fast: false |
| 192 | + steps: |
| 193 | + - uses: actions/checkout@v4 |
| 194 | + with: |
| 195 | + submodules: true |
| 196 | + - name: Install MinGW and Wine |
| 197 | + run: | |
| 198 | + sudo apt install -y wine mingw-w64 |
| 199 | + - name: Setup Wine |
| 200 | + run: | |
| 201 | + wine --version |
| 202 | + winecfg /v win10 |
| 203 | + # This would allow executing `make test` directly |
| 204 | + # however, GitHub Actions doesn't allow installing it |
| 205 | + #sudo apt install -y binfmt-support wine-binfmt |
| 206 | + #echo ":Wine:M::MZ::/usr/bin/wine:" > /etc/binfmt.d/wine.conf |
| 207 | + #sudo systemctl restart systemd-binfmt |
| 208 | + - name: Build |
| 209 | + run: | |
| 210 | + make CONFIG_WIN32=y |
| 211 | + - name: Run built-in tests |
| 212 | + run: | |
| 213 | + # If binfmt support worked, could just run `make CONFIG_WIN32=y test` |
| 214 | + echo "Running tests with wine" |
| 215 | + wine ./qjs.exe tests/test_closure.js |
| 216 | + wine ./qjs.exe tests/test_language.js |
| 217 | + wine ./qjs.exe --std tests/test_builtin.js |
| 218 | + wine ./qjs.exe tests/test_loop.js |
| 219 | + wine ./qjs.exe tests/test_bigint.js |
| 220 | + echo "Finished running tests with wine" |
| 221 | +
|
145 | 222 | qemu-alpine: |
146 | 223 | runs-on: ubuntu-latest |
147 | 224 |
|
|
0 commit comments