Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
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
67 changes: 0 additions & 67 deletions .travis.yml

This file was deleted.

21 changes: 16 additions & 5 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,10 +1,21 @@
# pin-project

[![Build Status](https://travis-ci.org/taiki-e/pin-project.svg?branch=master)](https://travis-ci.org/taiki-e/pin-project)
[![version](https://img.shields.io/crates/v/pin-project.svg)](https://crates.io/crates/pin-project/)
[![documentation](https://docs.rs/pin-project/badge.svg)](https://docs.rs/pin-project/)
[![license](https://img.shields.io/crates/l/pin-project.svg)](https://crates.io/crates/pin-project/)
[![Rustc Version](https://img.shields.io/badge/rustc-1.33+-lightgray.svg)](https://blog.rust-lang.org/2019/02/28/Rust-1.33.0.html)
[![Build Status][azure-badge]][azure-url]
[![Crates.io][crates-version-badge]][crates-url]
[![Docs.rs][docs-badge]][docs-url]
[![License][crates-license-badge]][crates-url]
[![Minimum supported Rust version][rustc-badge]][rustc-url]

[azure-badge]: https://dev.azure.com/taiki-e/taiki-e/_apis/build/status/taiki-e.pin-project?branchName=master
[azure-url]: https://dev.azure.com/taiki-e/taiki-e/_build/latest?definitionId=13&branchName=master
[crates-version-badge]: https://img.shields.io/crates/v/pin-project.svg
[crates-license-badge]: https://img.shields.io/crates/l/pin-project.svg
[crates-badge]: https://img.shields.io/crates/v/pin-project.svg
[crates-url]: https://crates.io/crates/pin-project/
[docs-badge]: https://docs.rs/pin-project/badge.svg
[docs-url]: https://docs.rs/pin-project/
[rustc-badge]: https://img.shields.io/badge/rustc-1.33+-lightgray.svg
[rustc-url]: https://blog.rust-lang.org/2019/02/28/Rust-1.33.0.html

An attribute that creates a projection struct covering all the fields.

Expand Down
54 changes: 54 additions & 0 deletions azure-pipelines.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,54 @@
trigger:
- master
- staging
- trying

variables:
RUSTFLAGS: -Dwarnings

jobs:
# This is the minimum Rust version supported by pin-project.
# When updating this, the reminder to update the minimum supported
# Rust version in README.md.
#
# Tests are not run as tests may require newer versions of rust.
- template: ci/azure-test.yml
parameters:
name: minrust
rust: 1.33.0

- template: ci/azure-test.yml
parameters:
name: stable
rust: stable

- template: ci/azure-test.yml
parameters:
name: beta
rust: beta

- template: ci/azure-test.yml
parameters:
name: nightly
rust: nightly
cmd: test

- template: ci/azure-compile-test.yml
parameters:
name: compile_test
rust: nightly

- template: ci/azure-clippy.yml
parameters:
name: clippy
rust: nightly

- template: ci/azure-rustfmt.yml
parameters:
name: rustfmt
rust: stable

- template: ci/azure-rustdoc.yml
parameters:
name: rustdoc
rust: nightly
2 changes: 1 addition & 1 deletion bors.toml
Original file line number Diff line number Diff line change
@@ -1 +1 @@
status = ["continuous-integration/travis-ci/push"]
status = ["taiki-e.pin-project"]
31 changes: 31 additions & 0 deletions ci/azure-clippy.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
jobs:
- job: ${{ parameters.name }}
displayName: Clippy
pool:
vmImage: ubuntu-16.04

steps:
- template: azure-install-rust.yml
parameters:
rust: ${{ parameters.rust }}

- script: |
set +e
if rustup component add clippy; then
set -e
else
set -e
target=`curl https://rust-lang.github.io/rustup-components-history/x86_64-unknown-linux-gnu/clippy`
echo "'clippy' is unavailable on the toolchain '${{ parameters.rust }}', use the toolchain 'nightly-$target' instead"
rustup toolchain install nightly-$target
rustup default nightly-$target
rustup component add clippy
rustup toolchain list
rustc -Vv
cargo -V
fi
cargo clippy --version
displayName: rustup component add clippy

- script: cargo clippy --all --all-features
displayName: cargo clippy --all --all-features
15 changes: 15 additions & 0 deletions ci/azure-compile-test.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
jobs:
- job: ${{ parameters.name }}
displayName: compile-test
pool:
vmImage: ubuntu-16.04

steps:
- template: azure-install-rust.yml
parameters:
rust: ${{ parameters.rust }}

- script: |
cargo clean
RUSTFLAGS='--cfg ui_tests' cargo test -p pin-project --all-features --test compile-test
displayName: cargo test (compile-test)
33 changes: 33 additions & 0 deletions ci/azure-install-rust.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
steps:
# Linux and macOS.
- script: |
set -e
curl https://sh.rustup.rs -sSf | sh -s -- -y --default-toolchain none
export PATH=$PATH:$HOME/.cargo/bin
rustup toolchain install $RUSTUP_TOOLCHAIN
rustup default $RUSTUP_TOOLCHAIN
echo "##vso[task.setvariable variable=PATH;]$PATH:$HOME/.cargo/bin"
env:
RUSTUP_TOOLCHAIN: ${{ parameters.rust }}
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 none
set PATH=%PATH%;%USERPROFILE%\.cargo\bin
rustup toolchain install %RUSTUP_TOOLCHAIN%
rustup default %RUSTUP_TOOLCHAIN%
echo "##vso[task.setvariable variable=PATH;]%PATH%;%USERPROFILE%\.cargo\bin"
env:
RUSTUP_TOOLCHAIN: ${{ parameters.rust }}
displayName: Install rust (windows)
condition: eq(variables['Agent.OS'], 'Windows_NT')

# All platforms.
- script: |
rustup toolchain list
rustc -Vv
cargo -V
displayName: Query rust and cargo versions
13 changes: 13 additions & 0 deletions ci/azure-rustdoc.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
jobs:
- job: ${{ parameters.name }}
displayName: Rustdoc
pool:
vmImage: ubuntu-16.04

steps:
- template: azure-install-rust.yml
parameters:
rust: ${{ parameters.rust }}

- script: RUSTDOCFLAGS=-Dwarnings cargo doc --no-deps --all --all-features
displayName: cargo doc --all --all-features
18 changes: 18 additions & 0 deletions ci/azure-rustfmt.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
jobs:
- job: ${{ parameters.name }}
displayName: Rustfmt
pool:
vmImage: ubuntu-16.04

steps:
- template: azure-install-rust.yml
parameters:
rust: ${{ parameters.rust }}

- script: |
rustup component add rustfmt
cargo fmt --version
displayName: rustup component add rustfmt

- script: cargo fmt --all -- --check
displayName: cargo fmt --all -- --check
36 changes: 36 additions & 0 deletions ci/azure-test.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
parameters:
cmd: check

jobs:
- job: ${{ parameters.name }}
displayName: ${{ parameters.displayName }} ${{ parameters.rust }}
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: ${{ parameters.rust }}

- script: |
cargo ${{ parameters.cmd }} --all --no-default-features
cargo ${{ parameters.cmd }} --all
cargo ${{ parameters.cmd }} --all --all-features
displayName: cargo ${{ parameters.cmd }} --all

- ${{ if eq(parameters.rust, 'nightly') }}:
- script: |
cargo update -Zminimal-versions
cat Cargo.lock
cargo check --all --all-features
displayName: cargo check -Zminimal-versions