You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: docs/docs/dev/developer_guide.md
+79-3Lines changed: 79 additions & 3 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -166,7 +166,7 @@ Rust code is linted by running [Clippy](https://github.com/rust-lang/rust-clippy
166
166
cargo clippy --all-targets --all
167
167
```
168
168
169
-
Clippy is configured in`clippy.toml` and `.cargo/config.toml`.
169
+
Clippy is configured in`.cargo/config.toml`.
170
170
171
171
### Formatting (code style)
172
172
@@ -178,6 +178,82 @@ cargo fmt --all
178
178
179
179
Rustfmt is configured in`rustfmt.toml`.
180
180
181
+
### Development scripts (optional)
182
+
183
+
The project includes a development scripts at `./dev/docker/run` and `./dev/dev` which provide shortcuts for common development tasks. All commands run inside a Docker container:
184
+
185
+
```bash
186
+
# Build in debug mode
187
+
./dev/docker/run ./dev/dev b
188
+
189
+
# Build in release mode
190
+
./dev/docker/run ./dev/dev br
191
+
192
+
# Run in debug mode
193
+
./dev/docker/run ./dev/dev r pangraph -- build --help
The same docker commands and the same container is used in CI. This setup ensures a consistent, isolated, reproducible environment on local machines and on remotes.
221
+
222
+
Independently, there are some shortcuts defined in`.cargo/config.toml`. They can used directly with `cargo`:
|`release`| [cli.yml](https://github.com/neherlab/pangraph/blob/master/.github/workflows/cli.yml) | Releases Pangraph CLI to [GitHub Releases](https://github.com/neherlab/pangraph/releases) and [DockerHub](https://hub.docker.com/r/neherlab/pangraph) |
292
+
|`release-cli`| [cli.yml](https://github.com/neherlab/pangraph/blob/master/.github/workflows/cli.yml) | Releases Pangraph CLI to [GitHub Releases](https://github.com/neherlab/pangraph/releases) and [DockerHub](https://hub.docker.com/r/neherlab/pangraph) |
217
293
|`release-pypangraph`| [pypangraph.yml](https://github.com/neherlab/pangraph/blob/master/.github/workflows/pypangraph.yml) | Releases PyPangraph to [PyPI](https://pypi.org/project/pypangraph/) |
218
294
|`release-docs`| [docs.yml](https://github.com/neherlab/pangraph/blob/master/.github/workflows/docs.yml) | Releases documentation website to [https://docs.pangraph.org](https://docs.pangraph.org) |
219
295
@@ -241,7 +317,7 @@ There are multiple release targets and they are published by updating where the
241
317
242
318
Having hard times to decide? Read [Semantic Versioning](https://semver.org/).
243
319
244
-
4. Follow instructions printed by the script. Resolve errors, if any. If finished successfully, follow instructions on how to fast-forward and push the changes to the `release` branch.
320
+
4. Follow instructions printed by the script. Resolve errors, if any. If finished successfully, follow instructions on how to fast-forward and push the changes to the `release-cli` branch.
245
321
246
322
5. Optionally, you can combine the releases of CLI, docs and PyPangraph. Just add more commits to `master` branch and then fast-forward and push them to corresponding branches all together.
0 commit comments