diff --git a/.github/PULL_REQUEST_TEMPLATE.md b/.github/PULL_REQUEST_TEMPLATE.md new file mode 100644 index 000000000000..2d1dd0022d0f --- /dev/null +++ b/.github/PULL_REQUEST_TEMPLATE.md @@ -0,0 +1,34 @@ +# Description + + + + + +## Checklist + +- [ ] Labels applied correctly? See the [contributing guidlines](../CONTRIBUTING.md). +- [ ] Iterate using the CI, or run the following commands on your setup iff it's beefy enough (optional): + - [ ] Workspace compiles `cargo check --workspace --tests`? + - [ ] Workspace tests `cargo test --workspace`? + - [ ] Applied `cargo +nightly fmt` with the version from CI? + - [ ] Ran `cargo spellcheck` without any fallout? If any, update `.spellcheck/lingua.dic`. +- [ ] Fixed any fallout caused by this PR in `cumulus`? +- [ ] Referenced relevant companion pull-requests of `substrate` and `cumulus`? +- [ ] Does the change mandate an [architecture decision record](../ADR.md) being added? + + diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 6f0eb12ab22b..e6b221e2dfde 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -273,7 +273,7 @@ spellcheck: - git fetch origin +${CI_DEFAULT_BRANCH}:${CI_DEFAULT_BRANCH} - echo "___Spellcheck is going to check your diff___" - cargo spellcheck list-files -vvv $(git diff --diff-filter=AM --name-only $(git merge-base ${CI_COMMIT_SHA} ${CI_DEFAULT_BRANCH} -- :^bridges)) - - time cargo spellcheck check -vvv --cfg=scripts/gitlab/spellcheck.toml --checkers hunspell --code 1 + - time cargo spellcheck check -vvv --cfg=.spellcheck/spellcheck.toml --checkers hunspell --code 1 $(git diff --diff-filter=AM --name-only $(git merge-base ${CI_COMMIT_SHA} ${CI_DEFAULT_BRANCH} -- :^bridges)) allow_failure: true @@ -854,5 +854,3 @@ cancel-pipeline: PROJECT_ID: "${CI_PROJECT_ID}" PIPELINE_ID: "${CI_PIPELINE_ID}" trigger: "parity/infrastructure/ci_cd/pipeline-stopper" - - diff --git a/scripts/gitlab/lingua.dic b/.spellcheck/lingua.dic similarity index 100% rename from scripts/gitlab/lingua.dic rename to .spellcheck/lingua.dic diff --git a/scripts/gitlab/spellcheck.toml b/.spellcheck/spellcheck.toml similarity index 100% rename from scripts/gitlab/spellcheck.toml rename to .spellcheck/spellcheck.toml diff --git a/ADR.md b/ADR.md new file mode 100644 index 000000000000..e1b95e79378c --- /dev/null +++ b/ADR.md @@ -0,0 +1,33 @@ +# Architecture Decision Record + +Architecture Decision Records are a lightweight way of keeping track of critical design decisions and the reasoning behind them. + +For further information, please checkout or [https://heise.de (German)](https://www.heise.de/hintergrund/Gut-dokumentiert-Architecture-Decision-Records-4664988.html?seite=all). +.template +## Placement + +It's recommended to create a folder `architecture` in the relevant crate (if the change is scoped to that trait) or the manifest root, where all project overarching ADRs are collected. + +## Template + +We are useing a derivation of a public [template by Michael Nygard](https://github.com/joelparkerhenderson/architecture-decision-record/blob/main/templates/decision-record-template-by-michael-nygard/index.md): + +```md +# Title + +## Status + + + +## Context + + + +## Decision + + + +## Consequences + + +``` diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 47c14240e7cd..719dc5277c9b 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -8,7 +8,10 @@ There are a few basic ground-rules for contributors (including the maintainer(s) - **Non-master branches**, prefixed with a short name moniker (e.g. `gav-my-feature`) must be used for ongoing work. - **All modifications** must be made in a **pull-request** to solicit feedback from other contributors. - A pull-request _must not be merged until CI_ has finished successfully. -- Contributors should adhere to the [house coding style](https://github.com/paritytech/polkadot/wiki/Style-Guide). +- Contributors should apply `cargo +nightly fmt` with the version used in CI. +- If the contribution spans across substrate and/or cumulus repositories, [companion PRs of substrate and cumulus](https://github.com/paritytech/substrate/blob/master/docs/CONTRIBUTING.adoc#updating-polkadot-as-well) are mandatory to keep changes synchronised, tl;dr add the following lines at the _end_ of your PR description: + - `substrate companion: https://github.com/paritytech/substrate/pulls/#1234` + - `cumulus companion: https://github.com/paritytech/cumulus/pulls/#5678` ### Merging pull requests once CI is successful @@ -33,6 +36,21 @@ When reviewing a pull request, the end-goal is to suggest useful changes to the - There exists a somewhat cleaner/better/faster way of accomplishing the same feature/fix. - It does not fit well with some other contributors' longer-term vision for the project. +### Helping out + +We use labels to manage PRs and issues and communicate state of a PR. Please familiarize yourself with them. Furthermore we are organizing issues in milestones. Best way to get started is to a pick a ticket from the current milestone tagged easy or medium and get going or mentor and get in contact with the mentor offering their support on that larger task. +Issues + +Please label issues with the following labels: + + I-* Issue severity and type. EXACTLY ONE REQUIRED. + + P-* Issue priority. AT MOST ONE ALLOWED. + + Q-* Issue difficulty. AT MOST ONE ALLOWED. + + Z-* More general tags on the issue, denoting context and resolution. + ## Releases Declaring formal releases remains the prerogative of the project maintainer(s).