108 lines
		
	
	
		
			2.2 KiB
		
	
	
	
		
			YAML
		
	
	
	
	
	
			
		
		
	
	
			108 lines
		
	
	
		
			2.2 KiB
		
	
	
	
		
			YAML
		
	
	
	
	
	
name: CI
 | 
						|
on:
 | 
						|
  pull_request:
 | 
						|
  push:
 | 
						|
    branches:
 | 
						|
      - master
 | 
						|
 | 
						|
env:
 | 
						|
  RUST_BACKTRACE: 1
 | 
						|
 | 
						|
jobs:
 | 
						|
  style:
 | 
						|
    name: Check Style
 | 
						|
    runs-on: ubuntu-latest
 | 
						|
    steps:
 | 
						|
      - name: Checkout
 | 
						|
        uses: actions/checkout@v1
 | 
						|
 | 
						|
      - name: Install Rust
 | 
						|
        uses: actions-rs/toolchain@v1
 | 
						|
        with:
 | 
						|
          profile: minimal
 | 
						|
          toolchain: stable
 | 
						|
          override: true
 | 
						|
          components: rustfmt
 | 
						|
 | 
						|
      - name: cargo fmt --check
 | 
						|
        uses: actions-rs/cargo@v1
 | 
						|
        with:
 | 
						|
          command: fmt
 | 
						|
          args: --all -- --check
 | 
						|
 | 
						|
  test:
 | 
						|
    name: Test ${{ matrix.rust }} on ${{ matrix.os }}
 | 
						|
    needs: [style]
 | 
						|
    strategy:
 | 
						|
      matrix:
 | 
						|
        rust:
 | 
						|
          - stable
 | 
						|
          - beta
 | 
						|
          - nightly
 | 
						|
          - 1.39.0
 | 
						|
 | 
						|
        os:
 | 
						|
          - ubuntu-latest
 | 
						|
          - windows-latest
 | 
						|
          - macOS-latest
 | 
						|
 | 
						|
        include:
 | 
						|
          - rust: stable
 | 
						|
            features: ""
 | 
						|
          - rust: beta
 | 
						|
            features: ""
 | 
						|
          - rust: nightly
 | 
						|
            features: "--features nightly"
 | 
						|
            benches: true
 | 
						|
          # Limit the Happy Eyeballs tests to Linux
 | 
						|
          - rust: stable
 | 
						|
            os: ubuntu-latest
 | 
						|
            features: "--features __internal_happy_eyeballs_tests"
 | 
						|
 | 
						|
    runs-on: ${{ matrix.os }}
 | 
						|
 | 
						|
    steps:
 | 
						|
      - name: Checkout
 | 
						|
        uses: actions/checkout@v1
 | 
						|
 | 
						|
      - name: Install Rust (${{ matrix.rust }})
 | 
						|
        uses: actions-rs/toolchain@v1
 | 
						|
        with:
 | 
						|
          profile: minimal
 | 
						|
          toolchain: ${{ matrix.rust }}
 | 
						|
          override: true
 | 
						|
 | 
						|
      - name: Test
 | 
						|
        uses: actions-rs/cargo@v1
 | 
						|
        with:
 | 
						|
          command: test
 | 
						|
          args: ${{ matrix.features }}
 | 
						|
 | 
						|
      - name: Test all benches
 | 
						|
        if: matrix.benches
 | 
						|
        uses: actions-rs/cargo@v1
 | 
						|
        with:
 | 
						|
          command: test
 | 
						|
          args: --benches ${{ matrix.features }}
 | 
						|
 | 
						|
  doc:
 | 
						|
    name: Build docs
 | 
						|
    needs: [style, test]
 | 
						|
    runs-on: ubuntu-latest
 | 
						|
    steps:
 | 
						|
      - name: Checkout
 | 
						|
        uses: actions/checkout@v1
 | 
						|
 | 
						|
      - name: Install Rust
 | 
						|
        uses: actions-rs/toolchain@v1
 | 
						|
        with:
 | 
						|
          profile: minimal
 | 
						|
          toolchain: nightly
 | 
						|
          override: true
 | 
						|
 | 
						|
      - name: cargo doc
 | 
						|
        uses: actions-rs/cargo@v1
 | 
						|
        with:
 | 
						|
          command: rustdoc
 | 
						|
          args: -- -D intra-doc-link-resolution-failure
 |