Skip to content

Merge pull request #547 from seanpianka/master #986

Merge pull request #547 from seanpianka/master

Merge pull request #547 from seanpianka/master #986

Workflow file for this run

name: CI
on:
push:
branches:
- master
pull_request:
branches:
- master
jobs:
format:
runs-on: ubuntu-20.04
steps:
- uses: actions/checkout@v4
- uses: dtolnay/rust-toolchain@v1
with:
toolchain: nightly
components: rustfmt
- uses: davidB/rust-cargo-make@v1
- name: regenerate openapi
uses: clechasseur/rs-cargo@v2
with:
command: make
args: check
verify-codegen:
runs-on: ubuntu-20.04
steps:
- uses: actions/checkout@v4
- uses: dtolnay/rust-toolchain@v1
with:
toolchain: nightly
components: rustfmt
- uses: davidB/rust-cargo-make@v1
- name: regenerate openapi
uses: clechasseur/rs-cargo@v2
with:
command: make
args: openapi-install
- name: ensure generated files unchanged
uses: tj-actions/verify-changed-files@v19
id: verify-changed-files
with:
files: |
**/*.rs
- name: report changed files
if: steps.verify-changed-files.outputs.files_changed == 'true'
env:
CHANGED_FILES: ${{ steps.verify-changed-files.outputs.changed_files }}
run: |
echo "Some files changed after code generation: $CHANGED_FILES"
exit 1
clippy:
runs-on: ubuntu-20.04
env:
RUSTFLAGS: -D warnings
strategy:
matrix:
runtime:
[
async-std-surf,
tokio-hyper,
tokio-hyper-rustls,
tokio-hyper-rustls-webpki,
blocking,
blocking-rustls,
blocking-rustls-webpki,
]
steps:
- uses: actions/checkout@v4
- uses: dtolnay/rust-toolchain@v1
with:
toolchain: stable
components: clippy
- uses: actions/cache@v4
with:
path: |
~/.cargo/registry
~/.cargo/git
target
key: ${{ runner.os }}-clippy-${{ matrix.runtime }}-${{ hashFiles('**/Cargo.lock') }}
- uses: clechasseur/rs-cargo@v2
with:
command: clippy
args: >
--no-default-features
--features runtime-${{ matrix.runtime }}
test:
runs-on: ubuntu-20.04
env:
RUSTFLAGS: -D warnings
strategy:
matrix:
runtime:
[
async-std-surf,
tokio-hyper,
tokio-hyper-rustls,
tokio-hyper-rustls-webpki,
blocking,
blocking-rustls,
blocking-rustls-webpki,
]
services:
stripe-mock:
image: stripe/stripe-mock
ports:
- 12111:12111
- 12112:12112
steps:
- uses: actions/checkout@v4
- uses: dtolnay/rust-toolchain@v1
with:
toolchain: "1.74.0"
- uses: actions/cache@v4
with:
path: |
~/.cargo/registry
~/.cargo/git
target
key: ${{ runner.os }}-test-${{ matrix.runtime }}-${{ hashFiles('**/Cargo.lock') }}
- name: Test
run: cargo test --features runtime-${{ matrix.runtime }}
# - uses: taiki-e/install-action@cargo-llvm-cov
# - name: Test and gather coverage
# run: cargo llvm-cov --lcov --output-path lcov.info --features runtime-${{ matrix.runtime }}
# - name: Upload to codecov.io
# uses: codecov/codecov-action@v2.1.0
# with:
# token: ${{secrets.CODECOV_TOKEN}}
# files: lcov.info
# - name: Archive code coverage results
# uses: actions/upload-artifact@v1
# with:
# name: code-coverage-report
# path: lcov.info