Skip to content

Commit

Permalink
Add Travis/AppVeyor deployments
Browse files Browse the repository at this point in the history
  • Loading branch information
alexcrichton committed Mar 6, 2018
1 parent ddf27f0 commit e23c819
Show file tree
Hide file tree
Showing 5 changed files with 79 additions and 9 deletions.
34 changes: 32 additions & 2 deletions .appveyor.yml
@@ -1,7 +1,14 @@
environment:
global:
RUSTFLAGS: -Zunstable-options -Ctarget-feature=+crt-static
matrix:
- TARGET: x86_64-pc-windows-msvc
DEPLOY: 1

install:
- ps: Install-Product node 9
- appveyor-retry appveyor DownloadFile https://win.rustup.rs/ -FileName rustup-init.exe
- if not defined RUSTFLAGS rustup-init.exe -y --default-host x86_64-pc-windows-msvc --default-toolchain nightly
- rustup-init.exe -y --default-host x86_64-pc-windows-msvc --default-toolchain nightly
- set PATH=%PATH%;C:\Users\appveyor\.cargo\bin
- rustc -V
- cargo -V
Expand All @@ -12,4 +19,27 @@ test_script:
- rustup target add wasm32-unknown-unknown
- yarn
- cargo test
- cargo install --debug --path crates/wasm-bindgen-cli
- cargo build --release -p wasm-bindgen-cli

before_deploy:
- ps: |
$NAME = "wasm-bindgen-${env:APPVEYOR_REPO_TAG_NAME}-${env:TARGET}"
New-Item -Path $NAME -ItemType directory
Copy-Item target/release/wasm-bindgen.exe "${NAME}/"
Copy-Item target/release/wasm2es6js.exe "${NAME}/"
Copy-Item LICENSE-MIT "${NAME}/"
Copy-Item LICENSE-APACHE "${NAME}/"
Copy-Item README.md "${NAME}/"
7z a -ttar "${NAME}.tar" "${NAME}"
7z a "${NAME}.tar.gz" "${NAME}.tar"
Push-AppveyorArtifact "${NAME}.tar.gz"
deploy:
artifact: /.*\.tar.gz/
auth_token:
secure: dtHSvbZkdAFtL0J5YrSw8DpxjfYuHWgqD1SupmJT/yfYSjEBiX55RFXRoqBM2tx1
description: ''
on:
appveyor_repo_tag: true
provider: GitHub

35 changes: 35 additions & 0 deletions .travis.yml
Expand Up @@ -3,8 +3,25 @@ sudo: false

matrix:
include:
# CLI builds on stable
- rust: stable
install: true
script: cargo build -p wasm-bindgen-cli

# Tests pass on nightly
- rust: nightly

# Dist linux binary
- env: TARGET=x86_64-unknown-linux-musl DEPLOY=1
before_script: rustup target add $TARGET
script: cargo build -p wasm-bindgen-cli --release --target $TARGET

# Dist OSX binary
- os: osx
env: MACOSX_DEPLOYMENT_TARGET=10.7 DEPLOY=1 TARGET=x86_64-apple-darwin
script: cargo build -p wasm-bindgen-cli --release --target $TARGET
before_install: brew install yarn --without-node

install:
- curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.33.8/install.sh | bash
- source ~/.nvm/nvm.sh
Expand All @@ -26,3 +43,21 @@ notifications:
email:
on_success: never

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:
condition: $DEPLOY = 1
tags: true
provider: releases
skip_cleanup: true
1 change: 0 additions & 1 deletion crates/wasm-bindgen-cli-support/Cargo.toml
Expand Up @@ -5,7 +5,6 @@ authors = ["Alex Crichton <alex@alexcrichton.com>"]

[dependencies]
base64 = "0.9"
failure = "0.1"
parity-wasm = "0.27"
serde_json = "1.0"
wasm-bindgen-shared = { path = "../wasm-bindgen-shared" }
Expand Down
16 changes: 11 additions & 5 deletions crates/wasm-bindgen-cli-support/src/lib.rs
@@ -1,5 +1,3 @@
#[macro_use]
extern crate failure;
extern crate parity_wasm;
extern crate wasm_bindgen_shared as shared;
extern crate serde_json;
Expand All @@ -11,7 +9,6 @@ use std::io::Write;
use std::path::{Path, PathBuf};
use std::slice;

use failure::Error;
use parity_wasm::elements::*;

mod js;
Expand All @@ -24,6 +21,15 @@ pub struct Bindgen {
typescript: bool,
}

#[derive(Debug)]
pub struct Error(String);

impl<E: std::error::Error> From<E> for Error {
fn from(e: E) -> Error {
Error(e.to_string())
}
}

impl Bindgen {
pub fn new() -> Bindgen {
Bindgen {
Expand Down Expand Up @@ -65,7 +71,7 @@ impl Bindgen {
};
let stem = input.file_stem().unwrap().to_str().unwrap();
let mut module = parity_wasm::deserialize_file(input).map_err(|e| {
format_err!("{:?}", e)
Error(format!("{:?}", e))
})?;
let programs = extract_programs(&mut module);

Expand Down Expand Up @@ -107,7 +113,7 @@ impl Bindgen {

let wasm_path = out_dir.join(format!("{}_bg", stem)).with_extension("wasm");
let wasm_bytes = parity_wasm::serialize(module).map_err(|e| {
format_err!("{:?}", e)
Error(format!("{:?}", e))
})?;
let bytes = wasm_gc::Config::new()
.demangle(false)
Expand Down
2 changes: 1 addition & 1 deletion crates/wasm-bindgen-cli-support/src/wasm2es6js.rs
Expand Up @@ -30,7 +30,7 @@ impl Config {
pub fn generate(&mut self, wasm: &[u8]) -> Result<Output, Error> {
assert!(self.base64);
let module = deserialize_buffer(wasm).map_err(|e| {
format_err!("{:?}", e)
::Error(format!("{:?}", e))
})?;
Ok(Output {
module,
Expand Down

0 comments on commit e23c819

Please sign in to comment.