Skip to content
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

Update CI from ubuntu 16.04 (EOL) to 19.04 #1337

Merged
merged 50 commits into from May 16, 2019
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
50 commits
Select commit Hold shift + click to select a range
0af80ca
Refactor Android target
gnzlbg May 14, 2019
89a3d03
Update Android Docker images Ubuntu version
gnzlbg May 14, 2019
3c2284c
Remove OpenBSD-related dead-code
gnzlbg May 14, 2019
b976dc2
Refactor FreeBSD target
gnzlbg May 14, 2019
ac90c57
Refactor Linux target
gnzlbg May 14, 2019
18bf94c
Update all remaining targets to Ubuntu 18.04
gnzlbg May 14, 2019
3956bf0
Skip verification of gettimeofday on FreeBSD
gnzlbg May 14, 2019
26d9193
Warn users of gettimeofday of potential breaking change
gnzlbg May 14, 2019
bee2611
Remove conflicting linux/netfilter_ipv4.h header file due to conflict…
gnzlbg May 14, 2019
0f96e54
Remove conflicting linux/netfilter_ipv6.h header file due to conflict…
gnzlbg May 14, 2019
bb2f296
Add missing netinet/ip.h header
gnzlbg May 14, 2019
426f91b
Fix typo in Linux checking
gnzlbg May 14, 2019
dc7311b
Include aio.h before sys/mount.h on linux
gnzlbg May 14, 2019
9da2fd5
Add missing utmpx.h header to freebsd tests
gnzlbg May 14, 2019
54fcb89
Add missing sysctl header to freebsd tests
gnzlbg May 14, 2019
cb3a9db
Include aio.h as the last header
gnzlbg May 14, 2019
352ee1c
Include Linux headers after sys headers
gnzlbg May 14, 2019
f67f831
readd netfilter headers
gnzlbg May 14, 2019
bf76ded
Test the Elf32/64 types sperately
gnzlbg May 15, 2019
d269543
[breaking change] PTRACE_GETFPXREGS and PTRACE_SETFPXREGS were incorr…
gnzlbg May 15, 2019
5bdb28f
[breaking change] remove SYS_reserved and SYS_unused constants
gnzlbg May 15, 2019
6db4afa
Correct value of some NFT_ constants
gnzlbg May 15, 2019
9212a9c
Update openjdk to version 11 in Docker containers
gnzlbg May 15, 2019
be36f68
execinfo not available in emscripten
gnzlbg May 15, 2019
5d5ceea
Correct value of some NFT_ constants on ARM
gnzlbg May 15, 2019
4aa5a45
Correct assert for mips+musl
gnzlbg May 15, 2019
4c938e5
Move sparc64 Docker image to Ubuntu
gnzlbg May 15, 2019
bdb1816
[breaking change] Remove SYS_syscalls and SYS_arch_specific_syscall f…
gnzlbg May 15, 2019
4a8fa6f
Correct value of some NFT_ constants on AArch64
gnzlbg May 15, 2019
24f8972
[breaking change] remove PTRACE_GET/SET/FP/REGS from s390x
gnzlbg May 15, 2019
2a131d2
Update alignment of pthread_mutexattr_t
gnzlbg May 15, 2019
57e1e84
Update Debian image used in sparc64 build job to Debian 10.0
gnzlbg May 15, 2019
0ae8451
Update Debian image used in s390x build job
gnzlbg May 15, 2019
1a7ee21
Define DEPRECATED_SCANF macro to use older scanf,sscanf,fscanf symbols
gnzlbg May 15, 2019
9df115b
Update Ubuntu images to 19.04
gnzlbg May 15, 2019
e94f68c
Link against correct scanf,fscanf,sscanf
gnzlbg May 15, 2019
4497a78
Fix ucontext_t and NFT_MSG_MAX on x86_64
gnzlbg May 15, 2019
d808123
Fix ucontext_t on x86
gnzlbg May 15, 2019
e7f62bc
Fix utmpx.ut_session type on sparc64
gnzlbg May 15, 2019
3ac111c
Try to fix builds of the Android SDK
gnzlbg May 15, 2019
198ead7
ucontext_t ssp field uses c_long and not c_longlog
gnzlbg May 15, 2019
58091df
Fix FLUSHO value on Sparc64
gnzlbg May 15, 2019
b701d5c
Fix NFT tables on Sparc64
gnzlbg May 15, 2019
7ed51c1
Fix NFT_MSG_MAX on Sparc64
gnzlbg May 15, 2019
e07c7bd
Fix utmpx on Sparc64
gnzlbg May 15, 2019
3ac67eb
Rename wasm32-unknown-wasi to wasm32-wasi
gnzlbg May 16, 2019
9183c00
Remove unecessarily disabling a warning on FreeBSD
gnzlbg May 16, 2019
77a4683
Remove bitrig support
gnzlbg May 16, 2019
5a0e37e
Add wasm32-wasi to ci/build.sh
gnzlbg May 16, 2019
8eceb62
Rename _wasi_rmfileat to _wasi_unlinkat
gnzlbg May 16, 2019
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
2 changes: 1 addition & 1 deletion .travis.yml
Expand Up @@ -204,7 +204,7 @@ matrix:
stage: tier2
- env: TARGET=x86_64-unknown-linux-musl
stage: tier2
- env: TARGET=wasm32-unknown-wasi
- env: TARGET=wasm32-wasi
rust: nightly
stage: tier2

Expand Down
3 changes: 3 additions & 0 deletions ci/android-install-sdk.sh
Expand Up @@ -45,6 +45,9 @@ case "$1" in
;;
esac;

# See: https://stackoverflow.com/a/51644855/1422197
export JAVA_OPTS='-XX:+IgnoreUnrecognizedVMOptions --add-modules java.se.ee'

# --no_https avoids
# javax.net.ssl.SSLHandshakeException: sun.security.validator.ValidatorException: No trusted certificate found
yes | ./sdk/tools/bin/sdkmanager --licenses --no_https
Expand Down
2 changes: 1 addition & 1 deletion ci/build.sh
Expand Up @@ -115,6 +115,7 @@ aarch64-fuchsia \
armv5te-unknown-linux-gnueabi \
armv5te-unknown-linux-musleabi \
i686-pc-windows-gnu \
wasm32-wasi \
x86_64-fortanix-unknown-sgx \
x86_64-fuchsia \
x86_64-pc-windows-gnu \
Expand Down Expand Up @@ -199,7 +200,6 @@ thumbv7neon-linux-androideabi \
thumbv7neon-unknown-linux-gnueabihf \
thumbv8m.main-none-eabi \
x86_64-pc-windows-msvc
x86_64-unknown-bitrig \
x86_64-unknown-dragonfly \
x86_64-unknown-haiku \
x86_64-unknown-hermit \
Expand Down
4 changes: 2 additions & 2 deletions ci/docker/aarch64-linux-android/Dockerfile
@@ -1,4 +1,4 @@
FROM ubuntu:16.04
FROM ubuntu:19.04

RUN dpkg --add-architecture i386 && \
apt-get update && \
Expand All @@ -9,7 +9,7 @@ RUN dpkg --add-architecture i386 && \
python \
unzip \
expect \
openjdk-9-jre \
openjdk-11-jre \
libstdc++6:i386 \
libpulse0 \
gcc \
Expand Down
2 changes: 1 addition & 1 deletion ci/docker/aarch64-unknown-linux-gnu/Dockerfile
@@ -1,4 +1,4 @@
FROM ubuntu:17.10
FROM ubuntu:19.04
RUN apt-get update && apt-get install -y --no-install-recommends \
gcc libc6-dev ca-certificates \
gcc-aarch64-linux-gnu libc6-dev-arm64-cross qemu-user
Expand Down
2 changes: 1 addition & 1 deletion ci/docker/aarch64-unknown-linux-musl/Dockerfile
@@ -1,4 +1,4 @@
FROM ubuntu:18.04
FROM ubuntu:19.04

RUN apt-get update && apt-get install -y --no-install-recommends \
gcc make libc6-dev git curl ca-certificates \
Expand Down
4 changes: 2 additions & 2 deletions ci/docker/arm-linux-androideabi/Dockerfile
@@ -1,4 +1,4 @@
FROM ubuntu:16.04
FROM ubuntu:19.04

RUN dpkg --add-architecture i386 && \
apt-get update && \
Expand All @@ -9,7 +9,7 @@ RUN dpkg --add-architecture i386 && \
python \
unzip \
expect \
openjdk-9-jre \
openjdk-11-jre \
libstdc++6:i386 \
libpulse0 \
gcc \
Expand Down
2 changes: 1 addition & 1 deletion ci/docker/arm-unknown-linux-gnueabihf/Dockerfile
@@ -1,4 +1,4 @@
FROM ubuntu:17.10
FROM ubuntu:19.04
RUN apt-get update && apt-get install -y --no-install-recommends \
gcc libc6-dev ca-certificates \
gcc-arm-linux-gnueabihf libc6-dev-armhf-cross qemu-user
Expand Down
2 changes: 1 addition & 1 deletion ci/docker/arm-unknown-linux-musleabihf/Dockerfile
@@ -1,4 +1,4 @@
FROM ubuntu:18.04
FROM ubuntu:19.04

RUN apt-get update && apt-get install -y --no-install-recommends \
gcc make libc6-dev git curl ca-certificates \
Expand Down
2 changes: 1 addition & 1 deletion ci/docker/asmjs-unknown-emscripten/Dockerfile
@@ -1,4 +1,4 @@
FROM ubuntu:16.04
FROM ubuntu:19.04

RUN apt-get update && \
apt-get install -y --no-install-recommends \
Expand Down
4 changes: 2 additions & 2 deletions ci/docker/i686-linux-android/Dockerfile
@@ -1,4 +1,4 @@
FROM ubuntu:16.04
FROM ubuntu:19.04

RUN dpkg --add-architecture i386 && \
apt-get update && \
Expand All @@ -9,7 +9,7 @@ RUN dpkg --add-architecture i386 && \
python \
unzip \
expect \
openjdk-9-jre \
openjdk-11-jre \
libstdc++6:i386 \
libpulse0 \
gcc \
Expand Down
2 changes: 1 addition & 1 deletion ci/docker/i686-unknown-linux-gnu/Dockerfile
@@ -1,4 +1,4 @@
FROM ubuntu:18.04
FROM ubuntu:19.04
RUN apt-get update
RUN apt-get install -y --no-install-recommends \
gcc-multilib libc6-dev ca-certificates
Expand Down
2 changes: 1 addition & 1 deletion ci/docker/i686-unknown-linux-musl/Dockerfile
@@ -1,4 +1,4 @@
FROM ubuntu:18.04
FROM ubuntu:19.04

RUN dpkg --add-architecture i386
RUN apt-get update
Expand Down
2 changes: 1 addition & 1 deletion ci/docker/mips-unknown-linux-gnu/Dockerfile
@@ -1,4 +1,4 @@
FROM ubuntu:17.10
FROM ubuntu:19.04

RUN apt-get update && apt-get install -y --no-install-recommends \
gcc libc6-dev qemu-user ca-certificates \
Expand Down
2 changes: 1 addition & 1 deletion ci/docker/mips-unknown-linux-musl/Dockerfile
@@ -1,4 +1,4 @@
FROM ubuntu:18.04
FROM ubuntu:19.04

RUN apt-get update && apt-get install -y --no-install-recommends \
gcc libc6-dev qemu-user ca-certificates qemu-system-mips curl \
Expand Down
2 changes: 1 addition & 1 deletion ci/docker/mips64-unknown-linux-gnuabi64/Dockerfile
@@ -1,4 +1,4 @@
FROM ubuntu:17.10
FROM ubuntu:19.04

RUN apt-get update && apt-get install -y --no-install-recommends \
gcc libc6-dev qemu-user ca-certificates \
Expand Down
2 changes: 1 addition & 1 deletion ci/docker/mips64el-unknown-linux-gnuabi64/Dockerfile
@@ -1,4 +1,4 @@
FROM ubuntu:17.10
FROM ubuntu:19.04

RUN apt-get update && apt-get install -y --no-install-recommends \
gcc libc6-dev qemu-user ca-certificates \
Expand Down
2 changes: 1 addition & 1 deletion ci/docker/mipsel-unknown-linux-musl/Dockerfile
@@ -1,4 +1,4 @@
FROM ubuntu:18.04
FROM ubuntu:19.04

RUN apt-get update && apt-get install -y --no-install-recommends \
gcc libc6-dev qemu-user ca-certificates qemu-system-mips curl \
Expand Down
2 changes: 1 addition & 1 deletion ci/docker/powerpc-unknown-linux-gnu/Dockerfile
@@ -1,4 +1,4 @@
FROM ubuntu:18.04
FROM ubuntu:19.04

RUN apt-get update && apt-get install -y --no-install-recommends \
gcc libc6-dev qemu-user ca-certificates \
Expand Down
2 changes: 1 addition & 1 deletion ci/docker/powerpc64-unknown-linux-gnu/Dockerfile
@@ -1,4 +1,4 @@
FROM ubuntu:18.04
FROM ubuntu:19.04

RUN apt-get update && apt-get install -y --no-install-recommends \
gcc libc6-dev qemu-user ca-certificates \
Expand Down
2 changes: 1 addition & 1 deletion ci/docker/powerpc64le-unknown-linux-gnu/Dockerfile
@@ -1,4 +1,4 @@
FROM ubuntu:18.04
FROM ubuntu:19.04

RUN apt-get update && apt-get install -y --no-install-recommends \
gcc libc6-dev qemu-user ca-certificates \
Expand Down
2 changes: 1 addition & 1 deletion ci/docker/s390x-unknown-linux-gnu/Dockerfile
@@ -1,4 +1,4 @@
FROM ubuntu:17.10
FROM ubuntu:19.04

RUN apt-get update && apt-get install -y --no-install-recommends \
curl ca-certificates \
Expand Down
7 changes: 2 additions & 5 deletions ci/docker/sparc64-unknown-linux-gnu/Dockerfile
@@ -1,14 +1,11 @@
FROM debian:stretch
FROM ubuntu:19.04

RUN apt-get update && apt-get install -y --no-install-recommends \
curl ca-certificates \
gcc libc6-dev \
gcc-sparc64-linux-gnu libc6-dev-sparc64-cross \
qemu-system-sparc64 openbios-sparc seabios ipxe-qemu \
p7zip-full cpio linux-libc-dev-sparc64-cross linux-headers-4.9.0-3-common

# Put linux/module.h into the right spot as it is not shipped by debian
RUN cp /usr/src/linux-headers-4.9.0-3-common/include/uapi/linux/module.h /usr/sparc64-linux-gnu/include/linux/
p7zip-full cpio linux-libc-dev-sparc64-cross

COPY linux-sparc64.sh /
RUN bash /linux-sparc64.sh
Expand Down
2 changes: 1 addition & 1 deletion ci/docker/wasm32-unknown-emscripten/Dockerfile
@@ -1,4 +1,4 @@
FROM ubuntu:16.04
FROM ubuntu:19.04

RUN apt-get update && \
apt-get install -y --no-install-recommends \
Expand Down
2 changes: 0 additions & 2 deletions ci/docker/wasm32-unknown-wasi/clang.sh

This file was deleted.

Expand Up @@ -28,13 +28,13 @@ RUN mv /clang+llvm-8.0.0-x86_64-linux-gnu-ubuntu-18.04 /wasmcc
# those breaking changes on `libc`'s own CI
RUN git clone https://github.com/CraneStation/wasi-sysroot && \
cd wasi-sysroot && \
git reset --hard 2201343c17b7149a75f543f523bea0c3243c6091
git reset --hard eee6ee7566e26f2535eb6088c8494a112ff423b9
RUN make -C wasi-sysroot install -j $(nproc) WASM_CC=/wasmcc/bin/clang INSTALL_DIR=/wasi-sysroot

# This is a small wrapper script which executes the actual clang binary in
# `/wasmcc` and then is sure to pass the right `--sysroot` argument which we
# just built above.
COPY docker/wasm32-unknown-wasi/clang.sh /wasi-sysroot/bin/clang
COPY docker/wasm32-wasi/clang.sh /wasi-sysroot/bin/clang

# In the second container we're going to build the `wasmtime` binary which is
# used to execute wasi executables. This is a standard Rust project so we're
Expand All @@ -58,9 +58,9 @@ RUN curl -sSf https://sh.rustup.rs | sh -s -- -y
ENV PATH=/root/.cargo/bin:$PATH

RUN apt-get install -y --no-install-recommends python
RUN git clone https://github.com/CraneStation/wasmtime wasmtime && \
RUN git clone --recursive https://github.com/CraneStation/wasmtime wasmtime && \
cd wasmtime && \
git reset --hard a1c123c3dd8f9766990efe0f1734a646f61ba8a0
git reset --hard 67edb00f29b62864b00179fe4bfa99bc29973285
RUN cargo build --release --manifest-path wasmtime/Cargo.toml

# And finally in the last image we're going to assemble everything together.
Expand All @@ -86,8 +86,8 @@ COPY --from=wasmtime /wasmtime/target/release/wasmtime /usr/bin/
# executable with the right sysroot, and then we're sure to turn off the
# crt-static feature to ensure that the CRT that we're specifying with `clang`
# is used.
ENV CARGO_TARGET_WASM32_UNKNOWN_WASI_RUNNER=wasmtime \
CARGO_TARGET_WASM32_UNKNOWN_WASI_LINKER=/wasi-sysroot/bin/clang \
CC_wasm32_unknown_wasi=/wasi-sysroot/bin/clang \
ENV CARGO_TARGET_WASM32_WASI_RUNNER=wasmtime \
CARGO_TARGET_WASM32_WASI_LINKER=/wasi-sysroot/bin/clang \
CC_wasm32_wasi=/wasi-sysroot/bin/clang \
PATH=$PATH:/rust/bin \
RUSTFLAGS=-Ctarget-feature=-crt-static
2 changes: 2 additions & 0 deletions ci/docker/wasm32-wasi/clang.sh
@@ -0,0 +1,2 @@
#!/usr/bin/env sh
exec /wasmcc/bin/clang --target=wasm32-wasi --sysroot /wasi-sysroot "$@"
2 changes: 1 addition & 1 deletion ci/docker/x86_64-linux-android/Dockerfile
@@ -1,4 +1,4 @@
FROM ubuntu:16.04
FROM ubuntu:19.04

RUN apt-get update && \
apt-get install -y --no-install-recommends \
Expand Down
2 changes: 1 addition & 1 deletion ci/docker/x86_64-unknown-linux-gnu/Dockerfile
@@ -1,4 +1,4 @@
FROM ubuntu:18.04
FROM ubuntu:19.04
RUN apt-get update
RUN apt-get install -y --no-install-recommends \
gcc libc6-dev ca-certificates
Expand Down
2 changes: 1 addition & 1 deletion ci/docker/x86_64-unknown-linux-gnux32/Dockerfile
@@ -1,4 +1,4 @@
FROM ubuntu:18.04
FROM ubuntu:19.04
RUN apt-get update
RUN apt-get install -y --no-install-recommends \
gcc-multilib libc6-dev ca-certificates
Expand Down
2 changes: 1 addition & 1 deletion ci/docker/x86_64-unknown-linux-musl/Dockerfile
@@ -1,4 +1,4 @@
FROM ubuntu:18.04
FROM ubuntu:19.04

RUN apt-get update
RUN apt-get install -y --no-install-recommends \
Expand Down
4 changes: 2 additions & 2 deletions ci/linux-s390x.sh
Expand Up @@ -6,8 +6,8 @@ mkdir -m 777 /qemu
cd /qemu

curl --retry 5 -LO https://github.com/qemu/qemu/raw/master/pc-bios/s390-ccw.img
curl --retry 5 -LO http://ftp.debian.org/debian/dists/testing/main/installer-s390x/20170828/images/generic/kernel.debian
curl --retry 5 -LO http://ftp.debian.org/debian/dists/testing/main/installer-s390x/20170828/images/generic/initrd.debian
curl --retry 5 -LO http://ftp.debian.org/debian/dists/testing/main/installer-s390x/20190410/images/generic/kernel.debian
curl --retry 5 -LO http://ftp.debian.org/debian/dists/testing/main/installer-s390x/20190410/images/generic/initrd.debian

mv kernel.debian kernel
mv initrd.debian initrd.gz
Expand Down
8 changes: 4 additions & 4 deletions ci/linux-sparc64.sh
Expand Up @@ -5,11 +5,11 @@ set -ex
mkdir -m 777 /qemu
cd /qemu

curl --retry 5 -LO https://cdimage.debian.org/cdimage/ports/9.0/sparc64/iso-cd/debian-9.0-sparc64-NETINST-1.iso
7z e debian-9.0-sparc64-NETINST-1.iso boot/initrd.gz
7z e debian-9.0-sparc64-NETINST-1.iso boot/sparc64
curl --retry 5 -LO https://cdimage.debian.org/cdimage/ports/10.0/sparc64/iso-cd/debian-10.0-sparc64-NETINST-1.iso
7z e debian-10.0-sparc64-NETINST-1.iso boot/initrd.gz
7z e debian-10.0-sparc64-NETINST-1.iso boot/sparc64
mv sparc64 kernel
rm debian-9.0-sparc64-NETINST-1.iso
rm debian-10.0-sparc64-NETINST-1.iso

mkdir init
cd init
Expand Down