mirror of
https://github.com/pezkuwichain/pezkuwi-subxt.git
synced 2026-04-23 00:18:00 +00:00
ce2403808b
* WIP Release notes generation and templates * WIP Add new sections to the template * WIP renaming and wip * Fix runtime template * Add doc, NO_CACHE and tweaking of the templates * Renaming cl into cumulus to make room for the polkadot and substrate * Fetch data from Substrate and Polkadot * WIP convert bash script to ruby * Convert to Ruby * Fix host function delection * Extract priority to a macro * Fix misc changes * Draft release workflow * Fix runtime dir * Add ENV to ignore runtimes * Install tooling separately * WIP troubleshooting - remove sudo * Minor formatting fixes * Fix workflow * Add missing dep * Linting * Fix changelog script * Add missing tera install * Use absolute paths * Fix path + cleanup * Fix changelog generation * Add missing pre-release ENV * Fix rust version ENV * Fix release notes path * Fix output * Fix runtime_dir for cumulus * Fix ENV substitutions * Fix styling * Debugging * Styling * Fix call to fetch the runtime version * Cleanup and doc * Delete sample .env * Update scripts/changelog/templates/change.md.tera Co-authored-by: Alexander Popiak <alexander.popiak@parity.io> * Change XCM emoji marker for a ✉️ Co-authored-by: Alexander Popiak <alexander.popiak@parity.io>
72 lines
2.2 KiB
Markdown
72 lines
2.2 KiB
Markdown
# Changelog
|
|
|
|
Currently, the changelog is built locally. It will be moved to CI once labels stabilize.
|
|
|
|
For now, a bit of preparation is required before you can run the script:
|
|
- fetch the srtool digests
|
|
- store them under the `digests` folder as `<chain>-srtool-digest.json`
|
|
- ensure the `.env` file is up to date with correct information
|
|
|
|
The content of the release notes is generated from the template files under the `scripts/changelog/templates` folder. For readability and maintenance, the template is split into several small snippets.
|
|
|
|
Run:
|
|
```
|
|
./bin/changelog <ref_since> [<ref_until>=HEAD]
|
|
```
|
|
|
|
For instance:
|
|
```
|
|
./bin/changelog statemine-v5.0.0
|
|
```
|
|
|
|
A file called `release-notes.md` will be generated and can be used for the release.
|
|
|
|
## ENV
|
|
|
|
You may use the following ENV for testing:
|
|
|
|
```
|
|
RUSTC_STABLE="rustc 1.56.1 (59eed8a2a 2021-11-01)"
|
|
RUSTC_NIGHTLY="rustc 1.57.0-nightly (51e514c0f 2021-09-12)"
|
|
PRE_RELEASE=true
|
|
HIDE_SRTOOL_ROCOCO=true
|
|
HIDE_SRTOOL_SHELL=true
|
|
REF1=statemine-v5.0.0
|
|
REF2=HEAD
|
|
DEBUG=1
|
|
NO_CACHE=1
|
|
```
|
|
## Considered labels
|
|
|
|
The following list will likely evolve over time and it will be hard to keep it in sync.
|
|
In any case, if you want to find all the labels that are used, search for `meta` in the templates.
|
|
Currently, the considered labels are:
|
|
|
|
- Priority: C<N> labels
|
|
- Audit: D<N> labels
|
|
- E4 => new host function
|
|
- B0 => silent, not showing up
|
|
- B1-releasenotes (misc unless other labels)
|
|
- B5-client (client changes)
|
|
- B7-runtimenoteworthy (runtime changes)
|
|
- T6-XCM
|
|
|
|
Note that labels with the same letter are mutually exclusive.
|
|
A PR should not have both `B0` and `B5`, or both `C1` and `C9`. In case of conflicts, the template will
|
|
decide which label will be considered.
|
|
|
|
## Dev and debuggin
|
|
|
|
### Hot Reload
|
|
|
|
The following command allows **Hot Reload**:
|
|
```
|
|
fswatch templates -e ".*\.md$" | xargs -n1 -I{} ./bin/changelog statemine-v5.0.0
|
|
```
|
|
### Caching
|
|
|
|
By default, if the changelog data from Github is already present, the calls to the Github API will be skipped
|
|
and the local version of the data will be used. This is much faster.
|
|
If you know that some labels have changed in Github, you probably want to refresh the data.
|
|
You can then either delete manually the `cumulus.json` file or `export NO_CACHE=1` to force refreshing the data.
|