Skip to content

Commit 3dbbe0a

Browse files
authored
Merge pull request #21 from sybila/daemontus/chore/deps-and-ci-update
Dependencies and CI update
2 parents bbcc77a + a25c260 commit 3dbbe0a

23 files changed

+152
-159
lines changed

.github/workflows/build.yml

Lines changed: 12 additions & 91 deletions
Original file line numberDiff line numberDiff line change
@@ -1,101 +1,22 @@
11
name: build
22

3-
# This should ensure that the workflow won't run on `dev-*` branches, but will
4-
# otherwise execute on any other branch and any pull request (including PRs
5-
# from dev branches).
3+
# This should ensure that the workflow won't run on `feat/*`, `fix/*` and `chore/*` branches, but will
4+
# otherwise execute on any other branch and any pull request.
65
on:
76
push:
87
branches-ignore:
9-
- 'dev-*'
8+
- '**/feat/*'
9+
- '**/fix/*'
10+
- '**/chore/*'
1011
pull_request:
1112
branches:
1213
- '*'
1314

14-
env:
15-
# A fixed version used for testing, so that the builds don't
16-
# spontaneously break after a few years.
17-
# Make sure to update this from time to time.
18-
RUST_VERSION: "1.86.0"
1915
jobs:
20-
# Checks syntax formatting.
21-
fmt:
22-
name: Rustfmt
23-
runs-on: ubuntu-latest
24-
env:
25-
RUSTFLAGS: "-D warnings"
26-
steps:
27-
- uses: actions/checkout@v4
28-
- uses: dtolnay/rust-toolchain@stable
29-
with:
30-
toolchain: ${{ env.RUST_VERSION }}
31-
components: rustfmt
32-
- run: cargo fmt --all -- --check
33-
34-
# Run basic code validity check.
35-
check:
36-
needs: fmt
37-
name: Check
38-
runs-on: ubuntu-latest
39-
env:
40-
RUSTFLAGS: "-D warnings"
41-
steps:
42-
- uses: actions/checkout@v4
43-
- uses: dtolnay/rust-toolchain@stable
44-
with:
45-
toolchain: ${{ env.RUST_VERSION }}
46-
- run: cargo check --all-features
47-
48-
# Run tests.
49-
test:
50-
needs: check
51-
name: Test Suite (linux)
52-
runs-on: ubuntu-latest
53-
env:
54-
RUSTFLAGS: "-D warnings"
55-
steps:
56-
- uses: actions/checkout@v4
57-
- uses: dtolnay/rust-toolchain@stable
58-
with:
59-
toolchain: ${{ env.RUST_VERSION }}
60-
components: rustfmt
61-
- run: cargo test --all-features
62-
63-
# Checks code style.
64-
clippy:
65-
needs: check
66-
name: Clippy
67-
runs-on: ubuntu-latest
68-
env:
69-
RUSTFLAGS: "-D warnings"
70-
steps:
71-
- uses: actions/checkout@v4
72-
- uses: dtolnay/rust-toolchain@stable
73-
with:
74-
toolchain: ${{ env.RUST_VERSION }}
75-
components: clippy
76-
- run: cargo clippy --all-features
77-
78-
# Compute code coverage
79-
codecov:
80-
needs: test
81-
name: Code coverage
82-
runs-on: ubuntu-latest
83-
steps:
84-
- uses: actions/checkout@v4
85-
- uses: dtolnay/rust-toolchain@stable
86-
with:
87-
toolchain: ${{ env.RUST_VERSION }}
88-
# Install action using cargo-binstall, which is faster because we don't have to compile tarpaulin every time.
89-
- uses: taiki-e/install-action@v2
90-
with:
91-
tool: cargo-tarpaulin
92-
- run: cargo tarpaulin --verbose --lib --examples --all-features --out xml
93-
- name: Upload to codecov.io
94-
uses: codecov/codecov-action@v4
95-
with:
96-
token: ${{ secrets.CODECOV_TOKEN }}
97-
- name: Archive code coverage results
98-
uses: actions/upload-artifact@v4
99-
with:
100-
name: code-coverage-report
101-
path: cobertura.xml
16+
validate:
17+
uses: sybila/github-workflows/.github/workflows/rust-build-and-check.yml@main
18+
with:
19+
rust-version: "1.90.0"
20+
min-rust-version: "1.88.0"
21+
secrets:
22+
CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }}

.github/workflows/release.yml

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
on:
2+
push:
3+
tags:
4+
- 'v*.*.*'
5+
6+
name: Publish to crates.io and generate release info
7+
8+
jobs:
9+
deploy:
10+
uses: sybila/github-workflows/.github/workflows/rust-release-and-publish.yml@main
11+
with:
12+
min-rust-version: "1.88.0"
13+
repository-url: "https://github.com/sybila/biodivine-hctl-model-checker"
14+
secrets:
15+
GEMINI_API_KEY: ${{ secrets.GEMINI_API_KEY }}
16+
CRATES_IO_API_TOKEN: ${{ secrets.CRATES_IO_API_TOKEN }}

.releasenotes.yml

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
project_type: library
2+
public_api_command: "cargo public-api --omit blanket-impls,auto-trait-impls,auto-derived-impls"
3+
gemini_model: "gemini-2.5-pro"
4+
diff_exclude_paths:
5+
- benchmark_models/**
6+
- test/**

Cargo.toml

Lines changed: 11 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
name = "biodivine-hctl-model-checker"
33
version = "0.3.3"
44
authors = ["Ondřej Huvar <xhuvar@fi.muni.cz>", "Samuel Pastva <sam.pastva@gmail.com>"]
5-
edition = "2021"
5+
edition = "2024"
66
description = "Library for symbolic HCTL model checking on partially defined Boolean networks."
77
documentation = "https://docs.rs/biodivine-hctl-model-checker/latest/"
88
homepage = "https://github.com/sybila/biodivine-hctl-model-checker"
@@ -11,6 +11,8 @@ readme = "README.md"
1111
keywords = ["hctl", "model-checking", "boolean-network", "symbolic", "systems-biology"]
1212
categories = ["science", "simulation"]
1313
license = "MIT"
14+
# If you are increasing this, update it in both CI workflows.
15+
rust-version = "1.88.0"
1416
exclude = ["benchmark_models", ".github", ".githooks"]
1517

1618
[profile.test]
@@ -25,9 +27,11 @@ name = "convert-aeon-to-bnet"
2527
path = "src/bin/convert_aeon_to_bnet.rs"
2628

2729
[dependencies]
28-
biodivine-lib-bdd = ">=0.5.22, <1.0.0"
29-
biodivine-lib-param-bn = ">=0.5.13, <1.0.0"
30-
clap = { version = "4.1.4", features = ["derive"] }
31-
rand = "0.8.5"
32-
termcolor = "1.1.2"
33-
zip = "0.6.3"
30+
biodivine-lib-bdd = ">=0.6.1, <1.0.0"
31+
biodivine-lib-param-bn = ">=0.6.1, <1.0.0"
32+
clap = { version = "4.5", features = ["derive"] }
33+
# `rand` cannot be updated because `lib-bdd` uses it to generate random `big-int` values
34+
# and this is not yet supported for `0.9` or newer.
35+
rand = "0.8"
36+
termcolor = "1.4"
37+
zip = "0.6"

src/_aeon_algorithms/algo_xie_beerel.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
use crate::_aeon_algorithms::saturated_reachability::{reach_bwd, reachability_step};
22

3+
use biodivine_lib_param_bn::VariableId;
34
use biodivine_lib_param_bn::biodivine_std::traits::Set;
45
use biodivine_lib_param_bn::symbolic_async_graph::{GraphColoredVertices, SymbolicAsyncGraph};
5-
use biodivine_lib_param_bn::VariableId;
66

77
/// Uses a simplified Xie-Beerel algorithm adapted to coloured setting to find all bottom
88
/// SCCs in the given `universe` set. It only tests transitions using `active_variables`.

src/_aeon_algorithms/itgr/_impl_extended_component_process.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
1+
use biodivine_lib_param_bn::VariableId;
12
use biodivine_lib_param_bn::biodivine_std::traits::Set;
23
use biodivine_lib_param_bn::symbolic_async_graph::{GraphColoredVertices, SymbolicAsyncGraph};
3-
use biodivine_lib_param_bn::VariableId;
44

55
use crate::_aeon_algorithms::itgr::{BwdProcess, ExtendedComponentProcess, Process, Scheduler};
66
use crate::_aeon_algorithms::saturated_reachability::reach_bwd;

src/_aeon_algorithms/itgr/_impl_reachable_process.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
1+
use biodivine_lib_param_bn::VariableId;
12
use biodivine_lib_param_bn::biodivine_std::traits::Set;
23
use biodivine_lib_param_bn::symbolic_async_graph::{GraphColoredVertices, SymbolicAsyncGraph};
3-
use biodivine_lib_param_bn::VariableId;
44

55
use crate::_aeon_algorithms::itgr::{
66
ExtendedComponentProcess, FwdProcess, Process, ReachableProcess, Scheduler,

src/_aeon_algorithms/itgr/_impl_scheduler.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
1+
use biodivine_lib_param_bn::VariableId;
12
use biodivine_lib_param_bn::biodivine_std::traits::Set;
23
use biodivine_lib_param_bn::symbolic_async_graph::{GraphColoredVertices, SymbolicAsyncGraph};
3-
use biodivine_lib_param_bn::VariableId;
44

55
use crate::_aeon_algorithms::itgr::{Process, Scheduler};
66

src/_aeon_algorithms/itgr/mod.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,8 +5,8 @@
55
//! a very reasonable amount of time.
66
//!
77
8-
use biodivine_lib_param_bn::symbolic_async_graph::{GraphColoredVertices, SymbolicAsyncGraph};
98
use biodivine_lib_param_bn::VariableId;
9+
use biodivine_lib_param_bn::symbolic_async_graph::{GraphColoredVertices, SymbolicAsyncGraph};
1010

1111
mod _impl_extended_component_process;
1212
mod _impl_fwd_bwd_process;

src/_aeon_algorithms/saturated_reachability.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
1+
use biodivine_lib_param_bn::VariableId;
12
use biodivine_lib_param_bn::biodivine_std::traits::Set;
23
use biodivine_lib_param_bn::symbolic_async_graph::{GraphColoredVertices, SymbolicAsyncGraph};
3-
use biodivine_lib_param_bn::VariableId;
44

55
/// Performs one reachability step using the saturation scheme.
66
///

0 commit comments

Comments
 (0)