Skip to content

Commit 0f001be

Browse files
authored
Merge pull request #2912 from ProvableHQ/copilot/fix-2911
Add cargo-semver-checks to CircleCI cargo-workflow
2 parents 0c30ba9 + 1b02d4e commit 0f001be

1 file changed

Lines changed: 36 additions & 17 deletions

File tree

.circleci/config.yml

Lines changed: 36 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -66,14 +66,14 @@ commands:
6666
parameters:
6767
cache_key:
6868
type: string
69-
default: v4.0.0-rust-1.88.0-snarkvm-stable-cache
69+
default: v4.2.0-rust-1.88.0-snarkvm-stable-cache
7070
steps:
7171
- run: set -e
7272
- run:
7373
name: Prepare environment variables and install dependencies
7474
command: |
7575
echo 'export "RUSTC_WRAPPER"="$CIRCLE_WORKING_DIRECTORY/.bin/sccache"' >> $BASH_ENV
76-
echo 'export "SCCACHE_CACHE_SIZE"="200M"' >> $BASH_ENV
76+
echo 'export "SCCACHE_CACHE_SIZE"="20000M"' >> $BASH_ENV
7777
7878
# Disable incremental builds so that sccache works as expected
7979
echo 'export CARGO_INCREMENTAL=0' >> "$BASH_ENV"
@@ -106,13 +106,14 @@ commands:
106106
parameters:
107107
cache_key:
108108
type: string
109-
default: v4.0.0-rust-1.88.0-snarkvm-stable-cache
109+
default: v4.2.0-rust-1.88.0-snarkvm-stable-cache
110110
steps:
111111
- run: (sccache -s || true)
112112
- run: set +e
113113
- save_cache:
114114
key: << parameters.cache_key >>
115115
paths:
116+
- /home/circleci/project/target
116117
- /home/circleci/.cache/sccache
117118
- /home/circleci/.cargo
118119
- /home/circleci/.aleo/resources
@@ -134,13 +135,13 @@ commands:
134135
steps:
135136
- checkout
136137
- setup_environment:
137-
cache_key: v4.0.0-rust-1.88.0-<< parameters.workspace_member >><< parameters.cache_key_suffix >>-cache
138+
cache_key: v4.2.0-rust-1.88.0-<< parameters.workspace_member >><< parameters.cache_key_suffix >>-cache
138139
- run:
139140
name: "Run Tests"
140141
timeout: << parameters.timeout >>
141142
command: RUST_MIN_STACK=67108864 cargo test --package=<< parameters.workspace_member >> << parameters.flags >>
142143
- clear_environment:
143-
cache_key: v4.0.0-rust-1.88.0-<< parameters.workspace_member >><< parameters.cache_key_suffix >>-cache
144+
cache_key: v4.2.0-rust-1.88.0-<< parameters.workspace_member >><< parameters.cache_key_suffix >>-cache
144145

145146
install_rust_nightly:
146147
description: "Install Rust nightly toolchain"
@@ -727,7 +728,7 @@ jobs:
727728
steps:
728729
- checkout
729730
- setup_environment:
730-
cache_key: v4.0.0-rust-1.88.0-snarkvm-wasm-cache
731+
cache_key: v4.2.0-rust-1.88.0-snarkvm-wasm-cache
731732
- run:
732733
no_output_timeout: 30m
733734
command: |
@@ -744,7 +745,7 @@ jobs:
744745
# Run the tests
745746
cd wasm && wasm-pack test --node
746747
- clear_environment:
747-
cache_key: v4.0.0-rust-1.88.0-snarkvm-wasm-cache
748+
cache_key: v4.2.0-rust-1.88.0-snarkvm-wasm-cache
748749

749750
check-fmt:
750751
executor: rust-docker
@@ -753,53 +754,70 @@ jobs:
753754
- checkout
754755
- install_rust_nightly
755756
- setup_environment:
756-
cache_key: v4.0.0-rust-1.88.0-snarkvm-fmt-cache
757+
cache_key: v4.2.0-rust-1.88.0-snarkvm-fmt-cache
757758
- run:
758759
name: Check style
759760
no_output_timeout: 35m
760761
command: cargo +nightly fmt --all -- --check
761762
- clear_environment:
762-
cache_key: v4.0.0-rust-1.88.0-snarkvm-fmt-cache
763+
cache_key: v4.2.0-rust-1.88.0-snarkvm-fmt-cache
763764

764765
check-unused-dependencies:
765766
executor: rust-docker
766767
resource_class: << pipeline.parameters.medium >>
767768
steps:
768769
- checkout
769770
- setup_environment:
770-
cache_key: v4.0.0-rust-1.88.0-machete-cache
771+
cache_key: v4.2.0-rust-1.88.0-machete-cache
771772
- run:
772773
name: Check for unused dependencies
773774
no_output_timeout: 10m
774775
command: |
775776
cargo install cargo-machete@0.7.0
776777
cargo machete
777778
- clear_environment:
778-
cache_key: v4.0.0-rust-1.88.0-machete-cache
779+
cache_key: v4.2.0-rust-1.88.0-machete-cache
779780

780781
check-cargo-audit:
781782
executor: rust-docker
782783
resource_class: << pipeline.parameters.medium >>
783784
steps:
784785
- checkout
785786
- setup_environment:
786-
cache_key: v4.0.0-rust-1.88.0-cargo-audit-cache
787+
cache_key: v4.2.0-rust-1.88.0-cargo-audit-cache
787788
- run:
788789
name: Check for security vulnerabilities
789790
no_output_timeout: 10m
790791
command: |
791792
cargo install cargo-audit@0.21.2 --locked
792793
cargo audit -D warnings
793794
- clear_environment:
794-
cache_key: v4.0.0-rust-1.88.0-cargo-audit-cache
795+
cache_key: v4.2.0-rust-1.88.0-cargo-audit-cache
796+
797+
check-cargo-semver-checks:
798+
executor: rust-docker
799+
resource_class: << pipeline.parameters.large >>
800+
steps:
801+
- checkout
802+
- setup_environment:
803+
cache_key: v4.2.0-rust-1.88.0-cargo-semver-checks-cache
804+
- run:
805+
name: Check for semver violations
806+
no_output_timeout: 15m
807+
command: |
808+
cargo install cargo-semver-checks@0.43.0 --locked
809+
BASELINE_REV=eff84712b # UPDATE ME ON NECESSARY BREAKING CHANGES
810+
cargo semver-checks --workspace --default-features --baseline-rev $BASELINE_REV
811+
- clear_environment:
812+
cache_key: v4.2.0-rust-1.88.0-cargo-semver-checks-cache
795813

796814
check-clippy:
797815
executor: rust-docker
798816
resource_class: << pipeline.parameters.xlarge >>
799817
steps:
800818
- checkout
801819
- setup_environment:
802-
cache_key: v4.0.0-rust-1.88.0-snarkvm-clippy-cache
820+
cache_key: v4.2.0-rust-1.88.0-snarkvm-clippy-cache
803821
- run:
804822
name: Check Clippy (default features)
805823
timeout: 20m
@@ -811,21 +829,21 @@ jobs:
811829
command: |
812830
cargo clippy --workspace --all-targets --all-features -- -D warnings
813831
- clear_environment:
814-
cache_key: v4.0.0-rust-1.88.0-snarkvm-clippy-cache
832+
cache_key: v4.2.0-rust-1.88.0-snarkvm-clippy-cache
815833

816834
check-all-targets:
817835
executor: rust-docker
818836
resource_class: << pipeline.parameters.small >>
819837
steps:
820838
- checkout
821839
- setup_environment:
822-
cache_key: v4.0.0-rust-1.88.0-snarkvm-all-targets-cache
840+
cache_key: v4.2.0-rust-1.88.0-snarkvm-all-targets-cache
823841
- run:
824842
name: Check all targets
825843
no_output_timeout: 35m
826844
command: cargo check --release --workspace --all-targets
827845
- clear_environment:
828-
cache_key: v4.0.0-rust-1.88.0-snarkvm-all-targets-cache
846+
cache_key: v4.2.0-rust-1.88.0-snarkvm-all-targets-cache
829847

830848
verify-windows:
831849
executor:
@@ -849,6 +867,7 @@ workflows:
849867
- check-clippy
850868
- check-unused-dependencies
851869
- check-cargo-audit
870+
- check-cargo-semver-checks
852871
- check-all-targets
853872

854873
circuit-workflow:

0 commit comments

Comments
 (0)