Build examples on CMake #201
Workflow file for this run
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: ci | |
on: | |
pull_request: | |
paths: | |
- '**' | |
- '!.gitignore' | |
- '!LICENSE' | |
- '!TODO' | |
- '!doc/**' | |
- '!examples/**' | |
- '.github/workflows/ci.yml' | |
push: | |
branches: | |
- master | |
jobs: | |
linux: | |
runs-on: ubuntu-latest | |
strategy: | |
fail-fast: false | |
matrix: | |
buildType: [Debug, Release] | |
steps: | |
- uses: actions/checkout@v3 | |
with: | |
submodules: true | |
- name: build | |
run: | | |
mkdir build | |
cd build | |
cmake -DCMAKE_BUILD_TYPE=${{matrix.buildType}} .. | |
cd .. | |
cmake --build build -j$(getconf _NPROCESSORS_ONLN) | |
- name: stats | |
run: | | |
./build/qjs -qd | |
- name: test | |
run: | | |
./build/qjs tests/test_bigint.js | |
./build/qjs tests/test_closure.js | |
./build/qjs tests/test_language.js | |
./build/qjs tests/test_builtin.js | |
./build/qjs tests/test_loop.js | |
./build/qjs tests/test_std.js | |
./build/qjs tests/test_worker.js | |
- name: test 262 | |
if: ${{ matrix.buildType == 'Release' }} | |
run: | | |
time ./build/run-test262 -m -c test262.conf -a | |
linux-examples: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v3 | |
- name: Setup GCC | |
uses: pkgxdev/setup@v1 | |
with: | |
+: gcc@13 | |
- name: build | |
run: | | |
mkdir build | |
cd build | |
cmake -DBUILD_EXAMPLES=ON -DCMAKE_VERBOSE_MAKEFILE=ON .. | |
cd .. | |
cmake --build build -j$(getconf _NPROCESSORS_ONLN) | |
- name: test | |
run: | | |
nm build/qjs | |
ldd build/hello | |
ldd build/hello_module | |
ldd build/test_fib | |
./build/hello | |
./build/hello_module | |
cp build/fib.so examples/ | |
./build/qjs examples/test_fib.js | |
./build/test_fib | |
cp build/point.so examples/ | |
./build/qjs examples/test_point.js | |
cp build/bjson.so tests/ | |
./build/qjs tests/test_bjson.js | |
linux-shared: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v3 | |
- name: build | |
run: | | |
mkdir build | |
cd build | |
cmake -DBUILD_SHARED_LIBS=ON .. | |
cd .. | |
cmake --build build -j$(getconf _NPROCESSORS_ONLN) | |
ldd build/qjs | |
- name: stats | |
run: | | |
./build/qjs -qd | |
linux-asan: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v3 | |
with: | |
submodules: true | |
- name: build | |
run: | | |
mkdir build | |
cd build | |
cmake -DCONFIG_ASAN=ON .. | |
cd .. | |
cmake --build build -j$(getconf _NPROCESSORS_ONLN) | |
- name: test | |
env: | |
ASAN_OPTIONS: halt_on_error=1 | |
run: | | |
./build/qjs tests/test_bigint.js | |
./build/qjs tests/test_closure.js | |
./build/qjs tests/test_language.js | |
./build/qjs tests/test_builtin.js | |
./build/qjs tests/test_loop.js | |
./build/qjs tests/test_std.js | |
./build/qjs tests/test_worker.js | |
- name: test 262 | |
env: | |
ASAN_OPTIONS: halt_on_error=1 | |
run: | | |
time ./build/run-test262 -m -c test262.conf -a | |
linux-msan: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v3 | |
with: | |
submodules: true | |
- name: build | |
env: | |
CC: clang | |
run: | | |
mkdir build | |
cd build | |
cmake -DCONFIG_MSAN=ON .. | |
cd .. | |
cmake --build build -j$(getconf _NPROCESSORS_ONLN) | |
- name: test | |
env: | |
MSAN_OPTIONS: halt_on_error=1 | |
run: | | |
./build/qjs tests/test_bigint.js | |
./build/qjs tests/test_closure.js | |
./build/qjs tests/test_language.js | |
./build/qjs tests/test_builtin.js | |
./build/qjs tests/test_loop.js | |
./build/qjs tests/test_std.js | |
./build/qjs tests/test_worker.js | |
linux-ubsan: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v3 | |
with: | |
submodules: true | |
- name: build | |
run: | | |
mkdir build | |
cd build | |
cmake -DCONFIG_UBSAN=ON .. | |
cd .. | |
cmake --build build -j$(getconf _NPROCESSORS_ONLN) | |
- name: test | |
env: | |
UBSAN_OPTIONS: halt_on_error=1 | |
run: | | |
./build/qjs tests/test_bigint.js | |
./build/qjs tests/test_closure.js | |
./build/qjs tests/test_language.js | |
./build/qjs tests/test_builtin.js | |
./build/qjs tests/test_loop.js | |
./build/qjs tests/test_std.js | |
./build/qjs tests/test_worker.js | |
- name: test 262 | |
env: | |
UBSAN_OPTIONS: halt_on_error=1 | |
run: | | |
time ./build/run-test262 -m -c test262.conf -a | |
macos: | |
runs-on: macos-latest | |
strategy: | |
fail-fast: false | |
matrix: | |
buildType: [Debug, Release] | |
steps: | |
- uses: actions/checkout@v3 | |
- name: build | |
run: | | |
mkdir build | |
cd build | |
cmake -DCMAKE_BUILD_TYPE=${{matrix.buildType}} .. | |
cd .. | |
cmake --build build -j$(getconf _NPROCESSORS_ONLN) | |
- name: stats | |
run: | | |
./build/qjs -qd | |
- name: test | |
run: | | |
./build/qjs tests/test_bigint.js | |
./build/qjs tests/test_closure.js | |
./build/qjs tests/test_language.js | |
./build/qjs tests/test_builtin.js | |
./build/qjs tests/test_loop.js | |
./build/qjs tests/test_std.js | |
./build/qjs tests/test_worker.js | |
macos-examples: | |
runs-on: macos-latest | |
steps: | |
- uses: actions/checkout@v3 | |
- name: build | |
run: | | |
mkdir build | |
cd build | |
cmake -DBUILD_EXAMPLES=ON .. | |
cd .. | |
cmake --build build -j$(getconf _NPROCESSORS_ONLN) | |
- name: test | |
run: | | |
otool -L build/hello | |
otool -L build/hello_module | |
otool -L build/test_fib | |
./build/hello | |
./build/hello_module | |
cp build/fib.so examples/ | |
./build/qjs examples/test_fib.js | |
./build/test_fib | |
cp build/point.so examples/ | |
./build/qjs examples/test_point.js | |
cp build/bjson.so tests/ | |
./build/qjs tests/test_bjson.js | |
macos-shared: | |
runs-on: macos-latest | |
steps: | |
- uses: actions/checkout@v3 | |
- name: build | |
run: | | |
mkdir build | |
cd build | |
cmake -DBUILD_SHARED_LIBS=ON .. | |
cd .. | |
cmake --build build -j$(getconf _NPROCESSORS_ONLN) | |
otool -L build/qjs | |
- name: stats | |
run: | | |
./build/qjs -qd | |
macos-asan: | |
runs-on: macos-latest | |
steps: | |
- uses: actions/checkout@v3 | |
- name: build | |
run: | | |
mkdir build | |
cd build | |
cmake -DCONFIG_ASAN=ON .. | |
cd .. | |
cmake --build build -j$(getconf _NPROCESSORS_ONLN) | |
- name: test | |
env: | |
ASAN_OPTIONS: halt_on_error=1 | |
run: | | |
./build/qjs tests/test_bigint.js | |
./build/qjs tests/test_closure.js | |
./build/qjs tests/test_language.js | |
./build/qjs tests/test_builtin.js | |
./build/qjs tests/test_loop.js | |
./build/qjs tests/test_std.js | |
./build/qjs tests/test_worker.js | |
macos-ubsan: | |
runs-on: macos-latest | |
steps: | |
- uses: actions/checkout@v3 | |
- name: build | |
run: | | |
mkdir build | |
cd build | |
cmake -DCONFIG_UBSAN=ON .. | |
cd .. | |
cmake --build build -j$(getconf _NPROCESSORS_ONLN) | |
- name: test | |
env: | |
UBSAN_OPTIONS: halt_on_error=1 | |
run: | | |
./build/qjs tests/test_bigint.js | |
./build/qjs tests/test_closure.js | |
./build/qjs tests/test_language.js | |
./build/qjs tests/test_builtin.js | |
./build/qjs tests/test_loop.js | |
./build/qjs tests/test_std.js | |
./build/qjs tests/test_worker.js | |
windows-mingw: | |
runs-on: windows-latest | |
strategy: | |
fail-fast: false | |
matrix: | |
buildType: [Debug, Release] | |
sys: | |
- mingw64 | |
- ucrt64 | |
defaults: | |
run: | |
shell: msys2 {0} | |
steps: | |
- uses: actions/checkout@v3 | |
- name: Setup MSYS2 | |
uses: msys2/setup-msys2@v2 | |
with: | |
msystem: ${{matrix.sys}} | |
install: >- | |
git | |
make | |
pacboy: >- | |
cmake:p | |
ninja:p | |
toolchain:p | |
- name: build | |
run: | | |
mkdir build | |
cd build | |
cmake -DCMAKE_BUILD_TYPE=${{matrix.buildType}} .. | |
cd .. | |
cmake --build build -j$(getconf _NPROCESSORS_ONLN) | |
- name: stats | |
run: | | |
./build/qjs -qd | |
- name: test | |
run: | | |
./build/qjs tests/test_bigint.js | |
./build/qjs tests/test_closure.js | |
./build/qjs tests/test_language.js | |
./build/qjs tests/test_builtin.js | |
./build/qjs tests/test_loop.js | |
./build/qjs tests/test_std.js | |
windows-mingw-shared: | |
runs-on: windows-latest | |
defaults: | |
run: | |
shell: msys2 {0} | |
steps: | |
- uses: actions/checkout@v3 | |
- name: Setup MSYS2 | |
uses: msys2/setup-msys2@v2 | |
with: | |
install: >- | |
git | |
make | |
pacboy: >- | |
cmake:p | |
ninja:p | |
toolchain:p | |
- name: build | |
run: | | |
mkdir build | |
cd build | |
cmake -DBUILD_SHARED_LIBS=ON .. | |
cd .. | |
cmake --build build -j$(getconf _NPROCESSORS_ONLN) | |
ldd build/qjs | |
- name: stats | |
run: | | |
./build/qjs -qd |