Set up CI with Azure Pipelines (#263)
This commit is contained in:
parent
95efe3821c
commit
592060d3f2
3 changed files with 71 additions and 20 deletions
35
README.md
35
README.md
|
@ -1,21 +1,20 @@
|
|||
<img src="https://github.com/graphql-rust/juniper/raw/master/assets/logo/juniper-dark-word.png" alt="Juniper" width="500" />
|
||||
|
||||
|
||||
> GraphQL server library for Rust
|
||||
|
||||
[![Build Status](https://travis-ci.org/graphql-rust/juniper.svg?branch=master)](https://travis-ci.org/graphql-rust/juniper)
|
||||
[![Build status](https://ci.appveyor.com/api/projects/status/xav6tor6biu617uu?svg=true)](https://ci.appveyor.com/project/theduke/juniper)
|
||||
[![Build Status](https://dev.azure.com/graphql-rust/GraphQL%20Rust/_apis/build/status/graphql-rust.juniper)](https://dev.azure.com/graphql-rust/GraphQL%20Rust/_build/latest?definitionId=1)
|
||||
[![codecov](https://codecov.io/gh/graphql-rust/juniper/branch/master/graph/badge.svg)](https://codecov.io/gh/graphql-rust/juniper)
|
||||
[![Crates.io](https://img.shields.io/crates/v/juniper.svg?maxAge=2592000)](https://crates.io/crates/juniper)
|
||||
[![Gitter chat](https://badges.gitter.im/juniper-graphql/gitter.png)](https://gitter.im/juniper-graphql)
|
||||
|
||||
|
||||
---
|
||||
|
||||
[GraphQL][graphql] is a data query language developed by Facebook intended to
|
||||
serve mobile and web application frontends.
|
||||
|
||||
*Juniper* makes it possible to write GraphQL servers in Rust that are
|
||||
_Juniper_ makes it possible to write GraphQL servers in Rust that are
|
||||
type-safe and blazingly fast. We also try to make declaring and resolving
|
||||
GraphQL schemas as convenient as possible as Rust will allow.
|
||||
|
||||
|
@ -24,10 +23,9 @@ make integration with existing servers straightforward. It optionally provides a
|
|||
pre-built integration for the [Hyper][hyper], [Iron][iron], [Rocket], and [Warp][warp] frameworks, including
|
||||
embedded [Graphiql][graphiql] for easy debugging.
|
||||
|
||||
* [Cargo crate](https://crates.io/crates/juniper)
|
||||
* [API Reference][docsrs]
|
||||
* [Book][book]: Guides and Examples
|
||||
|
||||
- [Cargo crate](https://crates.io/crates/juniper)
|
||||
- [API Reference][docsrs]
|
||||
- [Book][book]: Guides and Examples
|
||||
|
||||
## Getting Started
|
||||
|
||||
|
@ -45,7 +43,6 @@ schema including polymorphism with traits and interfaces.
|
|||
For an example of web framework integration,
|
||||
see the [hyper][hyper_examples], [rocket][rocket_examples], [iron][iron_examples], and [warp][warp_examples] examples folders.
|
||||
|
||||
|
||||
## Features
|
||||
|
||||
Juniper supports the full GraphQL query language according to the
|
||||
|
@ -66,21 +63,20 @@ Juniper has automatic integration with some very common Rust crates to make
|
|||
building schemas a breeze. The types from these crates will be usable in
|
||||
your Schemas automatically.
|
||||
|
||||
* [uuid][uuid]
|
||||
* [url][url]
|
||||
* [chrono][chrono]
|
||||
- [uuid][uuid]
|
||||
- [url][url]
|
||||
- [chrono][chrono]
|
||||
|
||||
### Web Frameworks
|
||||
|
||||
* [hyper][hyper]
|
||||
* [rocket][rocket]
|
||||
* [iron][iron]
|
||||
* [warp][warp]
|
||||
- [hyper][hyper]
|
||||
- [rocket][rocket]
|
||||
- [iron][iron]
|
||||
- [warp][warp]
|
||||
|
||||
## Guides & Examples
|
||||
|
||||
* [Juniper + actix-web example](https://github.com/actix/examples/tree/master/juniper)
|
||||
|
||||
- [Juniper + actix-web example](https://github.com/actix/examples/tree/master/juniper)
|
||||
|
||||
## API Stability
|
||||
|
||||
|
@ -95,14 +91,13 @@ Juniper has not reached 1.0 yet, thus some API instability should be expected.
|
|||
[hyper_examples]: https://github.com/graphql-rust/juniper/tree/master/juniper_hyper/examples
|
||||
[rocket_examples]: https://github.com/graphql-rust/juniper/tree/master/juniper_rocket/examples
|
||||
[iron_examples]: https://github.com/graphql-rust/juniper/tree/master/juniper_iron/examples
|
||||
[Hyper]: https://hyper.rs
|
||||
[Rocket]: https://rocket.rs
|
||||
[hyper]: https://hyper.rs
|
||||
[rocket]: https://rocket.rs
|
||||
[book]: https://graphql-rust.github.io
|
||||
[book_quickstart]: https://graphql-rust.github.io/quickstart.html
|
||||
[docsrs]: https://docs.rs/juniper
|
||||
[warp]: https://github.com/seanmonstar/warp
|
||||
[warp_examples]: https://github.com/graphql-rust/juniper/tree/master/juniper_warp/examples
|
||||
|
||||
[uuid]: https://crates.io/crates/uuid
|
||||
[url]: https://crates.io/crates/url
|
||||
[chrono]: https://crates.io/crates/chrono
|
||||
|
|
41
_build/azure-pipelines-template.yml
Normal file
41
_build/azure-pipelines-template.yml
Normal file
|
@ -0,0 +1,41 @@
|
|||
jobs:
|
||||
- job: ${{ parameters.name }}
|
||||
pool:
|
||||
vmImage: ${{ parameters.vmImage }}
|
||||
strategy:
|
||||
matrix:
|
||||
stable:
|
||||
rustup_toolchain: stable
|
||||
beta:
|
||||
rustup_toolchain: beta
|
||||
nightly:
|
||||
rustup_toolchain: nightly
|
||||
minimum_supported_version_plus_one:
|
||||
rustup_toolchain: 1.23.0
|
||||
minimum_supported_version:
|
||||
rustup_toolchain: 1.22.0
|
||||
steps:
|
||||
- ${{ if ne(parameters.name, 'Windows') }}:
|
||||
# Linux and macOS.
|
||||
- script: |
|
||||
curl https://sh.rustup.rs -sSf | sh -s -- -y --default-toolchain $RUSTUP_TOOLCHAIN
|
||||
echo "##vso[task.setvariable variable=PATH;]$PATH:$HOME/.cargo/bin"
|
||||
displayName: Install rust
|
||||
- ${{ if eq(parameters.name, 'Windows') }}:
|
||||
# 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"
|
||||
displayName: Install rust (windows)
|
||||
# All platforms.
|
||||
- script: |
|
||||
rustc -Vv
|
||||
cargo -V
|
||||
displayName: Query rust and cargo versions
|
||||
- script: cargo install -f cargo-make
|
||||
displayName: Install cargo-make
|
||||
- script: cargo make workspace-ci-flow --no-workspace
|
||||
env: { CARGO_MAKE_RUN_CODECOV: true }
|
||||
displayName: Build and run tests
|
15
azure-pipelines.yml
Normal file
15
azure-pipelines.yml
Normal file
|
@ -0,0 +1,15 @@
|
|||
jobs:
|
||||
- template: _build/azure-pipelines-template.yml
|
||||
parameters:
|
||||
name: macOS
|
||||
vmImage: macOS-10.13
|
||||
|
||||
- template: _build/azure-pipelines-template.yml
|
||||
parameters:
|
||||
name: Linux
|
||||
vmImage: ubuntu-16.04
|
||||
|
||||
- template: _build/azure-pipelines-template.yml
|
||||
parameters:
|
||||
name: Windows
|
||||
vmImage: vs2017-win2016
|
Loading…
Reference in a new issue