Skip to content

Commit 660b257

Browse files
authored
docs: contributing guide update (0xMiden#1109)
1 parent f475d89 commit 660b257

File tree

3 files changed

+37
-12
lines changed

3 files changed

+37
-12
lines changed

.github/workflows/web-docs-check.yml

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -27,21 +27,26 @@ jobs:
2727
core.setOutput('skip', labels.includes('bypass-sdk-version-bump'));
2828
2929
- name: Install Rust toolchain
30+
if: github.event_name == 'push' || steps.bypass.outputs.skip != 'true'
3031
run: rustup update --no-self-update
3132

3233
- name: Setup Node.js
34+
if: github.event_name == 'push' || steps.bypass.outputs.skip != 'true'
3335
uses: actions/setup-node@v3
3436
with:
3537
node-version: '20'
3638

3739
- name: Add WASM target
40+
if: github.event_name == 'push' || steps.bypass.outputs.skip != 'true'
3841
run: rustup target add wasm32-unknown-unknown
3942

4043
- name: Install Dependencies
44+
if: github.event_name == 'push' || steps.bypass.outputs.skip != 'true'
4145
working-directory: crates/web-client
4246
run: yarn install
4347

4448
- name: Build Project
49+
if: github.event_name == 'push' || steps.bypass.outputs.skip != 'true'
4550
working-directory: crates/web-client
4651
run: yarn build
4752

CONTRIBUTING.md

Lines changed: 23 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -71,23 +71,36 @@ For example, a new change to the `miden-node-store` crate might have the followi
7171
// ================================================================================
7272
```
7373
74-
- [Rustfmt](https://github.com/rust-lang/rustfmt), [Clippy](https://github.com/rust-lang/rust-clippy), [Rustdoc](https://doc.rust-lang.org/rustdoc/index.html) and [Typos](https://github.com/crate-ci/typos) linting is included in CI pipeline. Anyways it's preferable to run linting locally before push. To simplify running these commands in a reproducible manner we use `make` commands, you can run:
74+
- [Rustfmt](https://github.com/rust-lang/rustfmt), [Clippy](https://github.com/rust-lang/rust-clippy), [Rustdoc](https://doc.rust-lang.org/rustdoc/index.html), [Typos](https://github.com/crate-ci/typos) and [Taplo](https://github.com/tamasfe/taplo) linting is included in the CI pipeline.
7575
76-
```
77-
make lint
78-
```
76+
You can run all checks locally before opening a PR. To simplify running all checks in a reproducible manner we use `make` commands:
7977
80-
You can find more information about other `make` commands in the [Makefile](Makefile)
78+
```
79+
make lint
80+
```
81+
82+
You can find more information about other `make` commands in the [Makefile](Makefile).
8183
8284
### Versioning
8385
We use [semver](https://semver.org/) naming convention.
8486
8587
## Pre-PR checklist
86-
1. Repo forked and branch created from `next` according to the naming convention.
87-
2. Commit messages and code style follow conventions.
88-
3. Tests added for new functionality.
89-
4. Documentation/comments updated for all changes according to our documentation convention.
90-
5. Rustfmt, Clippy and Rustdoc linting passed.
88+
89+
> [!TIP]
90+
> You can check if you have the tools that we use by running `make check-tools`.
91+
92+
- Repo forked and branch created from `next` according to the naming convention.
93+
- Commit messages and code style follow conventions.
94+
- Tests added for new functionality, with all previously existing tests passing.
95+
- Read more on how to run integration tests [here](./tests/README.md).
96+
- Documentation/comments updated for all changes according to our documentation convention.
97+
- Lints: Rustfmt, Clippy, Rustdoc, Typos and TOML-formatting linting passing.
98+
- As mentioned above, `make lint` can be used for checking there.
99+
- If the PR includes changes to the web client, the documentation needs to be up to date. You can automatically generate them by running `make typedoc`.
100+
101+
### Changelog
102+
103+
If a PR introduces anything a downstream user might notice - a new feature, a behaviour change, a bug-fix, a deprecation, or a breaking API change - add a bullet to [CHANGELOG.md](./CHANGELOG.md) under the last existing heading (corresponds to the unreleased version when working on the `next` branch). The convention is to write a past-tense summary (e.g. "* [BREAKING] Renamed foo() to bar() in `Client` {#PR number link}"). Internal refactors or smaller tweaks that don’t affect public behaviour can be left out.
91104
92105
## Write bug reports with detail, background, and sample code
93106

tests/README.md

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -18,13 +18,20 @@ And on a second terminal do:
1818
make integration-test-full
1919
```
2020

21+
For running web client integration tests, you can do:
22+
23+
```bash
24+
# This will run the integration test suite for the web SDK
25+
make integration-test-web-client
26+
```
27+
2128
Note that in order to run this as part of a CI/CD workflow (at least on github), you'll need to use `make start-node-background` instead so the process keeps running on background.
2229

2330
To stop the background node, you can use the `make stop-node` command.
2431

25-
## Integration Test Flow
32+
## Integration tests flow
2633

27-
The integration test goes through a series of supported flows such as minting and transferring assets which runs against a running node.
34+
The integration testing suite goes through a series of supported flows such as minting and transferring assets which runs against a running node.
2835

2936
### Setup
3037

0 commit comments

Comments
 (0)