mirror of
https://github.com/rustwasm/wasm-bindgen.git
synced 2024-11-28 23:14:12 +03:00
128dad300c
Don't link it from the book as the book likely wants to use published crates.io versions, but it should be available to browse if need be
147 lines
5.0 KiB
YAML
147 lines
5.0 KiB
YAML
language: rust
|
|
sudo: false
|
|
|
|
INSTALL_NODE_VIA_NVM: &INSTALL_NODE_VIA_NVM
|
|
- rustup target add wasm32-unknown-unknown
|
|
- curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.33.8/install.sh | bash
|
|
- source ~/.nvm/nvm.sh
|
|
- nvm install v10.5
|
|
|
|
|
|
DEPLOY_TO_GITHUB: &DEPLOY_TO_GITHUB
|
|
before_deploy:
|
|
|
|
|
name="wasm-bindgen-$TRAVIS_TAG-$TARGET"
|
|
mkdir "$name"
|
|
cp "target/$TARGET/release/{wasm-bindgen,wasm2es6js}" "$name/"
|
|
cp README.md LICENSE-MIT LICENSE-APACHE "$name/"
|
|
tar czvf "$name.tar.gz" "$name"
|
|
deploy:
|
|
api_key:
|
|
secure: "qCiELnEnvyKpWHDttgTNf+ElZGbWlvthu5aOIj5nYfov+h6g1+mkWnDFP6at/WPlE78zE/f/z/dL2KB2I7w/cxH/T4P1nWh0A9DvrpY6hqWkK2pgN5dPeWE/a4flI7AdH0A6wMRw7m00uMgDjlzN78v7XueccpJCxSO5allQN5jweAQvMX2QA07TbLRJc7Lq6lfVwSf8OfrcO8qCbcIzJTsC4vtbh6jkUYg1OAaU2tAYlskBy9ZYmHWCExIAu/zxzcJY9OpApPD9Ea4CyrsfjniAyRBJ87Weh/sP4XhiWeRPVmvA4HAzv4Pps9ps+Ar5QmsX53rhKQ3id7/VPR8ggaAHxrYUiJPvJRtbP6cKKOlDiK0ooP+vI4vjxWeNVj9ibEolSYOlT0ENIvPK1BppA6VgAoJOjwPr0Q16Ma4AmvLkIkowJiXCm2Jlje/5c0vPEAGJVgUtkj3jFQzgXwyEMpzxUlhHmYpmnfeaM0tK/Kiiwe1monL/ydMlyfV55kNylylCg+XoTnf420AFChKbD4DM5Z7ZsjU9g8fF3LUoN0sKpmLDp+GvwjLi9YtGogWB71Q2MFp43MSL0YLshkyYYoZKrVMiy5J9hKNUxhT2jNEq53Z69syIHHMCxHL9GoAcuHxIKOA7uTMW0aCoyy2I+dfAKKsrUGwGYaNC5LZdUQI="
|
|
file_glob: true
|
|
file:
|
|
- wasm-bindgen-$TRAVIS_TAG-$TARGET.tar.gz
|
|
on:
|
|
tags: true
|
|
provider: releases
|
|
skip_cleanup: true
|
|
|
|
matrix:
|
|
include:
|
|
# Tests pass on nightly
|
|
- rust: nightly
|
|
env: JOB=test-bindgen
|
|
before_install: *INSTALL_NODE_VIA_NVM
|
|
install:
|
|
# dirties git repository, there doesn't seem to be a way to resolve this other than
|
|
# to run `npm install` twice or by using `npm ci` (which is currently broken)
|
|
- npm install
|
|
script:
|
|
- cargo test --release
|
|
# Check JS output from all tests against eslint
|
|
- npm run run-lint-generated-tests
|
|
# Check Examples against eslint
|
|
- npm run run-lint-examples
|
|
addons:
|
|
firefox: latest
|
|
|
|
# All examples work
|
|
- rust: nightly
|
|
env: JOB=examples-build
|
|
install: *INSTALL_NODE_VIA_NVM
|
|
script:
|
|
- mkdir node_modules
|
|
- |
|
|
for dir in `ls examples | grep -v README | grep -v asm.js | grep -v no_modules`; do
|
|
(cd examples/$dir &&
|
|
sed -i 's/: "webpack-dev-server"/: "webpack"/' package.json &&
|
|
ln -s ../../node_modules . &&
|
|
./build.sh) || exit 1;
|
|
done
|
|
|
|
# The `web-sys` crate's tests pass on nightly.
|
|
- rust: nightly
|
|
env: JOB=test-web-sys
|
|
before_install: *INSTALL_NODE_VIA_NVM
|
|
install:
|
|
- npm install
|
|
script: cargo test --manifest-path crates/web-sys/Cargo.toml
|
|
addons:
|
|
firefox: latest
|
|
|
|
# Tests pass on nightly using yarn
|
|
- rust: nightly
|
|
env: JOB=test-yarn-smoke
|
|
before_install: *INSTALL_NODE_VIA_NVM
|
|
install:
|
|
- curl -o- -L https://yarnpkg.com/install.sh | bash -s -- --version 1.7.0
|
|
- export PATH=$HOME/.yarn/bin:$PATH
|
|
- yarn install --freeze-lockfile
|
|
script: cargo test api::works
|
|
|
|
# WebIDL tests pass on nightly
|
|
- rust: nightly
|
|
env: JOB=test-webidl
|
|
before_install: *INSTALL_NODE_VIA_NVM
|
|
install: npm install
|
|
script: cargo test --manifest-path crates/webidl/Cargo.toml
|
|
|
|
# Dist linux binary
|
|
- rust: nightly
|
|
env: JOB=dist-linux TARGET=x86_64-unknown-linux-musl
|
|
before_script: rustup target add $TARGET
|
|
script: cargo build --manifest-path crates/cli/Cargo.toml --release --target $TARGET
|
|
addons:
|
|
apt:
|
|
packages:
|
|
- musl-tools
|
|
<<: *DEPLOY_TO_GITHUB
|
|
|
|
# Dist OSX binary
|
|
- rust: nightly
|
|
os: osx
|
|
env: JOB=dist-osx MACOSX_DEPLOYMENT_TARGET=10.7 TARGET=x86_64-apple-darwin
|
|
script: cargo build --manifest-path crates/cli/Cargo.toml --release --target $TARGET
|
|
<<: *DEPLOY_TO_GITHUB
|
|
|
|
# CLI builds on stable
|
|
- rust: stable
|
|
env: JOB=check-stable-cli
|
|
script: cargo check --manifest-path crates/cli/Cargo.toml
|
|
# CLI builds on nightly
|
|
- rust: nightly
|
|
env: JOB=check-nightly-cli
|
|
script: cargo check --manifest-path crates/cli/Cargo.toml
|
|
|
|
# Build documentation for the gh-pages branch
|
|
- rust: nightly
|
|
env: JOB=guide-build-and-deploy
|
|
cache:
|
|
- cargo
|
|
before_script:
|
|
- (test -x $HOME/.cargo/bin/cargo-install-update || cargo install cargo-update)
|
|
- (test -x $HOME/.cargo/bin/mdbook || cargo install --vers "^0.1" mdbook)
|
|
- cargo install-update -a
|
|
script:
|
|
- (cd guide && mdbook build)
|
|
- cargo doc -p wasm-bindgen --no-deps
|
|
- cargo doc -p web-sys --no-deps
|
|
- mv target/doc guide/book/api
|
|
deploy:
|
|
provider: pages
|
|
skip-cleanup: true
|
|
github-token: $GITHUB_TOKEN # Set in travis-ci.org dashboard, marked secure
|
|
local-dir: guide/book
|
|
keep-history: false
|
|
on:
|
|
branch: master
|
|
|
|
branches:
|
|
only:
|
|
- master
|
|
|
|
notifications:
|
|
email:
|
|
on_success: never
|