Set up CI with Azure Pipelines (#927)
diff --git a/.travis.yml b/.travis.yml
deleted file mode 100644
index 8bbb77e..0000000
--- a/.travis.yml
+++ /dev/null
@@ -1,117 +0,0 @@
----
-language: rust
-dist: trusty
-sudo: required
-services: docker
-cache: cargo
-
-before_cache:
- # Travis can't cache files that are not readable by "others"
- - chmod -R a+r $HOME/.cargo
-
-script:
- - cargo build
- - cargo build --no-default-features
- - cargo test
-
-matrix:
- include:
-
- # Test compatibility
- #
- # 1.18.0 is the oldest supported version of Rust. This value should NOT be
- # changed without prior discussion.
- #
- # This build also deploys docs
- - os: linux
- rust: 1.18.0
- before_script:
- - pip install 'travis-cargo<0.2' --user && export PATH=$HOME/.local/bin:$PATH
- script:
- # Ensure that the build works without default features
- - cargo build
- - cargo build --no-default-features
- - cargo test
- - cargo test --no-default-features
- - cargo doc --no-deps
- after_success:
- - travis-cargo doc-upload
-
- # Test on latest stable
- - os: linux
- rust: stable
- script:
- # Ensure that the build works without default features
- - cargo build
- - cargo build --no-default-features
- - cargo test
- - cargo test --no-default-features
-
- # OS X
- - os: osx
- rust: stable
- script:
- # Ensure that the build works without default features
- - cargo build --no-default-features
- - cargo test
- - cargo test --no-default-features
-
- # iOS
- - os: osx
- osx_image: xcode8.2
- env: TARGET=x86_64-apple-ios DISABLE_TESTS=1
- rust: stable
- script:
- - cargo build --target "$TARGET"
- - cargo build --target "$TARGET" --no-default-features
- install:
- - rustup target add $TARGET
-
- # Android arm-linux-androideabi
- - os: linux
- env: TARGET=arm-linux-androideabi
- rust: stable
- script:
- - cargo build
- - cargo build --no-default-features
- - sh ci/run-docker.sh $TARGET;
- install:
- - rustup target add $TARGET
-
- # Android aarch64-linux-android
- - os: linux
- env: TARGET=aarch64-linux-android
- rust: stable
- script:
- - cargo build
- - cargo build --no-default-features
- - sh ci/run-docker.sh $TARGET;
- install:
- - rustup target add $TARGET
-
- # NetBSD
- - os: linux
- env: TARGET=x86_64-unknown-netbsd DISABLE_TESTS=1
- install:
- - sh ci/trust/install.sh
- - source ~/.cargo/env || true
- script:
- - bash ci/trust/script.sh
-
- # Solaris
- - os: linux
- env: TARGET=x86_64-sun-solaris DISABLE_TESTS=1
- install:
- - sh ci/trust/install.sh
- - source ~/.cargo/env || true
- script:
- - bash ci/trust/script.sh
-
-env:
- global:
- - CRATE_NAME=mio
- - secure: "B/5BSBwUX1r+99YJba421+x7eGgm8J+Cuy7nOAenkRsCP+h5JiOFP4IWyoRgmGQoF1dgGwlHuOLBYvcBj1r8p2i3b8akLk/L83iOBbYNkhub6TpDjltTOZ30brrM++LayazAKHg8mixsTiu72cSJr1BiELQae/ABq9QHTj4v3m4="
-
-notifications:
- email:
- on_success: never
diff --git a/README.md b/README.md
index 4503381..2a472bb 100644
--- a/README.md
+++ b/README.md
@@ -3,16 +3,24 @@
Mio is a lightweight I/O library for Rust with a focus on adding as little
overhead as possible over the OS abstractions.
-[![crates.io](http://meritbadge.herokuapp.com/mio)](https://crates.io/crates/mio)
-[![Build Status](https://travis-ci.org/carllerche/mio.svg?branch=master)](https://travis-ci.org/carllerche/mio)
-[![Build status](https://ci.appveyor.com/api/projects/status/ok90r1tcgkyndnvw/branch/master?svg=true)](https://ci.appveyor.com/project/carllerche/mio/branch/master)
-[![Build Status](https://api.cirrus-ci.com/github/carllerche/mio.svg)](https://cirrus-ci.com/github/carllerche/mio)
+[![Crates.io][crates-badge]][crates-url]
+[![MIT licensed][mit-badge]][mit-url]
+[![Build Status][azure-badge]][azure-url]
+[![Build Status][cirrus-badge]][cirrus-url]
+
+[crates-badge]: https://img.shields.io/crates/v/mio.svg
+[crates-url]: https://crates.io/crates/mio
+[mit-badge]: https://img.shields.io/badge/license-MIT-blue.svg
+[mit-url]: LICENSE
+[azure-badge]: https://dev.azure.com/tokio-rs/Tokio/_apis/build/status/tokio-rs.mio?branchName=master
+[azure-url]: https://dev.azure.com/tokio-rs/Tokio/_build/latest?definitionId=2&branchName=master
+[cirrus-badge]: https://api.cirrus-ci.com/github/carllerche/mio.svg
+[cirrus-url]: https://cirrus-ci.com/github/carllerche/mio
**API documentation**
-* [master](https://carllerche.github.io/mio)
+* [master](https://tokio-rs.github.io/mio/doc/mio/)
* [v0.6](https://docs.rs/mio/^0.6)
-* [v0.5](https://docs.rs/mio/^0.5)
This is a low level library, if you are looking for something easier to get
started with, see [Tokio](https://tokio.rs).
@@ -60,19 +68,10 @@
* Solaris
* Android
* iOS
-* Fuchsia (experimental).
There are potentially others. If you find that Mio works on another
platform, submit a PR to update the list!
-### Libraries
-
-* [tokio-core](https://github.com/tokio-rs/tokio-core) – Underlying event loop
- for the [Tokio project](https://github.com/tokio-rs/tokio).
-* [mioco](https://github.com/dpc/mioco) – Mio COroutines
-* [coio-rs](https://github.com/zonyitoo/coio-rs) – Coroutine I/O with work-stealing scheduler
-* [ws-rs](https://github.com/housleyjk/ws-rs) – WebSockets based on Mio
-
## Community
A group of Mio users hang out in the #mio channel on the Mozilla IRC
diff --git a/appveyor.yml b/appveyor.yml
deleted file mode 100644
index be5c87e..0000000
--- a/appveyor.yml
+++ /dev/null
@@ -1,21 +0,0 @@
-environment:
- matrix:
- - TARGET: x86_64-pc-windows-msvc
- - TARGET: i686-pc-windows-msvc
- - TARGET: i686-pc-windows-gnu
-
-install:
- - ps: Start-FileDownload "https://static.rust-lang.org/dist/rust-nightly-${env:TARGET}.exe"
- - rust-nightly-%TARGET%.exe /VERYSILENT /NORESTART /DIR="C:\Program Files (x86)\Rust"
- - SET PATH=%PATH%;C:\Program Files (x86)\Rust\bin
- - SET PATH=%PATH%;C:\MinGW\bin
- - rustc -V
- - cargo -V
-
-build: false
-
-test_script:
- # Ensure that the build works without default features
- - cargo build --no-default-features
- - cargo test
- - cargo test --no-default-features
diff --git a/azure-pipelines.yml b/azure-pipelines.yml
new file mode 100644
index 0000000..603dfad
--- /dev/null
+++ b/azure-pipelines.yml
@@ -0,0 +1,50 @@
+trigger: ["master"]
+pr: ["master"]
+
+jobs:
+# Check formatting
+# - template: ci/azure-rustfmt.yml
+# parameters:
+# name: rustfmt
+
+# Stable
+- template: ci/azure-test-stable.yml
+ parameters:
+ name: stable
+ displayName: Test
+ cross: true
+
+# Nightly
+- template: ci/azure-test-stable.yml
+ parameters:
+ name: nightly
+ displayName: Nightly
+ # Pin nightly to avoid being impacted by breakage
+ rust_version: nightly-2019-04-22
+ benches: true
+
+# This represents the minimum Rust version supported by
+# Mio. Updating this should be done in a dedicated PR.
+#
+# Tests are not run as tests may require newer versions of
+# rust.
+- template: ci/azure-test-stable.yml
+ parameters:
+ name: minrust
+ displayName: Min Rust
+ rust_version: 1.18.0
+ cmd: check
+ cross: true
+
+- template: ci/azure-cross-compile.yml
+ parameters:
+ name: cross
+
+- template: ci/azure-deploy-docs.yml
+ parameters:
+ dependsOn:
+ # - rustfmt
+ - stable
+ - nightly
+ - minrust
+ - cross
diff --git a/ci/azure-cross-compile.yml b/ci/azure-cross-compile.yml
new file mode 100644
index 0000000..c7db94f
--- /dev/null
+++ b/ci/azure-cross-compile.yml
@@ -0,0 +1,56 @@
+parameters:
+ vmImage: ubuntu-16.04
+
+jobs:
+- job: ${{ parameters.name }}
+ displayName: Cross
+ strategy:
+ matrix:
+ iOS:
+ vmImage: macOS-10.13
+ target: x86_64-apple-ios
+
+ Android:
+ vmImage: ubuntu-16.04
+ target: arm-linux-androideabi
+
+ Android_64:
+ vmImage: ubuntu-16.04
+ target: aarch64-linux-android
+
+ NetBSD:
+ vmImage: ubuntu-16.04
+ target: x86_64-unknown-netbsd
+
+ Solaris:
+ vmImage: ubuntu-16.04
+ target: x86_64-sun-solaris
+
+ pool:
+ vmImage: $(vmImage)
+
+ steps:
+ - template: azure-install-rust.yml
+ parameters:
+ rust_version: stable
+
+ - script: rustup target add $(target)
+ displayName: "Add target"
+
+ - script: cargo check --target $(target)
+ displayName: Check source
+
+ - script: cargo check --tests --target $(target)
+ displayName: Check tests
+
+ - script: cargo check --examples --target $(target)
+ displayName: Check examples
+
+ - script: cargo check --target $(target) --no-default-features
+ displayName: Check source (no default features)
+
+ - script: cargo check --tests --target $(target) --no-default-features
+ displayName: Check tests (no default features)
+
+ - script: cargo check --examples --target $(target) --no-default-features
+ displayName: Check examples (no default features)
diff --git a/ci/azure-deploy-docs.yml b/ci/azure-deploy-docs.yml
new file mode 100644
index 0000000..2ff0f2a
--- /dev/null
+++ b/ci/azure-deploy-docs.yml
@@ -0,0 +1,39 @@
+parameters:
+ dependsOn: []
+
+jobs:
+- job: documentation
+ displayName: 'Deploy API Documentation'
+ condition: and(succeeded(), eq(variables['Build.SourceBranch'], 'refs/heads/master'))
+ pool:
+ vmImage: 'Ubuntu 16.04'
+ dependsOn:
+ - ${{ parameters.dependsOn }}
+ steps:
+ - template: azure-install-rust.yml
+ parameters:
+ rust_version: stable
+ - script: |
+ cargo doc --no-deps
+ cp -R target/doc '$(Build.BinariesDirectory)'
+ displayName: 'Generate Documentation'
+ - script: |
+ set -e
+
+ git --version
+ ls -la
+ git init
+ git config user.name 'Deployment Bot (from Azure Pipelines)'
+ git config user.email 'deploy@tokio-rs.com'
+ git config --global credential.helper 'store --file ~/.my-credentials'
+ printf "protocol=https\nhost=github.com\nusername=carllerche\npassword=%s\n\n" "$GITHUB_TOKEN" | git credential-store --file ~/.my-credentials store
+ git remote add origin https://github.com/tokio-rs/mio
+ git checkout -b gh-pages
+ git add .
+ git commit -m 'Deploy Mio API documentation'
+ git push -f origin gh-pages
+ env:
+ GITHUB_TOKEN: $(githubPersonalToken)
+ workingDirectory: '$(Build.BinariesDirectory)'
+ displayName: 'Deploy Documentation'
+
diff --git a/ci/azure-install-rust.yml b/ci/azure-install-rust.yml
new file mode 100644
index 0000000..654db47
--- /dev/null
+++ b/ci/azure-install-rust.yml
@@ -0,0 +1,27 @@
+steps:
+ # Linux and macOS.
+ - script: |
+ set -e
+ curl https://sh.rustup.rs -sSf | sh -s -- -y --default-toolchain $RUSTUP_TOOLCHAIN
+ echo "##vso[task.setvariable variable=PATH;]$PATH:$HOME/.cargo/bin"
+ env:
+ RUSTUP_TOOLCHAIN: ${{parameters.rust_version}}
+ displayName: "Install rust (*nix)"
+ condition: not(eq(variables['Agent.OS'], 'Windows_NT'))
+
+ # Windows.
+ - script: |
+ curl -sSf -o rustup-init.exe https://win.rustup.rs
+ rustup-init.exe -y --default-toolchain %RUSTUP_TOOLCHAIN%
+ set PATH=%PATH%;%USERPROFILE%\.cargo\bin
+ echo "##vso[task.setvariable variable=PATH;]%PATH%;%USERPROFILE%\.cargo\bin"
+ env:
+ RUSTUP_TOOLCHAIN: ${{parameters.rust_version}}
+ displayName: "Install rust (windows)"
+ condition: eq(variables['Agent.OS'], 'Windows_NT')
+
+ # All platforms.
+ - script: |
+ rustc -Vv
+ cargo -V
+ displayName: Query rust and cargo versions
diff --git a/ci/azure-test-stable.yml b/ci/azure-test-stable.yml
new file mode 100644
index 0000000..0ec36bb
--- /dev/null
+++ b/ci/azure-test-stable.yml
@@ -0,0 +1,42 @@
+parameters:
+ cmd: test
+ rust_version: stable
+
+jobs:
+- job: ${{ parameters.name }}
+ displayName: ${{ parameters.displayName }}
+ strategy:
+ matrix:
+ Linux:
+ vmImage: ubuntu-16.04
+
+ ${{ if parameters.cross }}:
+ MacOS:
+ vmImage: macOS-10.13
+ Windows:
+ vmImage: vs2017-win2016
+ pool:
+ vmImage: $(vmImage)
+
+ steps:
+ - template: azure-install-rust.yml
+ parameters:
+ rust_version: ${{ parameters.rust_version }}
+
+ - script: cargo ${{ parameters.cmd }}
+ displayName: cargo ${{ parameters.cmd }}
+ env:
+ CI: 'True'
+
+ - script: cargo ${{ parameters.cmd }} --no-default-features
+ displayName: cargo ${{ parameters.cmd }} --no-default-features
+ env:
+ CI: 'True'
+
+ - ${{ if eq(parameters.cmd, 'test') }}:
+ - script: cargo doc --no-deps
+ displayName: cargo doc --no-deps
+
+ - ${{ if parameters.benches }}:
+ - script: cargo check --benches
+ displayName: Check benchmarks
diff --git a/ci/docker/aarch64-linux-android/Dockerfile b/ci/docker/aarch64-linux-android/Dockerfile
deleted file mode 100644
index cc9128a..0000000
--- a/ci/docker/aarch64-linux-android/Dockerfile
+++ /dev/null
@@ -1,49 +0,0 @@
-FROM ubuntu:16.04
-
-
-
-
-
-RUN dpkg --add-architecture i386 && \
- dpkg --add-architecture amd64 && \
- apt-get update && \
- apt-get install -y --no-install-recommends \
- file \
- curl \
- ca-certificates \
- python \
- unzip \
- expect \
- openjdk-9-jre \
- libstdc++6:i386 \
- libc++1 \
- gcc \
- libc6-dev \
- qt5-default zlib1g:i386 libx11-6:i386 \
- libpulse0:amd64 libpulse0:i386
-
-
-
-
-
-
-COPY cargo_config /etc/cargo_config
-
-WORKDIR /android/
-
-COPY install-ndk.sh /android/
-RUN sh /android/install-ndk.sh
-
-ENV PATH=$PATH:/android/ndk-arm64/bin:/android/sdk/tools:/android/sdk/tools/bin:/android/sdk/platform-tools:/android/sdk/emulator/qemu/linux-x86_64
-
-COPY install-sdk.sh /android/
-RUN sh /android/install-sdk.sh
-
-ENV PATH=$PATH:/rust/bin \
- CARGO_TARGET_ARM_LINUX_ANDROIDEABI_LINKER=aarch64-linux-android-gcc \
- ANDROID_EMULATOR_FORCE_32BIT=0 \
- HOME=/tmp
-RUN chmod 755 /android/sdk/tools/* /android/sdk/emulator/qemu/linux-x86_64/*
-
-RUN cp -r /root/.android /tmp
-RUN chmod 777 -R /tmp/.android
diff --git a/ci/docker/aarch64-linux-android/accept-licenses.sh b/ci/docker/aarch64-linux-android/accept-licenses.sh
deleted file mode 100755
index 1013920..0000000
--- a/ci/docker/aarch64-linux-android/accept-licenses.sh
+++ /dev/null
@@ -1,15 +0,0 @@
-#!/usr/bin/expect -f
-# ignore-license
-
-set timeout 1800
-set cmd [lindex $argv 0]
-set licenses [lindex $argv 1]
-
-spawn {*}$cmd
-expect {
- "Accept? (y/N):*" {
- exp_send "y\r"
- exp_continue
- }
- eof
-}
\ No newline at end of file
diff --git a/ci/docker/aarch64-linux-android/cargo_config b/ci/docker/aarch64-linux-android/cargo_config
deleted file mode 100644
index eca1815..0000000
--- a/ci/docker/aarch64-linux-android/cargo_config
+++ /dev/null
@@ -1,16 +0,0 @@
-
-[target.aarch64-linux-android]
-ar = "/android/ndk-arm64/bin/aarch64-linux-android-ar"
-linker = "/android/ndk-arm64/bin/aarch64-linux-android-gcc"
-
-[target.arm-linux-androideabi]
-ar = "/android/ndk-arm64/bin/arm-linux-androideabi-ar"
-linker = "/android/ndk-arm64/bin/arm-linux-androideabi-gcc"
-
-[target.armv7-linux-androideabi]
-ar = "/android/ndk-arm64/bin/arm-linux-androideabi-ar"
-linker = "/android/ndk-arm64/bin/arm-linux-androideabi-gcc"
-
-[target.i686-linux-android]
-ar = "/android/ndk-arm64/bin/i686-linux-android-ar"
-linker = "/android/ndk-arm64/bin/i686-linux-android-gcc"
diff --git a/ci/docker/aarch64-linux-android/install-ndk.sh b/ci/docker/aarch64-linux-android/install-ndk.sh
deleted file mode 100644
index 6b12d90..0000000
--- a/ci/docker/aarch64-linux-android/install-ndk.sh
+++ /dev/null
@@ -1,21 +0,0 @@
-#!/bin/sh
-# Copyright 2016 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
-
-curl -O https://dl.google.com/android/repository/android-ndk-r14b-linux-x86_64.zip
-unzip -q android-ndk-r14b-linux-x86_64.zip
-android-ndk-r14b/build/tools/make_standalone_toolchain.py \
- --install-dir /android/ndk-arm64 \
- --arch arm64 \
- --api 24
-
-rm -rf ./android-ndk-r14b-linux-x86_64.zip ./android-ndk-r14b
diff --git a/ci/docker/aarch64-linux-android/install-sdk.sh b/ci/docker/aarch64-linux-android/install-sdk.sh
deleted file mode 100644
index df2e239..0000000
--- a/ci/docker/aarch64-linux-android/install-sdk.sh
+++ /dev/null
@@ -1,37 +0,0 @@
-#!/bin/sh
-# Copyright 2016 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
-
-# Prep the SDK and emulator
-#
-# Note that the update process requires that we accept a bunch of licenses, and
-# we can't just pipe `yes` into it for some reason, so we take the same strategy
-# located in https://github.com/appunite/docker by just wrapping it in a script
-# which apparently magically accepts the licenses.
-
-mkdir sdk
-
-curl -o sdk-tools-linux-3859397.zip https://dl.google.com/android/repository/sdk-tools-linux-3859397.zip && \
- unzip sdk-tools-linux-3859397.zip && \
- mv tools sdk/
-
-
-
-yes | sdkmanager --licenses --no_https
-sdkmanager tools platform-tools "build-tools;25.0.2" "platforms;android-24" "system-images;android-24;default;arm64-v8a" --no_https
-
-echo "no" | avdmanager create avd \
- --force \
- --name arm64-24 \
- --package "system-images;android-24;default;arm64-v8a" \
- --abi arm64-v8a \
- --sdcard 256M
diff --git a/ci/docker/arm-linux-androideabi/Dockerfile b/ci/docker/arm-linux-androideabi/Dockerfile
deleted file mode 100644
index 38c6c7e..0000000
--- a/ci/docker/arm-linux-androideabi/Dockerfile
+++ /dev/null
@@ -1,37 +0,0 @@
-FROM ubuntu:16.04
-
-RUN dpkg --add-architecture i386 && \
- apt-get update && \
- apt-get install -y --no-install-recommends \
- file \
- curl \
- ca-certificates \
- python \
- unzip \
- expect \
- openjdk-9-jre \
- libstdc++6:i386 \
- gcc \
- libc6-dev
-
-
-COPY cargo_config /etc/cargo_config
-
-WORKDIR /android/
-
-COPY install-ndk.sh /android/
-RUN sh /android/install-ndk.sh
-
-ENV PATH=$PATH:/android/ndk-arm/bin:/android/sdk/tools:/android/sdk/platform-tools
-
-COPY install-sdk.sh accept-licenses.sh /android/
-RUN sh /android/install-sdk.sh
-
-ENV PATH=$PATH:/rust/bin \
- CARGO_TARGET_ARM_LINUX_ANDROIDEABI_LINKER=arm-linux-androideabi-gcc \
- ANDROID_EMULATOR_FORCE_32BIT=1 \
- HOME=/tmp
-RUN chmod 755 /android/sdk/tools/* /android/sdk/tools/qemu/linux-x86_64/* /android/sdk/tools/qemu/linux-x86/*
-
-RUN cp -r /root/.android /tmp
-RUN chmod 777 -R /tmp/.android
diff --git a/ci/docker/arm-linux-androideabi/accept-licenses.sh b/ci/docker/arm-linux-androideabi/accept-licenses.sh
deleted file mode 100755
index 8d8f60a..0000000
--- a/ci/docker/arm-linux-androideabi/accept-licenses.sh
+++ /dev/null
@@ -1,15 +0,0 @@
-#!/usr/bin/expect -f
-# ignore-license
-
-set timeout 1800
-set cmd [lindex $argv 0]
-set licenses [lindex $argv 1]
-
-spawn {*}$cmd
-expect {
- "Do you accept the license '*'*" {
- exp_send "y\r"
- exp_continue
- }
- eof
-}
diff --git a/ci/docker/arm-linux-androideabi/cargo_config b/ci/docker/arm-linux-androideabi/cargo_config
deleted file mode 100644
index 64900ab..0000000
--- a/ci/docker/arm-linux-androideabi/cargo_config
+++ /dev/null
@@ -1,16 +0,0 @@
-
-[target.aarch64-linux-android]
-ar = "/android/ndk-arm/bin/aarch64-linux-android-ar"
-linker = "/android/ndk-arm/bin/aarch64-linux-android-gcc"
-
-[target.arm-linux-androideabi]
-ar = "/android/ndk-arm/bin/arm-linux-androideabi-ar"
-linker = "/android/ndk-arm/bin/arm-linux-androideabi-gcc"
-
-[target.armv7-linux-androideabi]
-ar = "/android/ndk-arm/bin/arm-linux-androideabi-ar"
-linker = "/android/ndk-arm/bin/arm-linux-androideabi-gcc"
-
-[target.i686-linux-android]
-ar = "/android/ndk-arm/bin/i686-linux-android-ar"
-linker = "/android/ndk-arm/bin/i686-linux-android-gcc"
diff --git a/ci/docker/arm-linux-androideabi/install-ndk.sh b/ci/docker/arm-linux-androideabi/install-ndk.sh
deleted file mode 100644
index 566a319..0000000
--- a/ci/docker/arm-linux-androideabi/install-ndk.sh
+++ /dev/null
@@ -1,21 +0,0 @@
-#!/bin/sh
-# Copyright 2016 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
-
-curl -O https://dl.google.com/android/repository/android-ndk-r13b-linux-x86_64.zip
-unzip -q android-ndk-r13b-linux-x86_64.zip
-android-ndk-r13b/build/tools/make_standalone_toolchain.py \
- --install-dir /android/ndk-arm \
- --arch arm \
- --api 24
-
-rm -rf ./android-ndk-r13b-linux-x86_64.zip ./android-ndk-r13b
diff --git a/ci/docker/arm-linux-androideabi/install-sdk.sh b/ci/docker/arm-linux-androideabi/install-sdk.sh
deleted file mode 100644
index 58f3484..0000000
--- a/ci/docker/arm-linux-androideabi/install-sdk.sh
+++ /dev/null
@@ -1,33 +0,0 @@
-#!/bin/sh
-# Copyright 2016 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
-
-# Prep the SDK and emulator
-#
-# Note that the update process requires that we accept a bunch of licenses, and
-# we can't just pipe `yes` into it for some reason, so we take the same strategy
-# located in https://github.com/appunite/docker by just wrapping it in a script
-# which apparently magically accepts the licenses.
-
-mkdir sdk
-curl https://dl.google.com/android/android-sdk_r24.4.1-linux.tgz | \
- tar xzf - -C sdk --strip-components=1
-
-filter="platform-tools,android-21"
-filter="$filter,sys-img-armeabi-v7a-android-21"
-
-./accept-licenses.sh "android - update sdk -a --no-ui --filter $filter --no-https"
-
-echo "no" | android create avd \
- --name arm-21 \
- --target android-21 \
- --abi armeabi-v7a
diff --git a/ci/run-docker.sh b/ci/run-docker.sh
deleted file mode 100644
index a7702ae..0000000
--- a/ci/run-docker.sh
+++ /dev/null
@@ -1,33 +0,0 @@
-# Small script to run tests for a target (or all targets) inside all the
-# respective docker images.
-
-set -ex
-
-run() {
- echo $1
- docker build -t libc ci/docker/$1
- mkdir -p target
- docker run \
- --user `id -u`:`id -g` \
- --rm \
- --volume $HOME/.cargo:/cargo \
- --env CARGO_HOME=/cargo \
- --volume `rustc --print sysroot`:/rust:ro \
- --volume `pwd`:/checkout:ro \
- --volume `pwd`/target:/checkout/target \
- --env CARGO_TARGET_DIR=/checkout/target \
- --workdir /checkout \
- --privileged \
- --interactive \
- --tty \
- libc \
- ci/run.sh $1
-}
-
-if [ -z "$1" ]; then
- for d in `ls ci/docker/`; do
- run $d
- done
-else
- run $1
-fi
diff --git a/ci/run.sh b/ci/run.sh
deleted file mode 100755
index 2cbad35..0000000
--- a/ci/run.sh
+++ /dev/null
@@ -1,42 +0,0 @@
-#!/bin/sh
-
-# Builds and runs tests for a particular target passed as an argument to this
-# script.
-
-set -ex
-
-TARGET=$1
-
-if [ -f /etc/cargo_config ] && [ -d /cargo ]; then cp -f /etc/cargo_config /cargo/config; fi
-cargo build --target=$TARGET --test test --verbose
-
-# Find the file to run
-TEST_FILE=$(find target/$TARGET/debug -maxdepth 1 -type f -perm -111 -name "test-*" | head -1)
-
-case "$TARGET" in
- arm-linux-androideabi)
- # Use the 64bit emulator
- emulator64-arm @arm-21 -no-window &
- adb wait-for-device
- adb push $TEST_FILE /data/mio-test
- adb shell /data/mio-test 2>&1 | tee /tmp/out
- grep "^test result.* 0 failed" /tmp/out
- ;;
-
- aarch64-linux-android)
- # Use the 64bit emulator
- export LD_LIBRARY_PATH="/android/sdk/emulator/lib64/qt/lib:/android/sdk/emulator/lib64:/usr/lib/x86_64-linux-gnu"
- qemu-system-aarch64 @arm64-24 -memory 768 -accel off -gpu off -no-skin -no-window -no-audio -no-snapshot-load -no-snapshot-save &
- adb wait-for-device
- adb root
- adb push $TEST_FILE /data/mio-test
- #adb unroot
- adb shell chmod 755 /data/mio-test
- adb shell /data/mio-test 2>&1 | tee /tmp/out
- grep "^test result.* 0 failed" /tmp/out
- ;;
-
- *)
- exit 1;
- ;;
-esac
diff --git a/ci/trust/install.sh b/ci/trust/install.sh
deleted file mode 100644
index 76bb734..0000000
--- a/ci/trust/install.sh
+++ /dev/null
@@ -1,31 +0,0 @@
-set -ex
-
-main() {
- curl https://sh.rustup.rs -sSf | \
- sh -s -- -y --default-toolchain $TRAVIS_RUST_VERSION
-
- local target=
- if [ $TRAVIS_OS_NAME = linux ]; then
- target=x86_64-unknown-linux-gnu
- 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-9.]+$' \
- | $sort --version-sort \
- | tail -n1)
- echo cross version: $tag
- curl -LSfs https://japaric.github.io/trust/install.sh | \
- sh -s -- \
- --force \
- --git japaric/cross \
- --tag $tag \
- --target $target
-}
-
-main
diff --git a/ci/trust/script.sh b/ci/trust/script.sh
deleted file mode 100644
index 473bacb..0000000
--- a/ci/trust/script.sh
+++ /dev/null
@@ -1,19 +0,0 @@
-# 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
-
- if [ ! -z $DISABLE_TESTS ]; then
- return
- fi
-
- cross test --target $TARGET
-}
-
-# we don't run the "test phase" when doing deploys
-if [ -z $TRAVIS_TAG ]; then
- main
-fi
diff --git a/src/lib.rs b/src/lib.rs
index 599308f..7599e07 100644
--- a/src/lib.rs
+++ b/src/lib.rs
@@ -1,4 +1,7 @@
#![doc(html_root_url = "https://docs.rs/mio/0.6.16")]
+// Mio targets old versions of the Rust compiler. In order to do this, uses
+// deprecated APIs.
+#![allow(deprecated)]
#![deny(missing_docs, missing_debug_implementations)]
#![cfg_attr(test, deny(warnings))]