Skip to content

Add asmjs/wasm32 to CI #742

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 28 commits into from
Aug 27, 2017
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
28 commits
Select commit Hold shift + click to select a range
3c6a4f2
Bump ctest to 0.1.3
malbarbo Jun 8, 2017
6324ed9
Add support for emscripten tests
malbarbo Jun 8, 2017
772efe9
Fix c_char and wchar_t for emscripten
malbarbo Jun 8, 2017
0547ddf
Fix rusage and sched_param for emscripten
malbarbo Jun 8, 2017
2ca0849
Fix pthread related definitions for emscripten
malbarbo Jun 8, 2017
084e473
Fix loff_t, ino_t, off_t, blkcnt_t, blksize_t, fsblkcnt_t, fsfilcnt_t…
malbarbo Jun 8, 2017
66c7d05
Fix dev_t, ino64_t, off64_t, blkcnt64_t definitions for emscripten
malbarbo Jun 8, 2017
d87405d
Fix POSIX_MADV_DONTNEED definition for emscripten
malbarbo Jun 8, 2017
cd00492
Enavle travis tests for emscripten
malbarbo Jun 8, 2017
6cd1dd3
Fix style
malbarbo Jun 9, 2017
8f88b6d
Hide output of emsdk installation
malbarbo Jun 9, 2017
4228e72
Change compiler to beta for emscripten (stable is failing)
malbarbo Jun 9, 2017
ef7e8e9
Merge branch 'master' of https://github.com/rust-lang/libc into emscr…
malbarbo Jun 9, 2017
5363161
Fix __SIZEOF_PTHREAD_MUTEX_T for mips
malbarbo Jun 9, 2017
b49cecf
Change compiler to stable for emscripten and skip some functions
malbarbo Jun 9, 2017
bf60a14
Disable wasm-unknown-emscripten tests on travis
malbarbo Jun 9, 2017
80fda85
Remove some functions from emscripten whitelist
malbarbo Jun 13, 2017
a7d5b09
Merge branch 'master' of https://github.com/rust-lang/libc into emscr…
malbarbo Jun 13, 2017
97502e8
Add recent added functions to wasm32 whitelist
malbarbo Jun 13, 2017
f22bfe3
Update emscripten to sdk-1.37.14-64bit
malbarbo Jun 20, 2017
7df3af3
Merge branch 'master' of https://github.com/rust-lang/libc into emscr…
malbarbo Jun 20, 2017
52f1b31
Enable travis tests for wasm32
malbarbo Jun 20, 2017
22b98de
Add asmjs/wasm32 to CI
alexcrichton Aug 27, 2017
a4ce3a8
Merge branch 'wasm-rebase' into wasm
alexcrichton Aug 27, 2017
1ee8056
Fix style
alexcrichton Aug 27, 2017
4c90a73
Add emscripten/wasm to dox builds
alexcrichton Aug 27, 2017
5822645
Update emscripten to latest
alexcrichton Aug 27, 2017
305cec3
Fix musl build
alexcrichton Aug 27, 2017
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 2 additions & 0 deletions .travis.yml
Original file line number Diff line number Diff line change
Expand Up @@ -70,6 +70,8 @@ matrix:
- env: TARGET=mips64-unknown-linux-gnuabi64
- env: TARGET=mips-unknown-linux-gnu
- env: TARGET=s390x-unknown-linux-gnu
- env: TARGET=asmjs-unknown-emscripten
- env: TARGET=wasm32-unknown-emscripten

# beta
- env: TARGET=x86_64-unknown-linux-gnu NO_ADD=1
Expand Down
237 changes: 218 additions & 19 deletions Cargo.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

20 changes: 20 additions & 0 deletions ci/docker/asmjs-unknown-emscripten/Dockerfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
FROM ubuntu:16.04

RUN apt-get update && \
apt-get install -y --no-install-recommends \
ca-certificates \
curl \
gcc \
git \
libc6-dev \
python \
xz-utils

COPY emscripten.sh /
RUN bash /emscripten.sh

ENV PATH=$PATH:/rust/bin \
CARGO_TARGET_ASMJS_UNKNOWN_EMSCRIPTEN_RUNNER=node

COPY emscripten-entry.sh /
ENTRYPOINT ["/emscripten-entry.sh"]
21 changes: 21 additions & 0 deletions ci/docker/wasm32-unknown-emscripten/Dockerfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
FROM ubuntu:16.04

RUN apt-get update && \
apt-get install -y --no-install-recommends \
ca-certificates \
curl \
gcc \
git \
libc6-dev \
python \
xz-utils

COPY emscripten.sh /
RUN bash /emscripten.sh

ENV PATH=$PATH:/rust/bin \
CARGO_TARGET_WASM32_UNKNOWN_EMSCRIPTEN_RUNNER=node-wrapper.sh

COPY emscripten-entry.sh /
COPY docker/wasm32-unknown-emscripten/node-wrapper.sh /usr/local/bin/node-wrapper.sh
ENTRYPOINT ["/emscripten-entry.sh"]
11 changes: 11 additions & 0 deletions ci/docker/wasm32-unknown-emscripten/node-wrapper.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
#!/bin/sh

set -e

me=$1
shift
dir=$(dirname $me)
file=$(basename $me)

cd $dir
exec node $file "$@"
19 changes: 19 additions & 0 deletions ci/emscripten-entry.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
#!/bin/bash
# Copyright 2017 The Rust Project Developers. See the COPYRIGHT
# file at the top-level directory of this distribution and at
# http://rust-lang.org/COPYRIGHT.
#
# Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
# http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
# <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
# option. This file may not be copied, modified, or distributed
# except according to those terms.

set -ex

source /emsdk-portable/emsdk_env.sh &> /dev/null

# emsdk-portable provides a node binary, but we need version 8 to run wasm
export PATH="/node-v8.0.0-linux-x64/bin:$PATH"

exec "$@"
Loading