@@ -0,0 +1,72 @@ | |||
# Based on the "trust" template v0.1.1 | |||
# https://github.com/japaric/trust/tree/v0.1.1 | |||
dist: trusty | |||
language: rust | |||
services: docker | |||
sudo: required | |||
# TODO Rust builds on stable by default, this can be | |||
# overridden on a case by case basis down below. | |||
env: | |||
global: | |||
# TODO Update this to match the name of your project. | |||
- CRATE_NAME=tantivy-cli | |||
matrix: | |||
# TODO These are all the build jobs. Adjust as necessary. Comment out what you | |||
# don't need | |||
include: | |||
# Linux | |||
- env: TARGET=x86_64-unknown-linux-musl | |||
rust: nightly | |||
# OSX | |||
- env: TARGET=x86_64-apple-darwin | |||
os: osx | |||
rust: nightly | |||
before_install: set -e | |||
install: | |||
- sh ci/install.sh | |||
- source ~/.cargo/env || true | |||
script: | |||
- bash ci/script.sh | |||
after_script: set +e | |||
before_deploy: | |||
- sh ci/before_deploy.sh | |||
deploy: | |||
api_key: | |||
secure: "YIvQWnj9Nadcc9x4tzGSaEh9yW6t0YFFMvqJucc1RSFsT2thTe9BVwawntIbnnTyqWDpkYnxgMV83fPK1rSKwtNHCKVjuIukzQz1QCtK8GHV32AiVlopb5y5WgBsZIA2+1kgDnaJ/qXc3oOpyUfd7V9fPfdT3IR3fdkDR1Ywm2l6oSxqN/6cdIWAtU67nAvDfVbvJVi0gcmT+PkVaEPCVsyOuZ8iwy05oStN2RJv7d41T2mwPnbj8g4nlL2u18U6iFfsG01PIpQ0oa7GWDran9npr3zWbhPJwMAgdvoc30gh6z7y/1eRcv6Vggh/MF8nqmJ5dWCOMr5WIXMa81jTwwKsuarnG5EkFo9rJ/opzHQE0J/wwFBtwKtAREhezmq6xpPuUcTVzdnq+Fr234toBhvJNfABtNK9h9Nbbac0nHh4HnHB/OoE2zMrtJshmH1TcIHEvM2Sz0s3fG8d8REkI8B2wOoCEnmn6LC2YyFvLhCSZWYaC/LsRx2VThBwKIGztbuR3NDhwkUIVtrMapi+H3Ds5o7bKClXotXqLvK7OBkCw0ZceZ1ijqNw2axq1HZWqvguA0ZRLmTJ9enIOhX5Y4GoQDfc7DPEOPwjT4boEwQblwXx1UUvCAmFlqa8MSNCeRqHLOD7MNuOFWw1WPsyJdvZEQ62UvHWrqQ8l0J5qQY=" | |||
file_glob: true | |||
file: $CRATE_NAME-$TRAVIS_TAG-$TARGET.* | |||
on: | |||
# TODO Here you can pick which targets will generate binary releases | |||
# In this example, there are some targets that are tested using the stable | |||
# and nightly channels. This condition makes sure there is only one release | |||
# for such targets and that's generated using the stable channel | |||
# condition: $TRAVIS_RUST_VERSION = stable | |||
tags: true | |||
provider: releases | |||
skip_cleanup: true | |||
cache: cargo | |||
before_cache: | |||
# Travis can't cache files that are not readable by "others" | |||
- chmod -R a+r $HOME/.cargo | |||
branches: | |||
only: | |||
# release tags | |||
- /^v\d+\.\d+\.\d+.*$/ | |||
- master | |||
notifications: | |||
email: | |||
on_success: always |
@@ -1,6 +1,6 @@ | |||
[root] | |||
name = "tantivy-cli" | |||
version = "0.4.0-alpha" | |||
version = "0.4.0" | |||
dependencies = [ | |||
"ansi_term 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)", | |||
"bincode 0.4.1 (registry+https://github.com/rust-lang/crates.io-index)", | |||
@@ -17,7 +17,7 @@ dependencies = [ | |||
"serde_derive 1.0.8 (registry+https://github.com/rust-lang/crates.io-index)", | |||
"serde_json 1.0.2 (registry+https://github.com/rust-lang/crates.io-index)", | |||
"staticfile 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)", | |||
"tantivy 0.4.0-alpha", | |||
"tantivy 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)", | |||
"time 0.1.37 (registry+https://github.com/rust-lang/crates.io-index)", | |||
"urlencoded 0.4.1 (registry+https://github.com/rust-lang/crates.io-index)", | |||
"version 2.0.1 (registry+https://github.com/rust-lang/crates.io-index)", | |||
@@ -111,12 +111,12 @@ dependencies = [ | |||
[[package]] | |||
name = "bincode" | |||
version = "0.7.0" | |||
version = "0.8.0" | |||
source = "registry+https://github.com/rust-lang/crates.io-index" | |||
dependencies = [ | |||
"byteorder 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)", | |||
"num-traits 0.1.37 (registry+https://github.com/rust-lang/crates.io-index)", | |||
"serde 0.9.15 (registry+https://github.com/rust-lang/crates.io-index)", | |||
"serde 1.0.8 (registry+https://github.com/rust-lang/crates.io-index)", | |||
] | |||
[[package]] | |||
@@ -735,11 +735,6 @@ name = "serde" | |||
version = "0.8.23" | |||
source = "registry+https://github.com/rust-lang/crates.io-index" | |||
[[package]] | |||
name = "serde" | |||
version = "0.9.15" | |||
source = "registry+https://github.com/rust-lang/crates.io-index" | |||
[[package]] | |||
name = "serde" | |||
version = "1.0.8" | |||
@@ -846,10 +841,11 @@ dependencies = [ | |||
[[package]] | |||
name = "tantivy" | |||
version = "0.4.0-alpha" | |||
version = "0.4.0" | |||
source = "registry+https://github.com/rust-lang/crates.io-index" | |||
dependencies = [ | |||
"atomicwrites 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)", | |||
"bincode 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)", | |||
"bincode 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)", | |||
"bit-set 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)", | |||
"byteorder 1.0.0 (registry+https://github.com/rust-lang/crates.io-index)", | |||
"chan 0.1.19 (registry+https://github.com/rust-lang/crates.io-index)", | |||
@@ -1112,7 +1108,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" | |||
"checksum backtrace 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)" = "72f9b4182546f4b04ebc4ab7f84948953a118bd6021a1b6a6c909e3e94f6be76" | |||
"checksum backtrace-sys 0.1.11 (registry+https://github.com/rust-lang/crates.io-index)" = "3a0d842ea781ce92be2bf78a9b38883948542749640b8378b3b2f03d1fd9f1ff" | |||
"checksum bincode 0.4.1 (registry+https://github.com/rust-lang/crates.io-index)" = "60f89d68caf4f2e8a94efd192a2b8393869e72336dea4e0fe077cc6eb5f2057e" | |||
"checksum bincode 0.7.0 (registry+https://github.com/rust-lang/crates.io-index)" = "bea6e613eeed56804328309c4227e61a0326a8810e1392d91faeb2124b77f43e" | |||
"checksum bincode 0.8.0 (registry+https://github.com/rust-lang/crates.io-index)" = "e103c8b299b28a9c6990458b7013dc4a8356a9b854c51b9883241f5866fac36e" | |||
"checksum bit-set 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)" = "d9bf6104718e80d7b26a68fdbacff3481cfc05df670821affc7e9cbc1884400c" | |||
"checksum bit-vec 0.4.4 (registry+https://github.com/rust-lang/crates.io-index)" = "02b4ff8b16e6076c3e14220b39fbc1fabb6737522281a388998046859400895f" | |||
"checksum bitflags 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)" = "8dead7461c1127cf637931a1e50934eb6eee8bff2f74433ac7909e9afcee04a3" | |||
@@ -1193,7 +1189,6 @@ source = "registry+https://github.com/rust-lang/crates.io-index" | |||
"checksum sequence_trie 0.0.13 (registry+https://github.com/rust-lang/crates.io-index)" = "d5b4eb0f7d1ff9b9666d8b8ff543f3705dd464025269a5b0e1988ffa60ca1be8" | |||
"checksum serde 0.6.15 (registry+https://github.com/rust-lang/crates.io-index)" = "c97b18e9e53de541f11e497357d6c5eaeb39f0cb9c8734e274abe4935f6991fa" | |||
"checksum serde 0.8.23 (registry+https://github.com/rust-lang/crates.io-index)" = "9dad3f759919b92c3068c696c15c3d17238234498bbdcc80f2c469606f948ac8" | |||
"checksum serde 0.9.15 (registry+https://github.com/rust-lang/crates.io-index)" = "34b623917345a631dc9608d5194cc206b3fe6c3554cd1c75b937e55e285254af" | |||
"checksum serde 1.0.8 (registry+https://github.com/rust-lang/crates.io-index)" = "c2f530d36fb84ec48fb7146936881f026cdbf4892028835fd9398475f82c1bb4" | |||
"checksum serde_derive 1.0.8 (registry+https://github.com/rust-lang/crates.io-index)" = "10552fad5500771f3902d0c5ba187c5881942b811b7ba0d8fbbfbf84d80806d3" | |||
"checksum serde_derive_internals 0.15.1 (registry+https://github.com/rust-lang/crates.io-index)" = "37aee4e0da52d801acfbc0cc219eb1eda7142112339726e427926a6f6ee65d3a" | |||
@@ -1206,6 +1201,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" | |||
"checksum strsim 0.6.0 (registry+https://github.com/rust-lang/crates.io-index)" = "b4d15c810519a91cf877e7e36e63fe068815c678181439f2f29e2562147c3694" | |||
"checksum syn 0.11.11 (registry+https://github.com/rust-lang/crates.io-index)" = "d3b891b9015c88c576343b9b3e41c2c11a51c219ef067b264bd9c8aa9b441dad" | |||
"checksum synom 0.11.3 (registry+https://github.com/rust-lang/crates.io-index)" = "a393066ed9010ebaed60b9eafa373d4b1baac186dd7e008555b0f702b51945b6" | |||
"checksum tantivy 0.4.0 (registry+https://github.com/rust-lang/crates.io-index)" = "e2ea31119966159217ee9fbd307cea5b4f77d957afda2b738efaab48449dd489" | |||
"checksum tempdir 0.3.5 (registry+https://github.com/rust-lang/crates.io-index)" = "87974a6f5c1dfb344d733055601650059a3363de2a6104819293baff662132d6" | |||
"checksum tempfile 2.1.5 (registry+https://github.com/rust-lang/crates.io-index)" = "3213fd2b7ed87e39306737ccfac04b1233b57a33ca64cfbf52f2ffaa2b765e2f" | |||
"checksum term_size 0.3.0 (registry+https://github.com/rust-lang/crates.io-index)" = "e2b6b55df3198cc93372e85dd2ed817f0e38ce8cc0f22eb32391bfad9c4bf209" | |||
@@ -0,0 +1,93 @@ | |||
# Based on the "trust" template v0.1.1 | |||
# https://github.com/japaric/trust/tree/v0.1.1 | |||
environment: | |||
global: | |||
# TODO This is the Rust channel that build jobs will use by default but can be | |||
# overridden on a case by case basis down below | |||
RUST_VERSION: stable | |||
# TODO Update this to match the name of your project. | |||
CRATE_NAME: trust | |||
# TODO These are all the build jobs. Adjust as necessary. Comment out what you | |||
# don't need | |||
matrix: | |||
# MinGW | |||
- TARGET: i686-pc-windows-gnu | |||
- TARGET: x86_64-pc-windows-gnu | |||
# MSVC | |||
- TARGET: i686-pc-windows-msvc | |||
- TARGET: x86_64-pc-windows-msvc | |||
# Testing other channels | |||
- TARGET: x86_64-pc-windows-gnu | |||
RUST_VERSION: nightly | |||
- TARGET: x86_64-pc-windows-msvc | |||
RUST_VERSION: nightly | |||
install: | |||
- ps: >- | |||
If ($Env:TARGET -eq 'x86_64-pc-windows-gnu') { | |||
$Env:PATH += ';C:\msys64\mingw64\bin' | |||
} ElseIf ($Env:TARGET -eq 'i686-pc-windows-gnu') { | |||
$Env:PATH += ';C:\msys64\mingw32\bin' | |||
} | |||
- curl -sSf -o rustup-init.exe https://win.rustup.rs/ | |||
- rustup-init.exe -y --default-host %TARGET% --default-toolchain %RUST_VERSION% | |||
- set PATH=%PATH%;C:\Users\appveyor\.cargo\bin | |||
- rustc -Vv | |||
- cargo -V | |||
# TODO This is the "test phase", tweak it as you see fit | |||
test_script: | |||
# we don't run the "test phase" when doing deploys | |||
- if [%APPVEYOR_REPO_TAG%]==[false] ( | |||
cargo build --target %TARGET% && | |||
cargo build --target %TARGET% --release && | |||
cargo test --target %TARGET% && | |||
cargo test --target %TARGET% --release && | |||
cargo run --target %TARGET% && | |||
cargo run --target %TARGET% --release | |||
) | |||
before_deploy: | |||
# TODO Update this to build the artifacts that matter to you | |||
- cargo rustc --target %TARGET% --release --bin hello -- -C lto | |||
- ps: ci\before_deploy.ps1 | |||
deploy: | |||
artifact: /.*\.zip/ | |||
# TODO update `auth_token.secure` | |||
# - Create a `public_repo` GitHub token. Go to: https://github.com/settings/tokens/new | |||
# - Encrypt it. Go to https://ci.appveyor.com/tools/encrypt | |||
# - Paste the output down here | |||
auth_token: | |||
secure: t3puM/2hOig26EHhAodcZBc61NywF7/PFEpimR6SwGaCiqS07KR5i7iAhSABmBp7 | |||
description: '' | |||
on: | |||
# TODO Here you can pick which targets will generate binary releases | |||
# In this example, there are some targets that are tested using the stable | |||
# and nightly channels. This condition makes sure there is only one release | |||
# for such targets and that's generated using the stable channel | |||
RUST_VERSION: stable | |||
appveyor_repo_tag: true | |||
provider: GitHub | |||
cache: | |||
- C:\Users\appveyor\.cargo\registry | |||
- target | |||
branches: | |||
only: | |||
# Release tags | |||
- /^v\d+\.\d+\.\d+.*$/ | |||
- master | |||
notifications: | |||
- provider: Email | |||
on_build_success: false | |||
# Building is done in the test phase, so we disable Appveyor's build phase. | |||
build: false |
@@ -0,0 +1,23 @@ | |||
# This script takes care of packaging the build artifacts that will go in the | |||
# release zipfile | |||
$SRC_DIR = $PWD.Path | |||
$STAGE = [System.Guid]::NewGuid().ToString() | |||
Set-Location $ENV:Temp | |||
New-Item -Type Directory -Name $STAGE | |||
Set-Location $STAGE | |||
$ZIP = "$SRC_DIR\$($Env:CRATE_NAME)-$($Env:APPVEYOR_REPO_TAG_NAME)-$($Env:TARGET).zip" | |||
# TODO Update this to package the right artifacts | |||
Copy-Item "$SRC_DIR\target\$($Env:TARGET)\release\hello.exe" '.\' | |||
7z a "$ZIP" * | |||
Push-AppveyorArtifact "$ZIP" | |||
Remove-Item *.* -Force | |||
Set-Location .. | |||
Remove-Item $STAGE | |||
Set-Location $SRC_DIR |
@@ -0,0 +1,33 @@ | |||
# This script takes care of building your crate and packaging it for release | |||
set -ex | |||
main() { | |||
local src=$(pwd) \ | |||
stage= | |||
case $TRAVIS_OS_NAME in | |||
linux) | |||
stage=$(mktemp -d) | |||
;; | |||
osx) | |||
stage=$(mktemp -d -t tmp) | |||
;; | |||
esac | |||
test -f Cargo.lock || cargo generate-lockfile | |||
# TODO Update this to build the artifacts that matter to you | |||
cross rustc --bin hello --target $TARGET --release -- -C lto | |||
# TODO Update this to package the right artifacts | |||
cp target/$TARGET/release/hello $stage/ | |||
cd $stage | |||
tar czf $src/$CRATE_NAME-$TRAVIS_TAG-$TARGET.tar.gz * | |||
cd $src | |||
rm -rf $stage | |||
} | |||
main |
@@ -0,0 +1,27 @@ | |||
set -ex | |||
main() { | |||
local target= | |||
if [ $TRAVIS_OS_NAME = linux ]; then | |||
target=x86_64-unknown-linux-musl | |||
sort=sort | |||
else | |||
target=x86_64-apple-darwin | |||
sort=gsort # for `sort --sort-version`, from brew's coreutils. | |||
fi | |||
# This fetches latest stable release | |||
local tag=$(git ls-remote --tags --refs --exit-code https://github.com/japaric/cross \ | |||
| cut -d/ -f3 \ | |||
| grep -E '^v[0.1.0-9.]+$' \ | |||
| $sort --version-sort \ | |||
| tail -n1) | |||
curl -LSfs https://japaric.github.io/trust/install.sh | \ | |||
sh -s -- \ | |||
--force \ | |||
--git japaric/cross \ | |||
--tag $tag \ | |||
--target $target | |||
} | |||
main |
@@ -0,0 +1,24 @@ | |||
# This script takes care of testing your crate | |||
set -ex | |||
# TODO This is the "test phase", tweak it as you see fit | |||
main() { | |||
cross build --target $TARGET | |||
cross build --target $TARGET --release | |||
if [ ! -z $DISABLE_TESTS ]; then | |||
return | |||
fi | |||
cross test --target $TARGET | |||
cross test --target $TARGET --release | |||
cross run --target $TARGET | |||
cross run --target $TARGET --release | |||
} | |||
# we don't run the "test phase" when doing deploys | |||
if [ -z $TRAVIS_TAG ]; then | |||
main | |||
fi |