diff --git a/CHANGELOG.md b/CHANGELOG.md new file mode 100644 index 000000000..a1583cbf7 --- /dev/null +++ b/CHANGELOG.md @@ -0,0 +1,5 @@ +# Changelog + +Changes are published with their type and scope for each release in the release description. Changes are assigned based on their commit description. Read more on how commits should be formatted in the [Contributing](CONTRIBUTING.md#commits) guide. + +See the [Releases](https://github.com/projectcapsule/capsule/releases) \ No newline at end of file diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 17ffd32e3..ac469304b 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -36,10 +36,12 @@ Commit messages should indicate the change and it's impact. The general format f The following types are allowed for commits and pull requests: - * `ci` or `build`: changes to buillding process/workflows + * `chore`: housekeeping changes, no production code change + * `ci`: changes to buillding process/workflows * `docs`: changes to documentation * `feat`: new features * `fix`: bug fixes + * `test`: test related changes ## Scopes @@ -48,13 +50,13 @@ The following types are allowed for commits and pull requests: * `all`: changes that affect all components * `chart`: changes to the Helm chart * `operator`: changes to the operator - * `docs`: changes to the documentation + * `manifest`: changes to the manifest installer * `website`: changes to the website - * `ci`: changes to the CI/CD workflows - * `build`: changes to the build process - * `test`: changes to the testing process + * `e2e`: changes to the e2e testing process * `release`: changes to the release process + * `repo`: changes to general repository files * `deps`: dependency updates + * `make`: changes to Makefile ### Sign-Off diff --git a/README.md b/README.md index 0c1376648..6837a0e0b 100644 --- a/README.md +++ b/README.md @@ -119,6 +119,10 @@ Please, refer to the maintainers file available [here](.github/maintainers.yaml) Please, refer to the [documentation page](https://capsule.clastix.io/docs/contributing/release). +### Changelog + +Read how we log changes [here](CHANGELOG.md) + ### Software Bill of Materials All OCI release artifacts include a Software Bill of Materials (SBOM) in CycloneDX JSON format. More information on this is available [here](SECURITY.md#software-bill-of-materials-sbom) diff --git a/commitlint.config.js b/commitlint.config.js new file mode 100644 index 000000000..159fbd0bd --- /dev/null +++ b/commitlint.config.js @@ -0,0 +1,19 @@ +const Configuration = { + extends: ['@commitlint/config-conventional'], + plugins: ['commitlint-plugin-function-rules'], + rules: { + 'scope-enum': [2, 'always', ['all', 'chart', 'operator', 'manifest', 'deps', 'release', 'website', 'repo', 'e2e', 'make']], + 'type-enum': [2, 'always', ['chore', 'ci', 'docs', 'feat', 'test', 'fix']], + }, + /* + * Whether commitlint uses the default ignore rules, see the description above. + */ + defaultIgnores: true, + /* + * Custom URL to show upon failure + */ + helpUrl: + 'https://github.com/projectcapsule/capsule/blob/main/CONTRIBUTING.md#commits', + }; + + module.exports = Configuration; \ No newline at end of file