diff --git a/.github/workflows/ci-master.yml b/.github/workflows/ci-master.yml new file mode 100644 index 000000000..d9fd36940 --- /dev/null +++ b/.github/workflows/ci-master.yml @@ -0,0 +1,130 @@ +name: CI (master only) + +on: + push: + branches: [master] + +jobs: + build_and_test_linux: + strategy: + fail-fast: false + matrix: + target: + - { name: Linux, os: ubuntu-latest, triple: x86_64-unknown-linux-gnu } + version: + - nightly + + name: ${{ matrix.target.name }} / ${{ matrix.version }} + runs-on: ${{ matrix.target.os }} + + services: + redis: + image: redis:5.0.7 + ports: + - 6379:6379 + options: --entrypoint redis-server + + steps: + - uses: actions/checkout@v2 + + - name: Install ${{ matrix.version }} + uses: actions-rs/toolchain@v1 + with: + toolchain: ${{ matrix.version }}-${{ matrix.target.triple }} + profile: minimal + override: true + + - name: Generate Cargo.lock + uses: actions-rs/cargo@v1 + with: + command: generate-lockfile + - name: Cache Dependencies + uses: Swatinem/rust-cache@v1.2.0 + + - name: Install cargo-hack + uses: actions-rs/cargo@v1 + with: + command: install + args: cargo-hack + + - name: check minimal + uses: actions-rs/cargo@v1 + with: { command: ci-min } + + - name: check minimal + tests + uses: actions-rs/cargo@v1 + with: { command: ci-check-min-tests } + + - name: check default + uses: actions-rs/cargo@v1 + with: { command: ci-check } + + - name: tests + uses: actions-rs/cargo@v1 + timeout-minutes: 40 + with: { command: ci-test } + + - name: Clear the cargo caches + run: | + cargo install cargo-cache --version 0.6.2 --no-default-features --features ci-autoclean + cargo-cache + + build_and_test_other: + strategy: + fail-fast: false + matrix: + target: + - { name: macOS, os: macos-latest, triple: x86_64-apple-darwin } + - { name: Windows, os: windows-latest, triple: x86_64-pc-windows-msvc } + version: + - nightly + + name: ${{ matrix.target.name }} / ${{ matrix.version }} + runs-on: ${{ matrix.target.os }} + + steps: + - uses: actions/checkout@v2 + + - name: Install ${{ matrix.version }} + uses: actions-rs/toolchain@v1 + with: + toolchain: ${{ matrix.version }}-${{ matrix.target.triple }} + profile: minimal + override: true + + - name: Generate Cargo.lock + uses: actions-rs/cargo@v1 + with: + command: generate-lockfile + - name: Cache Dependencies + uses: Swatinem/rust-cache@v1.2.0 + + - name: Install cargo-hack + uses: actions-rs/cargo@v1 + with: + command: install + args: cargo-hack + + - name: check minimal + uses: actions-rs/cargo@v1 + with: { command: ci-min } + + - name: check minimal + tests + uses: actions-rs/cargo@v1 + with: { command: ci-check-min-tests } + + - name: check default + uses: actions-rs/cargo@v1 + with: { command: ci-check } + + - name: tests + uses: actions-rs/cargo@v1 + timeout-minutes: 40 + with: + command: ci-test + args: --exclude=actix-redis -- --nocapture + + - name: Clear the cargo caches + run: | + cargo install cargo-cache --version 0.6.2 --no-default-features --features ci-autoclean + cargo-cache diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index de7711b3f..39cbd656d 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -16,7 +16,6 @@ jobs: version: - 1.54.0 # MSRV - stable - - nightly name: ${{ matrix.target.name }} / ${{ matrix.version }} runs-on: ${{ matrix.target.os }} @@ -83,7 +82,6 @@ jobs: version: - 1.54.0 # MSRV - stable - - nightly name: ${{ matrix.target.name }} / ${{ matrix.version }} runs-on: ${{ matrix.target.os }} diff --git a/README.md b/README.md index c8a5106cf..c1454d70c 100644 --- a/README.md +++ b/README.md @@ -2,8 +2,10 @@ > A collection of additional crates supporting the [actix-web] and [actix] frameworks. -[![build status](https://github.com/actix/actix-extras/workflows/CI%20%28Linux%29/badge.svg?branch=master&event=push)](https://github.com/actix/actix-extras/actions) +[![CI](https://github.com/actix/actix-extras/actions/workflows/ci.yml/badge.svg)](https://github.com/actix/actix-extras/actions/workflows/ci.yml) +[![codecov](https://codecov.io/gh/actix/actix-extras/branch/master/graph/badge.svg)](https://codecov.io/gh/actix/actix-extras) [![Chat on Discord](https://img.shields.io/discord/771444961383153695?label=chat&logo=discord)](https://discord.gg/5Ux4QGChWc) +[![Dependency Status](https://deps.rs/repo/github/actix/actix-extras/status.svg)](https://deps.rs/repo/github/actix/actix-extras) ## Crates by @actix