From 9b2cc5875113ae7aee34e70aa37f706ae56a0348 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?S=C3=B6ren=20Weber?= Date: Sun, 6 Oct 2024 23:20:56 +0200 Subject: [PATCH] docs: revise dev section #567 - adding new hook - restoring lost file - renaming directory to be more descriptive --- README.md | 2 +- .../content/{dev => development}/_index.en.md | 1 + .../{dev => development}/_index.pir.md | 1 + .../contributing/_index.en.md | 0 .../contributing/_index.pir.md | 0 .../development/maintaining/_index.en.md | 136 ++++++++++++++++++ .../maintaining/_index.pir.md | 0 .../screenshots/_index.en.md | 0 .../screenshots/_index.pir.md | 0 layouts/partials/version.txt | 2 +- 10 files changed, 140 insertions(+), 2 deletions(-) rename exampleSite/content/{dev => development}/_index.en.md (82%) rename exampleSite/content/{dev => development}/_index.pir.md (61%) rename exampleSite/content/{dev => development}/contributing/_index.en.md (100%) rename exampleSite/content/{dev => development}/contributing/_index.pir.md (100%) create mode 100644 exampleSite/content/development/maintaining/_index.en.md rename exampleSite/content/{dev => development}/maintaining/_index.pir.md (100%) rename exampleSite/content/{dev => development}/screenshots/_index.en.md (100%) rename exampleSite/content/{dev => development}/screenshots/_index.pir.md (100%) diff --git a/README.md b/README.md index ad7032b4ee..290abec376 100644 --- a/README.md +++ b/README.md @@ -72,7 +72,7 @@ Visit the [What's New](https://mcshelby.github.io/hugo-theme-relearn/introductio ## Contributing -We welcome contributions for bug fixes and new features. Please see the [contribution guidelines](https://mcshelby.github.io/hugo-theme-relearn/dev/contributing) before getting started. +We welcome contributions for bug fixes and new features. Please see the [contribution guidelines](https://mcshelby.github.io/hugo-theme-relearn/development/contributing) before getting started. ## Licensing diff --git a/exampleSite/content/dev/_index.en.md b/exampleSite/content/development/_index.en.md similarity index 82% rename from exampleSite/content/dev/_index.en.md rename to exampleSite/content/development/_index.en.md index a32a2604d3..ec6ae25ea1 100644 --- a/exampleSite/content/dev/_index.en.md +++ b/exampleSite/content/development/_index.en.md @@ -1,4 +1,5 @@ +++ +menuPre = " " hidden = true title = "Development" type = "chapter" diff --git a/exampleSite/content/dev/_index.pir.md b/exampleSite/content/development/_index.pir.md similarity index 61% rename from exampleSite/content/dev/_index.pir.md rename to exampleSite/content/development/_index.pir.md index a5eaaaa44b..73837950af 100644 --- a/exampleSite/content/dev/_index.pir.md +++ b/exampleSite/content/development/_index.pir.md @@ -1,4 +1,5 @@ +++ +menuPre = " " hidden = true title = "Development" type = "chapter" diff --git a/exampleSite/content/dev/contributing/_index.en.md b/exampleSite/content/development/contributing/_index.en.md similarity index 100% rename from exampleSite/content/dev/contributing/_index.en.md rename to exampleSite/content/development/contributing/_index.en.md diff --git a/exampleSite/content/dev/contributing/_index.pir.md b/exampleSite/content/development/contributing/_index.pir.md similarity index 100% rename from exampleSite/content/dev/contributing/_index.pir.md rename to exampleSite/content/development/contributing/_index.pir.md diff --git a/exampleSite/content/development/maintaining/_index.en.md b/exampleSite/content/development/maintaining/_index.en.md new file mode 100644 index 0000000000..d14446c838 --- /dev/null +++ b/exampleSite/content/development/maintaining/_index.en.md @@ -0,0 +1,136 @@ ++++ +description = "What to know as a maintainer" +title = "Maintaining" ++++ + +## Semver + +This project tries to follow the [semver policy](https://semver.org/) - although not followed 100% in the past. + +Usually an entry of {{% badge style="warning" title=" " %}}Breaking{{% /badge %}} on the [What's new](introduction/releasenotes) page causes a new major release number. + +All other entries on the [What's new](introduction/releasenotes) page will increase the minor release number. + +Releases resulting in a new major or minor number are called main release. + +Releases containing bugfixes only, are only increasing the patch release number. Those releases don't result in announcements on the [What's new](introduction/releasenotes) page. + +Entries on the [What's new](introduction/releasenotes) page are checked and enforced during the `version-release` GitHub Action. + +## Managing Issues + +Issues are categorized and managed by assigning [labels](#labels) to it. + +Once working on an issue, assign it to a fitting maintainer. + +When done, close the ticket. Once an issue is closed, it needs to be assigned to next release milestone. + +A once released ticket is not allowed to be reopened and rereleased in a different milestone. This would cause the changelog to be changed even for the milestone the issue was previously released in. Instead write a new ticket. + +## Managing Pull Requests + +If a PR is merged and closed it needs an accompanied issue assigned to. If there is no issue for a PR, the maintainer needs to create one. + +You can assign multiple PRs to one issue as long as they belong together. + +Usually set the same labels and milestone for the PR as for the accompanied issue. + +## Labels + +### Kind + +An issue that results in changesets must have exactly one of the following labels. This needs to be assigned latest before release. + +| Label | Description | Changelog section | +|----------------------------------------------------------|--------------------------------------------|-------------------| +| {{% badge color="#5498d8" %}}documentation{{% /badge %}} | Improvements or additions to documentation | - | +| {{% badge color="#99d856" %}}discussion{{% /badge %}} | This issue was converted to a discussion | - | +| {{% badge color="#d8d104" %}}task{{% /badge %}} | Maintenance work | Maintenance | +| {{% badge color="#d8ae04" %}}feature{{% /badge %}} | New feature or request | Features | +| {{% badge color="#d88704" %}}bug{{% /badge %}} | Something isn't working | Fixes | + +### Impact + +If the issue would cause a new main release due to [semver semantics](#semver) it needs one of the according labels and the matching badge on the [What's new](introduction/releasenotes) page. + +| Label | Description | +|-----------------------------------------------------|---------------------------------------------------------| +| {{% badge color="#d73a4a" %}}change{{% /badge %}} | Introduces changes with existing installations | +| {{% badge color="#d73a4a" %}}breaking{{% /badge %}} | Introduces breaking changes with existing installations | + +### Declination + +If an issue does not result in changesets but is closed anyways, it must have exactly one of the following labels. + +| Label | Description | +|-------------------------------------------------------|------------------------------------------- +| {{% badge color="#9fa2a5" %}}duplicate{{% /badge %}} | This issue or pull request already exists | +| {{% badge color="#9fa2a5" %}}invalid{{% /badge %}} | This doesn't seem right | +| {{% badge color="#9fa2a5" %}}support{{% /badge %}} | Request for achieving a special goal | +| {{% badge color="#9fa2a5" %}}unresolved{{% /badge %}} | No progress on this issue | +| {{% badge color="#9fa2a5" %}}update{{% /badge %}} | A change in behavior after updat | +| {{% badge color="#9fa2a5" %}}wontchange{{% /badge %}} | This will not be worked on | + +### Halt + +You can assign one further label out of the following list to signal readers that development on an open issue is currently halted for different reasons. + +| Label | Description | +|----------------------------------------------------------|---------------------------------------------------------| +| {{% badge color="#998f6b" %}}blocked{{% /badge %}} | Depends on other issue to be fixed first | +| {{% badge color="#998f6b" %}}idea{{% /badge %}} | A valuable idea that's currently not worked on | +| {{% badge color="#998f6b" %}}undecided{{% /badge %}} | No decision was made yet | +| {{% badge color="#6426ff" %}}helpwanted{{% /badge %}} | Great idea, send in a PR | +| {{% badge color="#6426ff" %}}needsfeedback{{% /badge %}} | Further information is needed | + +### 3rd-Party + +If the issue is not caused by a programming error in the themes own code, you can label the causing program or library. + +| Label | Description | +|-----------------------------------------------------|-------------------------------------------------------------| +| {{% badge color="#e550a7" %}}asciidoc{{% /badge %}} | This is a topic related to processing of AsciiDoc | +| {{% badge color="#e550a7" %}}browser{{% /badge %}} | This is a topic related to the browser but not the theme | +| {{% badge color="#e550a7" %}}device{{% /badge %}} | This is a topic related to a certain device | +| {{% badge color="#e550a7" %}}hugo{{% /badge %}} | This is a topic related to Hugo itself but not the theme | +| {{% badge color="#e550a7" %}}mermaid{{% /badge %}} | This is a topic related to Mermaid itself but not the theme | + +## Setting Up a Development Environment + +Git Hooks are used to automate some tasks. They are stored in the `.githooks` root folder. + +Documentation for each hook is contained in each file. + +At least the `pre-commit` hook is required, as it updates the version number on each commit. This helps to help debugging of user related issues. + +## Making Releases + +A release is based on a milestone named like the release itself - just the version number, eg: `1.2.3`. It's in the maintainers responsibility to check [semver semantics](#semver) of the milestone's name prior to release and change it if necessary. + +Making releases is automated by the `version-release` GitHub Action. It requires the version number of the milestone that should be released. The release will be created from the `main` branch of the repository. + +Treat released milestones as immutable. Don't rerelease an already released milestone. An already released milestone may already been consumed by your users. + +During execution of the action a few things are checked. If a check fails the action fails, resulting in no new release. You can correct the errors afterwards and rerun the action. + +The following checks will be enforced + +- the milestone exists +- there is at least one closed issue assigned to the milestone +- all assigned issues for this milestone are closed +- if it's a main release, there must be an accompanying releasenotes file present in the repo at `introduction/releasenotes//.en.md` + +After a successful run of the action + +- the changelog at `introduction/changelog///..md` is created for english and piratish, including missing generic upper level files +- the `CHANGELOG.md` is updated +- the releasenotes at `introduction/releasenotes//.en.md` are updated, including release version and release date +- missing generic upper level files for english and piratish are created +- the version number for the `` is updated +- the updated files are committed +- the milestone is closed +- the repository is tagged with the version number (eg. `1.2.3`), the main version number (eg. `1.2.x`) and the major version number (eg. `1.x`) +- a new entry in the [GitHub release list](https://github.com/McShelby/hugo-theme-relearn/releases) with the according changelog will be created +- the [official documentation](https://mcshelby.github.io/hugo-theme-relearn/) is built and deployed +- the version number for the `` is updated to a temporary and committed (this helps to determine if users are running directly on the main branch or are using releases) +- a new milestone for the next patch release is created (this can later be renamed to a main release if necessary) diff --git a/exampleSite/content/dev/maintaining/_index.pir.md b/exampleSite/content/development/maintaining/_index.pir.md similarity index 100% rename from exampleSite/content/dev/maintaining/_index.pir.md rename to exampleSite/content/development/maintaining/_index.pir.md diff --git a/exampleSite/content/dev/screenshots/_index.en.md b/exampleSite/content/development/screenshots/_index.en.md similarity index 100% rename from exampleSite/content/dev/screenshots/_index.en.md rename to exampleSite/content/development/screenshots/_index.en.md diff --git a/exampleSite/content/dev/screenshots/_index.pir.md b/exampleSite/content/development/screenshots/_index.pir.md similarity index 100% rename from exampleSite/content/dev/screenshots/_index.pir.md rename to exampleSite/content/development/screenshots/_index.pir.md diff --git a/layouts/partials/version.txt b/layouts/partials/version.txt index e821feb1a5..56a9ba05c8 100644 --- a/layouts/partials/version.txt +++ b/layouts/partials/version.txt @@ -1 +1 @@ -6.4.0+3166e40fd4702b1d134b484ac40ef5b572343876 \ No newline at end of file +6.4.0+ed2e07c960d6d4877a2d07aaad943fd3b24ae44e \ No newline at end of file