Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 4 additions & 0 deletions .github/workflows/release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -127,6 +127,10 @@ jobs:
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y
echo "$HOME/.cargo/bin" >> $GITHUB_PATH
fi
- uses: swatinem/rust-cache@v2
with:
key: ${{ join(matrix.targets, '-') }}
cache-provider: ${{ matrix.cache_provider }}
- name: Install dist
run: ${{ matrix.install_dist.run }}
# Get the dist-manifest
Expand Down
23 changes: 15 additions & 8 deletions .github/workflows/test_simpleaf.yml
Original file line number Diff line number Diff line change
Expand Up @@ -21,14 +21,21 @@ jobs:
runs-on: ${{ matrix.os }}
steps:
- name: Checkout repository
uses: actions/checkout@v2.4.2
uses: actions/checkout@v6

- name: Install stable toolchain
uses: actions-rs/toolchain@v1
uses: dtolnay/rust-toolchain@stable
with:
toolchain: stable
override: true
components: rustfmt

# simpleaf has a large, stable dependency graph (notably Polars and
# HDF5). Cache dependency artifacts separately for each runner/toolchain;
# rust-cache derives the remaining key from Cargo.lock and the Rust
# environment, and deliberately excludes simpleaf itself.
- name: Cache Rust dependencies
uses: Swatinem/rust-cache@v2
with:
cache-on-failure: true

# Cheap and compiles nothing, so it runs first.
- name: Check formatting
Expand All @@ -38,9 +45,9 @@ jobs:
run: cargo build --verbose --release

# Deliberately `--release`: it reuses the artifacts the Build step just
# produced, which makes this ~30s. A debug `cargo test` would rebuild the
# whole dependency graph in a second profile — including HDF5, which is
# compiled from source — and cost minutes.
# produced. A debug `cargo test` would rebuild the whole dependency graph
# in a second profile — including HDF5, which is compiled from source —
# and cost minutes.
#
# This job previously ran neither this nor `cargo fmt`, which is how a
# test that did not compile, and a stale CLI snapshot, both reached main.
Expand All @@ -54,7 +61,7 @@ jobs:
run: cargo doc --no-deps

- name: Install conda env
uses: conda-incubator/setup-miniconda@v3
uses: conda-incubator/setup-miniconda@v4
with:
channels: conda-forge,default,bioconda
channel-priority: true
Expand Down
1 change: 0 additions & 1 deletion Cargo.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

7 changes: 0 additions & 7 deletions Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -36,8 +36,6 @@ categories = ["command-line-utilities", "science"]

# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
[dependencies]
cc = "1.2.20"

# seq_geom_parser (chumsky-based, from the piscem-rs workspace) — used for
# geometry validation and multiplex-quant. Published on crates.io; the
# `.cargo/config.toml` patch this comment used to describe is long gone (there
Expand Down Expand Up @@ -107,11 +105,6 @@ tempfile = "3.19.1"
ureq = { version = "3.0.11", features = ["json"] }
file-requirements = "0.1.0"

[profile.release]
lto = "thin"
opt-level = 3

# The profile that 'cargo dist' will build with
[profile.dist]
inherits = "release"
lto = "thin"
4 changes: 4 additions & 0 deletions dist-workspace.toml
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,10 @@ installers = ["shell"]
targets = ["aarch64-apple-darwin", "aarch64-unknown-linux-gnu", "x86_64-apple-darwin", "x86_64-unknown-linux-gnu"]
# Which actions to run on pull requests
pr-run-mode = "plan"
# Preserve compiled dependency artifacts between release builds. This is most
# useful when rerunning a failed release or when dependencies stay fixed across
# patch releases; cargo-dist keys each target independently.
cache-builds = true
# Whether to install an updater program
install-updater = true
# Path that installers should place binaries in
Expand Down