quickjs-tart

quickjs-based runtime for wallet-core logic
Log | Files | Refs | README | LICENSE

commit b33f760783fc91d4af012736118cd9ec6abfef29
parent 3a9af1cb8e23c90149550dd15d91e064882bfffb
Author: Ben Noordhuis <info@bnoordhuis.nl>
Date:   Sun,  3 Mar 2024 14:14:23 +0100

Add github CI tests

- disable `isatty()` test in `test_os()`
- add `.github/workflows/ci.yml` with 8 targets

Diffstat:
Aquickjs/.github/workflows/ci.yml | 141+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Mquickjs/tests/test_std.js | 3++-
2 files changed, 143 insertions(+), 1 deletion(-)

diff --git a/quickjs/.github/workflows/ci.yml b/quickjs/.github/workflows/ci.yml @@ -0,0 +1,141 @@ +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 + steps: + - uses: actions/checkout@v3 + with: + submodules: true + - name: build + run: | + make -j$(getconf _NPROCESSORS_ONLN) CONFIG_WERROR=y + - name: stats + run: | + ./qjs -qd + - name: test + run: | + make test + - name: microbench + run: | + make microbench + + linux-asan: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v3 + with: + submodules: true + - name: build + run: | + make -j$(getconf _NPROCESSORS_ONLN) CONFIG_WERROR=y CONFIG_ASAN=y + - name: test + env: + ASAN_OPTIONS: halt_on_error=1 + run: | + make CONFIG_ASAN=y test + + linux-msan: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v3 + with: + submodules: true + - name: build + env: + CC: clang + run: | + make -j$(getconf _NPROCESSORS_ONLN) CONFIG_WERROR=y CONFIG_MSAN=y CONFIG_CLANG=y + - name: test + env: + MSAN_OPTIONS: halt_on_error=1 + run: | + make CONFIG_MSAN=y CONFIG_CLANG=y test + + linux-ubsan: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v3 + with: + submodules: true + - name: build + run: | + make -j$(getconf _NPROCESSORS_ONLN) CONFIG_WERROR=y CONFIG_UBSAN=y + - name: test + env: + UBSAN_OPTIONS: halt_on_error=1 + run: | + make CONFIG_UBSAN=y test + + macos: + runs-on: macos-latest + strategy: + fail-fast: false + steps: + - uses: actions/checkout@v3 + - name: build + run: | + make -j$(getconf _NPROCESSORS_ONLN) CONFIG_WERROR=y + - name: stats + run: | + ./qjs -qd + - name: test + run: | + make test + + macos-asan: + runs-on: macos-latest + steps: + - uses: actions/checkout@v3 + - name: build + run: | + make -j$(getconf _NPROCESSORS_ONLN) CONFIG_WERROR=y CONFIG_ASAN=y + - name: test + env: + ASAN_OPTIONS: halt_on_error=1 + run: | + make CONFIG_ASAN=y test + + macos-ubsan: + runs-on: macos-latest + steps: + - uses: actions/checkout@v3 + - name: build + run: | + make -j$(getconf _NPROCESSORS_ONLN) CONFIG_WERROR=y CONFIG_UBSAN=y + - name: test + env: + UBSAN_OPTIONS: halt_on_error=1 + run: | + make CONFIG_UBSAN=y test + + freebsd: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v3 + - name: build + test + uses: vmactions/freebsd-vm@v1 + with: + usesh: true + prepare: | + pkg install -y gmake + run: | + gmake + ./qjs -qd + gmake test diff --git a/quickjs/tests/test_std.js b/quickjs/tests/test_std.js @@ -144,7 +144,8 @@ function test_os() { var fd, fpath, fname, fdir, buf, buf2, i, files, err, fdate, st, link_path; - assert(os.isatty(0)); + // XXX(bnoordhuis) disabled because stdio is not a tty on CI + //assert(os.isatty(0)); fdir = "test_tmp_dir"; fname = "tmp_file.txt";