Skip to content

Commit 2064c8a

Browse files
authored
Documentation/488 enhance user guide (#495)
* Update user guide for branch protections * Update pull_request_template * Fix typos * Add information to user guide about nox tasks for links & how to configure * Fix wrong number in changelog * Exclude version from source code consideration. This is benefitial particularly for new/smaller projects * Update to be clearer who offers what
1 parent feca208 commit 2064c8a

File tree

10 files changed

+94
-37
lines changed

10 files changed

+94
-37
lines changed

.github/PULL_REQUEST_TEMPLATE/pull_request_template.md

Lines changed: 0 additions & 7 deletions
This file was deleted.

.github/pull_request_template.md

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
# Checklist
2+
3+
Note: If any of the items in the checklist are not relevant to your PR, just check the box.
4+
5+
## For any Pull Request
6+
7+
Is the following correct:
8+
* [ ] the title of the Pull Request?
9+
* [ ] the title of the corresponding issue?
10+
* [ ] there are no other open [Pull Requests](../../../../pulls) for the same update/change? <!-- markdown-link-check-disable-line -->
11+
* [ ] that the issue which this Pull Request fixes ("Fixes...") is mentioned?
12+
13+
## When Changes Were Made
14+
15+
Did you:
16+
* [ ] update the changelog?
17+
* [ ] update the cookiecutter-template?
18+
* [ ] update the implementation?
19+
* [ ] check coverage and add tests: unit tests and, if relevant, integration tests?
20+
* [ ] update the User Guide & other documentation?
21+
* [ ] resolve any failing CI criteria (incl. Sonar quality gate)?
22+
23+
## When Preparing a Release
24+
25+
Have you:
26+
* [ ] thought about version number (major, minor, patch)?
27+
* [ ] checked Exasol packages for updates and resolved open vulnerabilities, if easily possible?

doc/changes/unreleased.md

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,3 +5,11 @@
55
* #489: Fixed .pre-commit-config.yaml to use existing nox tasks
66
* #490: Fixed artifacts:validate & sonar:check to work for newly created projects
77
* #484: Fixed hint command text in version.py to include -s for executing nox task
8+
9+
## Documentation
10+
11+
* #488: Updated user guide to make clearer under which conditions branch protections based on GitHub actions can be enacted
12+
13+
## Refactoring
14+
15+
* #482: Updated pull_request_template.md to reflect checks we should regularly perform

doc/user_guide/customization.rst

Lines changed: 18 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -3,22 +3,35 @@ Customization
33

44
.. _plugins:
55

6+
Nox Tasks `links:x`
7+
---------------------
8+
9+
PTB offers two nox sessions to check hyperlinks in your documentation:
10+
* `links:list` - List all the links within the documentation
11+
* `links:check` - Checks whether all links in the documentation are accessible
12+
13+
`links:check` is run in the CI `checks.yml`. If this step fails in the CI, it will cause
14+
the build to break. Please check the output & manually resolve the issues. There might
15+
be some cases where you need to update your `doc/conf.py` with specific values for the allowed
16+
options for the [Linkcheck Builder](https://www.sphinx-doc.org/en/master/usage/configuration.html#options-for-the-linkcheck-builder).
17+
18+
619
Nox Task Plugins
720
----------------
821

9-
Some Nox task allow for implementing custom hooks to be executed within the Nox workflow.
22+
Some Nox tasks allow for implementing custom hooks to be executed within the Nox workflow.
1023
To ensure a predictable environment, plugins should be written to handle exceptions gracefully.
1124
If a plugin encounters a critical situation where it cannot continue execution, it should call the ``error``
1225
method on the session object, effectively halting the execution process.
1326
This action may have a widespread impact by forcibly stopping execution, potentially affecting other plugins and code paths.
1427

1528
.. attention:: Doing a hard exit using ``session.error`` should be an measure of last resort.
1629

17-
.. note::
30+
.. note::
1831

19-
Even though the plugin mechanism utilizes `pluggy <https://pluggy.readthedocs.io/en/stable/>`_ under the hood, it does
20-
not currently support all scenarios and features with which one may be familiar from pytest, or other tools and
21-
frameworks based on pluggy. Nevertheless, a look at pluggy's `documentation <https://pluggy.readthedocs.io/en/stable/>`_
32+
Even though the plugin mechanism utilizes `pluggy <https://pluggy.readthedocs.io/en/stable/>`_ under the hood, it does
33+
not currently support all scenarios and features with which one may be familiar from pytest, or other tools and
34+
frameworks based on pluggy. Nevertheless, a look at pluggy's `documentation <https://pluggy.readthedocs.io/en/stable/>`_
2235
can definitely enhance understanding of the hook mechanism.
2336

2437

doc/user_guide/migrating.rst

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -152,14 +152,14 @@ _______
152152
153153
4. Introduce GitHub Workflows
154154
-----------------------------
155-
Install the GitHub workflows provided by the :code:`python-toolbox` for futher details refer to the section :ref:`GitHub Workflows`.
155+
Install the GitHub workflows provided by the :code:`python-toolbox` for further details refer to the section :ref:`GitHub Workflows`.
156156
157157
.. attention::
158158
This is just guidance. If you have a good understanding of the standard project setup, technologies, and tools used, feel free to diverge at any point or exercise your own judgment.
159159
160160
161-
Migration Progess
162-
+++++++++++++++++
161+
Migration Progress
162+
++++++++++++++++++
163163
164164
Could be tracked in a format and based on the information listed in the real life example bellow.
165165
@@ -218,15 +218,15 @@ Could be tracked in a format and based on the information listed in the real lif
218218
-
219219
-
220220
-
221-
-/partialy
221+
-/partially
222222
* - `ITDE <https://github.com/exasol/integration-test-docker-environment>`_
223223
-
224224
-
225225
-
226226
-
227227
-
228-
-/partialy
229-
-/partialy
228+
-/partially
229+
-/partially
230230
* - `schemas <https://github.com/exasol/schemas>`_
231231
-
232232
-
@@ -239,9 +239,9 @@ Could be tracked in a format and based on the information listed in the real lif
239239
-
240240
-
241241
-
242-
-/partialy
242+
-/partially
243243
-
244-
-/partialy
244+
-/partially
245245
-
246246
* - `harlequin-exasol <https://github.com/Nicoretti/harlequin-exasol>`_
247247
-
@@ -268,7 +268,7 @@ Could be tracked in a format and based on the information listed in the real lif
268268
* - PYPI
269269
- Project can be build and published to `PyPi`_
270270
* - Sphinx Docs
271-
- The project doumentation is `Sphinx`_ based
271+
- The project documentation is `Sphinx`_ based
272272
* - nox
273273
- The projects automated tasks are executed using the `Nox`_ task runner
274274
* - toolbox-tasks

doc/user_guide/workflows.rst

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -44,3 +44,6 @@ The exasol-toolbox ships with various GitHub workflow templates. To leverage the
4444
++++++++++++++++++++++++++++
4545

4646
The best and most maintainable way to have solid branch protection (:code:`Settings/Branches/main`) is to require the workflow :code:`CI / Allow Merge` to pass successfully.
47+
48+
.. note::
49+
Setting the required status checks to pass before merging is only possible after running a CI build at **least once** on the affected branch.

exasol/toolbox/templates/github/PULL_REQUEST_TEMPLATE/pull_request_template.md

Lines changed: 0 additions & 16 deletions
This file was deleted.
Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
# Checklist
2+
3+
Note: If any of the items in the checklist are not relevant to your PR, just check the box.
4+
5+
## For any Pull Request
6+
7+
Is the following correct:
8+
* [ ] the title of the Pull Request?
9+
* [ ] the title of the corresponding issue?
10+
* [ ] there are no other open [Pull Requests](../../../../pulls) for the same update/change? <!-- markdown-link-check-disable-line -->
11+
* [ ] that the issue which this Pull Request fixes ("Fixes...") is mentioned?
12+
13+
## When Changes Were Made
14+
15+
Did you:
16+
* [ ] update the changelog?
17+
* [ ] update the implementation?
18+
* [ ] check coverage and add tests: unit tests and, if relevant, integration tests?
19+
* [ ] update the User Guide & other documentation?
20+
* [ ] resolve any failing CI criteria (incl. Sonar quality gate)?
21+
22+
## When Preparing a Release
23+
24+
Have you:
25+
* [ ] thought about version number (major, minor, patch)?
26+
* [ ] checked Exasol packages for updates and resolved open vulnerabilities, if easily possible?
27+
* [ ] executed `poetry run -- tbx workflow update`?

project-template/{{cookiecutter.repo_name}}/pyproject.toml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -67,3 +67,4 @@ ignore_errors = true
6767
projectKey = "com.exasol:{{cookiecutter.repo_name}}"
6868
hostUrl = "https://sonarcloud.io"
6969
organization = "exasol"
70+
exclusions = "exasol/{{cookiecutter.package_name}}/version.py"

pyproject.toml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -120,3 +120,4 @@ sphinx-multiversion = 'exasol.toolbox.sphinx.multiversion:main'
120120
projectKey = "com.exasol:python-toolbox"
121121
hostUrl = "https://sonarcloud.io"
122122
organization = "exasol"
123+
exclusions = "exasol/toolbox/version.py"

0 commit comments

Comments
 (0)