Replace the broken `64bit-no-nan-tagging_64bit` and `64bit-no-nan-tagging_32bit` configurations with properly named `release_64bit-no-nan-tagging` and `debug_64bit-no-nan-tagging` across all gmake Makefiles and wren_cli.make files. Add the missing `release_64bit-no-nan-tagging` build target definitions for linux, mac, and bsd platforms. Introduce `.travis.sh` script that runs both nan-tagged and non-nan-tagged debug and release builds, and simplify `.travis.yml` to use the new script with per-os env variables instead of matrix options.
Remove the i386 architecture from the libuv xcodebuild command in
util/build_libuv.py to eliminate deprecation warnings from XCode.
Update the Travis CI configuration to drop the ci_32 build target,
leaving only ci_64 for macOS builds. Also add XCBuildData cache
directory to .gitignore.
The smartypants package name was incorrect for the Ubuntu distribution used in CI; switching to python-smartypants ensures the correct Debian/Ubuntu package is installed for text processing dependencies.
The previous package name python3-smartypants was incorrect for the Travis CI
build environment, causing package installation failures. This commit corrects
the package name to smartypants, which is the proper apt package for the
SmartyPants text processing library used in documentation generation.
The container-based infrastructure does not support sudo, which is needed to install the custom Pygments lexer for documentation generation. This change replaces the `sudo: false` directive with `sudo: required` and explicitly sets the distribution to `trusty`. Additionally, the deploy script is corrected to invoke `sudo python` instead of plain `python` when installing the lexer, ensuring the system-wide installation succeeds.
- Rename util/deployGHP.sh to util/deploy_docs_from_travis.sh for consistency
- Change deploy condition from excluding pull requests to explicitly requiring push events on master branch
Add Travis CI configuration to build and test Wren on both Linux and macOS, for both 32-bit and 64-bit architectures, with and without WREN_NAN_TAGGING defined. Introduce `ci_32` and `ci_64` make targets that build debug/release and C/C++ variants, then run the test suite against each binary using a suffix parameter. Update `util/test.py` with argparse to accept `--suffix` and `suite` arguments, increase test timeout from 2 to 5 seconds, and fix handle leak in `test/api/slots.c` by moving `wrenReleaseHandle` after the conditional block. Replace `fpclassify`/`signbit` checks for infinity/nan in `wrenNumToString` to avoid GCC overflow warnings on 32-bit, double-cast `double` to `uint32_t` in `num_bitwiseNot` to prevent undefined behavior, and relax floating-point comparisons in `test/core/number/sin.wren` and `cos.wren` to use absolute tolerance. Comment out hex literals larger than `0x1000000` in `example/syntax.wren` since they exceed 32-bit range, and bump libuv from v1.8.0 to v1.10.0 for 32-bit build fixes.
Replace manual apt-get install steps with declarative addons.apt.packages for gcc-multilib, and set sudo: false to enable container-based builds for faster CI execution.
Add before_install step to .travis.yml that updates apt packages and installs
gcc-multilib, enabling 32-bit C library headers and runtime for cross-compilation
in the CI environment.
Add .travis.yml with gcc and clang compilers running make && make test.
Modify script/test.py to call sys.exit(1) when any tests fail, ensuring
CI build correctly reports failure status.