Attempt to Fix CI and Update Rust ToolBox / Enclone Ranger #2569
Workflow file for this run
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: | |
- master | |
env: | |
RUST_VERSION: "1.71.0" | |
CARGO_INCREMENTAL: 0 | |
jobs: | |
test-mac: | |
# This job runs on MacOS Catalina | |
runs-on: macos-latest | |
steps: | |
# get prerequisite code in place (duplicated verbatim below) | |
- name: rust version | |
# note that rust version appears in two places in this file | |
run: rustup default 1.63.0 | |
- name: add rustfmt | |
run: rustup component add rustfmt | |
- name: install cargo-license | |
run: cargo install cargo-license | |
# check out master | |
- name: Checkout enclone master | |
uses: actions/checkout@master | |
- uses: Swatinem/rust-cache@v2 | |
with: | |
key: ${{ matrix.style }}v1 # increment this to bust the cache if needed | |
# set up caching (duplicated verbatim below) | |
# | |
# We have observed that Mac builds on GitHub Actions sometimes fail with errors about | |
# crates, including prost. These errors are observed to come and go as unrelated commits | |
# are made. We believe these errors are associated with caching. | |
# | |
# 1. We added a purge step, which worked for a while, then exhibited the same error | |
# phenotype. Now turned off. | |
# | |
# 2. We turned off the caching. This seems to have solved the problem. | |
# | |
# THIS IS A NEW VERSION. MAYBE IT WILL WORK. | |
- 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: download test data | |
run: git clone --depth=1 https://github.com/10XGenomics/enclone-data.git | |
- name: unit tests | |
run: cd enclone_exec; cargo test --features basic -- --nocapture | |
test-linux: | |
# This job runs on Linux | |
runs-on: ubuntu-latest | |
steps: | |
# check out master | |
- name: Checkout enclone master | |
uses: actions/checkout@master | |
with: | |
fetch-depth: 100 | |
# set up caching (duplicated verbatim below) | |
- 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: build-enclone | |
run: cargo build | |
- name: download test data | |
run: git clone --depth=1 https://github.com/10XGenomics/enclone-data.git | |
- name: unit tests | |
run: cd enclone_exec; cargo test --features basic -- --nocapture |