Bump vdj_ann from 0462eb8
to 6b3ff3b
(#306)
#526
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: Test enclone | |
on: | |
pull_request: | |
push: | |
branches: | |
- main | |
env: | |
DENY_VERSION: "0.13.7" | |
RUST_VERSION: "1.68" | |
CARGO_INCREMENTAL: 0 | |
permissions: | |
contents: read | |
# Write permissions are required in order to produce annotations. | |
checks: write | |
jobs: | |
test-mac: | |
# This job runs on MacOS Catalina | |
runs-on: macos-latest | |
steps: | |
- name: Install protoc | |
run: brew install protobuf | |
- name: Install Rust | |
uses: dtolnay/rust-toolchain@master | |
with: | |
toolchain: ${{ env.RUST_VERSION }} | |
components: rustfmt | |
# check out master | |
- name: Checkout enclone master | |
uses: actions/checkout@master | |
- uses: Swatinem/rust-cache@v2 | |
# start the real work | |
- name: Remove the Cargo target directory | |
if: github.ref == 'refs/heads/master' | |
run: cargo clean | |
- name: build-enclone | |
run: cargo build | |
- name: unit tests | |
run: cargo test -- --nocapture | |
test-linux: | |
# This job runs on Linux | |
runs-on: ubuntu-latest | |
steps: | |
- name: Install protoc | |
run: sudo apt-get install -y protobuf-compiler | |
- name: Install Rust | |
uses: dtolnay/rust-toolchain@master | |
with: | |
toolchain: ${{ env.RUST_VERSION }} | |
components: rustfmt, clippy | |
# check out | |
- name: Compute required fetch depth | |
id: fetch_depth | |
run: > | |
echo | |
"depth=$(("${{github.event.pull_request.commits}}" + 2))" | |
>> "$GITHUB_OUTPUT" | |
- uses: actions/checkout@v3 | |
with: | |
fetch-depth: ${{ steps.fetch_depth.outputs.depth }} | |
# set up caching | |
- uses: Swatinem/rust-cache@v2 | |
# start the real work | |
- name: Check for large files | |
run: > | |
git rev-list --objects ${{github.event.pull_request.base.sha}}.. | |
| git cat-file --batch-check='%(objectname) %(objecttype) %(objectsize) %(rest)' | |
| awk '$2 == "blob" && $3 >= 1600000 { print substr($1, 1, 7), $3, $4; fail=1 } END { exit fail }' | |
- name: Remove the Cargo target directory | |
if: github.ref == 'refs/heads/master' | |
run: cargo clean | |
- name: Install cargo-deny | |
run: | | |
wget https://github.com/EmbarkStudios/cargo-deny/releases/download/${DENY_VERSION}/cargo-deny-${DENY_VERSION}-x86_64-unknown-linux-musl.tar.gz | |
tar -xvf cargo-deny-${DENY_VERSION}-x86_64-unknown-linux-musl.tar.gz | |
mkdir -p ~/bin/ | |
cp cargo-deny-${DENY_VERSION}-x86_64-unknown-linux-musl/cargo-deny ~/bin/ | |
rm -r cargo-deny-${DENY_VERSION}-x86_64-unknown-linux-musl* | |
echo "$HOME/bin" >> $GITHUB_PATH | |
- name: Check Rust formatting | |
run: cargo fmt -- --check | |
- name: Deny duplicate dependencies (lib/rust) | |
run: cargo deny --locked check | |
- name: Run clippy | |
uses: 10XGenomics/clippy-check@main | |
with: | |
# Github limits the number of annotations it will display on a PR for | |
# a given action, so we're going to disable (for now!) some of the | |
# noisier lints so that more important ones are more likely to be | |
# visible. | |
# NOTE: keep this list in sync with lib/rust/.cargo/config, or else | |
# which is ignored when running in this mode but not when | |
# running locally. | |
# TODO: re-enable the allowed lints at the end of this list. | |
args: | | |
--all-targets --locked -- | |
-D clippy::perf | |
-D clippy::style | |
-D clippy::suspicious | |
-A clippy::comparison_chain | |
-W future_incompatible | |
-W nonstandard_style | |
-W rust_2018_compatibility | |
-W rust_2021_compatibility | |
-W unused | |
-D clippy::enum_glob_use | |
-D clippy::needless_lifetimes | |
-D clippy::redundant_closure_for_method_calls | |
-D clippy::unused_io_amount | |
-D clippy::wildcard_imports | |
-D clippy::unnecessary_unwrap | |
-D clippy::uninlined_format_args | |
-W clippy::disallowed_names | |
-W clippy::enum_variant_names | |
-W clippy::large-enum-variant | |
-W clippy::missing_safety_doc | |
-A clippy::type_complexity | |
-A clippy::too_many_arguments | |
-W clippy::result_unit_err | |
- name: build-enclone | |
run: cargo build | |
- name: unit tests | |
run: cargo test -- --nocapture |