Skip to content

Commit 5cc6fe8

Browse files
committed
ci: split into packages
1 parent 6537971 commit 5cc6fe8

3 files changed

Lines changed: 203 additions & 12 deletions

File tree

.github/workflows/ci.yml renamed to .github/workflows/ci-dynamic-expressions.yml

Lines changed: 19 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,24 @@
1-
name: CI
1+
name: CI (DE)
22

33
on:
44
pull_request:
55
branches:
66
- main
7+
paths:
8+
- dynamic_expressions/**
9+
- .cargo/**
10+
- Cargo.toml
11+
- codecov.yml
12+
- .github/workflows/ci-dynamic-expressions.yml
713
push:
814
branches:
915
- main
16+
paths:
17+
- dynamic_expressions/**
18+
- .cargo/**
19+
- Cargo.toml
20+
- codecov.yml
21+
- .github/workflows/ci-dynamic-expressions.yml
1022
workflow_dispatch:
1123

1224
concurrency:
@@ -33,7 +45,7 @@ jobs:
3345
uses: Swatinem/rust-cache@v2
3446

3547
- name: cargo build
36-
run: cargo build --workspace --all-targets --all-features
48+
run: cargo build -p dynamic_expressions --all-targets --all-features
3749

3850
cargo-fmt:
3951
name: cargo fmt
@@ -71,7 +83,7 @@ jobs:
7183
uses: Swatinem/rust-cache@v2
7284

7385
- name: cargo clippy
74-
run: cargo clippy --workspace --all-targets --all-features -- -D warnings
86+
run: cargo clippy -p dynamic_expressions --all-targets --all-features -- -D warnings
7587

7688
cargo-test:
7789
name: cargo test
@@ -89,7 +101,7 @@ jobs:
89101
uses: Swatinem/rust-cache@v2
90102

91103
- name: cargo test
92-
run: cargo test --workspace --all-targets --all-features
104+
run: cargo test -p dynamic_expressions --all-targets --all-features
93105

94106
coverage:
95107
name: coverage (codecov)
@@ -117,11 +129,11 @@ jobs:
117129

118130
- name: Generate coverage (lcov)
119131
if: env.HAS_CODECOV_ACCESS == 'true'
120-
run: cargo llvm-cov --workspace --all-features --all-targets --lcov --output-path lcov.info
132+
run: cargo llvm-cov -p dynamic_expressions --all-features --all-targets --lcov --output-path lcov.info
121133

122134
- name: Run tests (no coverage token)
123135
if: env.HAS_CODECOV_ACCESS != 'true'
124-
run: cargo test --workspace --all-targets --all-features
136+
run: cargo test -p dynamic_expressions --all-targets --all-features
125137

126138
- name: Upload to Codecov
127139
if: env.HAS_CODECOV_ACCESS == 'true'
@@ -147,7 +159,7 @@ jobs:
147159
uses: Swatinem/rust-cache@v2
148160

149161
- name: cargo doc
150-
run: cargo doc --workspace --all-features --no-deps
162+
run: cargo doc -p dynamic_expressions --all-features --no-deps
151163

152164
cargo-package:
153165
name: cargo package
@@ -166,6 +178,3 @@ jobs:
166178

167179
- name: cargo package dynamic_expressions
168180
run: cargo package -p dynamic_expressions
169-
170-
- name: cargo package symbolic_regression
171-
run: cargo package -p symbolic_regression
Lines changed: 182 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,182 @@
1+
name: CI (SR)
2+
3+
on:
4+
pull_request:
5+
branches:
6+
- main
7+
paths:
8+
- symbolic_regression/**
9+
- dynamic_expressions/**
10+
- .cargo/**
11+
- Cargo.toml
12+
- codecov.yml
13+
- .github/workflows/ci-symbolic-regression.yml
14+
push:
15+
branches:
16+
- main
17+
paths:
18+
- symbolic_regression/**
19+
- dynamic_expressions/**
20+
- .cargo/**
21+
- Cargo.toml
22+
- codecov.yml
23+
- .github/workflows/ci-symbolic-regression.yml
24+
workflow_dispatch:
25+
26+
concurrency:
27+
group: ${{ github.workflow }}-${{ github.ref }}
28+
cancel-in-progress: true
29+
30+
env:
31+
CARGO_TERM_COLOR: always
32+
33+
jobs:
34+
cargo-build:
35+
name: cargo build
36+
runs-on: ubuntu-latest
37+
steps:
38+
- name: Checkout
39+
uses: actions/checkout@v4
40+
41+
- name: Install Rust
42+
uses: actions-rust-lang/setup-rust-toolchain@v1
43+
with:
44+
toolchain: stable
45+
46+
- name: Rust cache
47+
uses: Swatinem/rust-cache@v2
48+
49+
- name: cargo build
50+
run: cargo build -p symbolic_regression --all-targets --all-features
51+
52+
cargo-fmt:
53+
name: cargo fmt
54+
runs-on: ubuntu-latest
55+
steps:
56+
- name: Checkout
57+
uses: actions/checkout@v4
58+
59+
- name: Install Rust (rustfmt)
60+
uses: actions-rust-lang/setup-rust-toolchain@v1
61+
with:
62+
toolchain: stable
63+
components: rustfmt
64+
65+
- name: Rust cache
66+
uses: Swatinem/rust-cache@v2
67+
68+
- name: cargo fmt --check
69+
run: cargo fmt --all --check
70+
71+
cargo-clippy:
72+
name: cargo clippy
73+
runs-on: ubuntu-latest
74+
steps:
75+
- name: Checkout
76+
uses: actions/checkout@v4
77+
78+
- name: Install Rust (clippy)
79+
uses: actions-rust-lang/setup-rust-toolchain@v1
80+
with:
81+
toolchain: stable
82+
components: clippy
83+
84+
- name: Rust cache
85+
uses: Swatinem/rust-cache@v2
86+
87+
- name: cargo clippy
88+
run: cargo clippy -p symbolic_regression --all-targets --all-features -- -D warnings
89+
90+
cargo-test:
91+
name: cargo test
92+
runs-on: ubuntu-latest
93+
steps:
94+
- name: Checkout
95+
uses: actions/checkout@v4
96+
97+
- name: Install Rust
98+
uses: actions-rust-lang/setup-rust-toolchain@v1
99+
with:
100+
toolchain: stable
101+
102+
- name: Rust cache
103+
uses: Swatinem/rust-cache@v2
104+
105+
- name: cargo test
106+
run: cargo test -p symbolic_regression --all-targets --all-features
107+
108+
coverage:
109+
name: coverage (codecov)
110+
runs-on: ubuntu-latest
111+
env:
112+
HAS_CODECOV_ACCESS: ${{ secrets.CODECOV_TOKEN != '' }}
113+
steps:
114+
- name: Checkout
115+
uses: actions/checkout@v4
116+
117+
- name: Install Rust (llvm-tools)
118+
uses: actions-rust-lang/setup-rust-toolchain@v1
119+
with:
120+
toolchain: stable
121+
components: llvm-tools-preview
122+
123+
- name: Rust cache
124+
uses: Swatinem/rust-cache@v2
125+
126+
- name: Install cargo-llvm-cov
127+
if: env.HAS_CODECOV_ACCESS == 'true'
128+
uses: taiki-e/install-action@v2
129+
with:
130+
tool: cargo-llvm-cov
131+
132+
- name: Generate coverage (lcov)
133+
if: env.HAS_CODECOV_ACCESS == 'true'
134+
run: cargo llvm-cov -p symbolic_regression --all-features --all-targets --lcov --output-path lcov.info
135+
136+
- name: Run tests (no coverage token)
137+
if: env.HAS_CODECOV_ACCESS != 'true'
138+
run: cargo test -p symbolic_regression --all-targets --all-features
139+
140+
- name: Upload to Codecov
141+
if: env.HAS_CODECOV_ACCESS == 'true'
142+
uses: codecov/codecov-action@v5
143+
with:
144+
files: lcov.info
145+
token: ${{ secrets.CODECOV_TOKEN }}
146+
fail_ci_if_error: false
147+
148+
cargo-doc:
149+
name: cargo doc
150+
runs-on: ubuntu-latest
151+
steps:
152+
- name: Checkout
153+
uses: actions/checkout@v4
154+
155+
- name: Install Rust
156+
uses: actions-rust-lang/setup-rust-toolchain@v1
157+
with:
158+
toolchain: stable
159+
160+
- name: Rust cache
161+
uses: Swatinem/rust-cache@v2
162+
163+
- name: cargo doc
164+
run: cargo doc -p symbolic_regression --all-features --no-deps
165+
166+
cargo-package:
167+
name: cargo package
168+
runs-on: ubuntu-latest
169+
steps:
170+
- name: Checkout
171+
uses: actions/checkout@v4
172+
173+
- name: Install Rust
174+
uses: actions-rust-lang/setup-rust-toolchain@v1
175+
with:
176+
toolchain: stable
177+
178+
- name: Rust cache
179+
uses: Swatinem/rust-cache@v2
180+
181+
- name: cargo package symbolic_regression
182+
run: cargo package -p symbolic_regression

README.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -18,8 +18,8 @@ This workspace contains two crates:
1818

1919
| Crate | crates.io | CI |
2020
|---|---|---|
21-
| [`symbolic_regression`](./symbolic_regression) | [![crates.io](https://img.shields.io/crates/v/symbolic_regression)](https://crates.io/crates/symbolic_regression) | [![CI](https://github.com/MilesCranmer/symbolic_regression.rs/actions/workflows/ci.yml/badge.svg?branch=main)](https://github.com/MilesCranmer/symbolic_regression.rs/actions/workflows/ci.yml) |
22-
| [`dynamic_expressions`](./dynamic_expressions) | [![crates.io](https://img.shields.io/crates/v/dynamic_expressions)](https://crates.io/crates/dynamic_expressions) | [![CI](https://github.com/MilesCranmer/symbolic_regression.rs/actions/workflows/ci.yml/badge.svg?branch=main)](https://github.com/MilesCranmer/symbolic_regression.rs/actions/workflows/ci.yml) |
21+
| [`symbolic_regression`](./symbolic_regression) | [![crates.io](https://img.shields.io/crates/v/symbolic_regression)](https://crates.io/crates/symbolic_regression) | [![CI (symbolic_regression)](https://github.com/MilesCranmer/symbolic_regression.rs/actions/workflows/ci-symbolic-regression.yml/badge.svg?branch=main)](https://github.com/MilesCranmer/symbolic_regression.rs/actions/workflows/ci-symbolic-regression.yml) |
22+
| [`dynamic_expressions`](./dynamic_expressions) | [![crates.io](https://img.shields.io/crates/v/dynamic_expressions)](https://crates.io/crates/dynamic_expressions) | [![CI (dynamic_expressions)](https://github.com/MilesCranmer/symbolic_regression.rs/actions/workflows/ci-dynamic-expressions.yml/badge.svg?branch=main)](https://github.com/MilesCranmer/symbolic_regression.rs/actions/workflows/ci-dynamic-expressions.yml) |
2323

2424
## Quickstart
2525

0 commit comments

Comments
 (0)