Skip to content

Commit

Permalink
ci: Separate CI steps (#57)
Browse files Browse the repository at this point in the history
The contract tests require a secondary set of dependencies in order to
spin up the required webserver. As a result, the required minimum rustc
version might change independently of changes to our library.

Similarly, generating a code coverage report requires a unique set of
crates as well.

To help with this, building the core library, generating coverage
reports, and running the contract tests have been moved into separate CI
jobs.
  • Loading branch information
keelerm84 authored Sep 21, 2023
1 parent 7e49f8d commit 5ba057e
Showing 1 changed file with 20 additions and 4 deletions.
24 changes: 20 additions & 4 deletions .circleci/config.yml
Original file line number Diff line number Diff line change
Expand Up @@ -14,20 +14,34 @@ jobs:
- run:
name: Check consistent formatting
command: cargo fmt && git diff --exit-code
- run: cargo build
- run: cargo test --all-features
- run: cargo doc --no-deps
- run: cargo clippy --all-features -- -D warnings
- run: cargo build -p eventsource-client
- run: cargo test --all-features -p eventsource-client
- run: cargo doc --no-deps -p eventsource-client
- run: cargo clippy --all-features -p eventsource-client -- -D warnings
- store_artifacts:
path: target/doc
destination: doc

generate-coverage:
docker:
- image: cimg/rust:1.68.0
steps:
- checkout
- run: cargo build
- run:
name: Gather Coverage
command: ./coverage.sh --html
- store_artifacts:
name: Upload Coverage
path: target/llvm-cov/html
destination: coverage

contract-tests:
docker:
- image: cimg/rust:1.68.0
steps:
- checkout
- run: cargo build
- run:
command: make start-contract-test-service
background: true
Expand All @@ -40,3 +54,5 @@ workflows:
build:
jobs:
- build
- contract-tests
- generate-coverage

0 comments on commit 5ba057e

Please sign in to comment.