102 lines
		
	
	
		
			2.5 KiB
		
	
	
	
		
			YAML
		
	
	
	
	
	
			
		
		
	
	
			102 lines
		
	
	
		
			2.5 KiB
		
	
	
	
		
			YAML
		
	
	
	
	
	
name: CI
 | 
						|
 | 
						|
on: 
 | 
						|
  push:
 | 
						|
    branches:
 | 
						|
      - master
 | 
						|
  pull_request:
 | 
						|
 | 
						|
jobs:
 | 
						|
  check:
 | 
						|
    name: Compile
 | 
						|
    runs-on: ubuntu-latest
 | 
						|
    steps:
 | 
						|
      - uses: actions/checkout@v1
 | 
						|
      - uses: actions-rs/toolchain@v1
 | 
						|
        with:
 | 
						|
          profile: minimal
 | 
						|
          toolchain: stable
 | 
						|
          override: true
 | 
						|
      - uses: actions-rs/cargo@v1
 | 
						|
        with:
 | 
						|
          command: generate-lockfile
 | 
						|
      - uses: actions/cache@v1.0.1
 | 
						|
        with:
 | 
						|
          path: target
 | 
						|
          key: ${{ runner.OS }}-build-${{ hashFiles('**/Cargo.lock') }}
 | 
						|
          restore-keys: |
 | 
						|
            ${{ runner.OS }}-build-            
 | 
						|
      - uses: actions-rs/cargo@v1
 | 
						|
        with:
 | 
						|
          command: test
 | 
						|
          args: --all
 | 
						|
  
 | 
						|
  check-features:
 | 
						|
    name: Features
 | 
						|
    runs-on: ubuntu-latest
 | 
						|
    needs: [check]
 | 
						|
    strategy:
 | 
						|
      matrix:
 | 
						|
        features:
 | 
						|
          - --manifest-path=example/Cargo.toml
 | 
						|
          - --all-features --release
 | 
						|
          - --no-default-features --release
 | 
						|
          - --all-features
 | 
						|
          - --no-default-features
 | 
						|
          - --no-default-features --features par-iter
 | 
						|
          - --no-default-features --features par-schedule
 | 
						|
          - --no-default-features --features metrics
 | 
						|
          - --no-default-features --features ffi
 | 
						|
    steps:
 | 
						|
      - uses: actions/checkout@v1
 | 
						|
      - uses: actions-rs/toolchain@v1
 | 
						|
        with:
 | 
						|
          profile: minimal
 | 
						|
          toolchain: stable
 | 
						|
          override: true
 | 
						|
      - uses: actions-rs/cargo@v1
 | 
						|
        with:
 | 
						|
          command: generate-lockfile
 | 
						|
      - uses: actions/cache@v1.0.1
 | 
						|
        with:
 | 
						|
          path: target
 | 
						|
          key: ${{ runner.OS }}-build-${{ hashFiles('**/Cargo.lock') }}
 | 
						|
          restore-keys: |
 | 
						|
            ${{ runner.OS }}-build-            
 | 
						|
      - uses: actions-rs/cargo@v1
 | 
						|
        with:
 | 
						|
          command: test
 | 
						|
          args: --all ${{ matrix.features }}
 | 
						|
 | 
						|
  fmt:
 | 
						|
    name: Rustfmt
 | 
						|
    runs-on: ubuntu-latest
 | 
						|
    steps:
 | 
						|
      - uses: actions/checkout@v1
 | 
						|
      - uses: actions-rs/toolchain@v1
 | 
						|
        with:
 | 
						|
          profile: minimal
 | 
						|
          toolchain: nightly
 | 
						|
          override: true
 | 
						|
          components: rustfmt
 | 
						|
      - uses: actions-rs/cargo@v1
 | 
						|
        with:
 | 
						|
          command: fmt
 | 
						|
          args: --all -- --check
 | 
						|
 | 
						|
  clippy:
 | 
						|
    name: Clippy
 | 
						|
    runs-on: ubuntu-latest
 | 
						|
    steps:
 | 
						|
      - uses: actions/checkout@v1
 | 
						|
      - uses: actions-rs/toolchain@v1
 | 
						|
        with:
 | 
						|
          profile: minimal
 | 
						|
          toolchain: stable
 | 
						|
          override: true
 | 
						|
      - run: rustup component add clippy
 | 
						|
      - uses: actions-rs/cargo@v1
 | 
						|
        with:
 | 
						|
          command: clippy
 | 
						|
          args: --all -- -D warnings
 |