70 lines
1.5 KiB
YAML
70 lines
1.5 KiB
YAML
language: rust
|
|
rust:
|
|
- stable
|
|
|
|
env:
|
|
CFLAGS="-Wall -Wextra -Werror -Wstrict-prototypes"
|
|
|
|
matrix:
|
|
include:
|
|
- os: osx
|
|
env: USE_EMSCRIPTEN=1
|
|
- os: linux
|
|
services: docker
|
|
|
|
before_install:
|
|
# Install node
|
|
- nvm install 12
|
|
- nvm use 12
|
|
|
|
# Download emscripten and create a shorthand for adding it to the PATH.
|
|
# Don't add it to the path globally because it overrides the default
|
|
# clang and node.
|
|
- if [ -n "$USE_EMSCRIPTEN" ]; then export WASM_ENV="$(script/fetch-emscripten)"; fi
|
|
|
|
script:
|
|
# Build the WASM binding
|
|
- (eval "$WASM_ENV" && script/build-wasm)
|
|
|
|
# build the shared/static libraries
|
|
- make
|
|
|
|
# Build the CLI
|
|
- cargo build --release
|
|
|
|
# Fetch and regenerate the fixture parsers
|
|
- script/fetch-fixtures
|
|
- script/generate-fixtures
|
|
- (eval "$WASM_ENV" && script/generate-fixtures-wasm)
|
|
|
|
# Run the tests
|
|
- script/test
|
|
- script/test-wasm
|
|
- script/benchmark
|
|
|
|
branches:
|
|
only:
|
|
- master
|
|
- /\d+\.\d+\.\d+/
|
|
|
|
before_deploy:
|
|
- cp target/release/tree-sitter .
|
|
- gzip --suffix "-${TRAVIS_OS_NAME}-x64.gz" tree-sitter
|
|
|
|
deploy:
|
|
provider: releases
|
|
api_key:
|
|
secure: "cAd2mQP+Q55v3zedo5ZyOVc3hq3XKMW93lp5LuXV6CYKYbIhkyfym4qfs+C9GJQiIP27cnePYM7B3+OMIFwSPIgXHWWSsuloMtDgYSc/PAwb2dZnJqAyog3BohW/QiGTSnvbVlxPF6P9RMQU6+JP0HJzEJy6QBTa4Und/j0jm24="
|
|
file_glob: true
|
|
file:
|
|
- "tree-sitter-*.gz"
|
|
draft: true
|
|
overwrite: true
|
|
skip_cleanup: true
|
|
on:
|
|
tags: true
|
|
|
|
cache:
|
|
cargo: true
|
|
directories:
|
|
- target/emsdk
|