The charts have no unit tests. CI runs ct lint plus a helm template and
kustomize build, which prove the charts render but never assert what
they render, so conditional template logic goes unverified.
Add helm-unittest, pinned and installed as a standalone binary, a
test.helm make target, and a Helm Unittests workflow that runs it. The
first suite covers the toolbox deployment: the image composed from the
toolbox and cephImage settings, the precedence of both over the older
toolbox.image setting, the hostNetwork branch driven by the cluster
network provider, and the revisionHistoryLimit guard.
The new job is a required check in .mergify.yml, alongside the existing
chart linting.
Suites live under tests/ in a chart and are excluded from the packaged
chart via .helmignore. The runner is invoked with --strict so that a
misspelled key fails the suite instead of silently rendering defaults.
Signed-off-by: Joshua Hoblitt <josh@hoblitt.com>
The development flow guide mentioned several tools that needed to be
installed in the PATH to run make lint.
This change removes yamllint from that list now that makeyamllint has
been made self-contained.
With pylint the only remaining requirement, this also rewords the
corresponding section for clarity.
Signed-off-by: Michael Adam <obnox@samba.org>
The section about nake lint in the contributing guide
mentions several tools that need to be installed locally to run
the linters.
with PR #17311 which has made the shellcheck target self-contained,
the requirement is now gone for shellcheck.
This change simlifies the guide by removing the mention of shellcheck
as required to be installed.
Signed-off-by: Michael Adam <obnox@samba.org>
the markdownlint and markdownlint.fix make targets
required markdownlint-cli2 to be installed locally
in the $PATH.
This change renders them self-contained by running
markdownlint from the official markdownlint-cli2
docker image.
Also clean the development-flow guide for linting tools
Signed-off-by: Michael Adam <obnox@samba.org>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Travis Nielsen <tnielsen@redhat.com>
The development guide mentioned that commit messages
should be lengthy which has a negative connotation
of meaning long-winded.
This change rewords the corresponding part to sound more positive.
Signed-off-by: Michael Adam <obnox@samba.org>
This change expands the section about regression testing in the
developer guide by adding information about how to run linters
locally.
Signed-off-by: Michael Adam <obnox@samba.org>
mkdocs uses a markdown renderer that is hardcoded to 4 spaces per tab
for detecting indentation levels, including ordered- and
unordered-lists. Since we cannot easily change the renderer, begin using
a markdown linter in CI that will fail if official docs do not adhere to
the spacing rules.
As a starting point, the markdownlint config does not begin with the
default set of checks, which might overwhelm attempts to fix them.
Instead, focus on list-tab-spacing rules and a few other highly useful
checks.
markdownlint also has some gaps in its abilities that allow common Rook
doc issues to pass acceptance. However, it allows creating custom
linting plugins. Create 2 such linting plugins to check 2 things:
- all doc lines (except code blocks) must be aligned to a 4-space
boundary, without exception. This ensures that markdown will render
correctly with mkdocs. This unfortunately makes it possible to create
lists that are internally aligned strangely.
- admonitions must all follow the same format of
```
!!! header
body
```
For the strange lists, this is allowed and renders correctly, but it
looks strange:
```md
- first bullet
- second bullet
still second bullet
- third bullet
has a paragraph
of text inside
- last bullet
Signed-off-by: Blaine Gardner <blaine.gardner@ibm.com>
we don't want to wait for extra 10min once the ci passed,
so we'll add a check if `debug-ci` label is added or debug runner
is triggered from UI then only start tmate. Also, updaing the
development doc and rook test doc.
Signed-off-by: subhamkrai <srai@redhat.com>
The unit tests are not necessary if a PR is being opened for
documentation or other non-code changes, so we clarify the
instructions.
Signed-off-by: travisn <tnielsen@redhat.com>
The dev guide had some outdated info that is now updated,
as well as some rewording for consistency and improved
writing.
Signed-off-by: travisn <tnielsen@redhat.com>
Adding instructions to fetch the tags as they are used during
the build process. The current instructions only require the
user to clone the project which results in build errors later
on.
Closes: https://github.com/rook/rook/issues/11619
Signed-off-by: Redouane Kachach <rkachach@redhat.com>
The Note label is updated in several places in the docs for improved rendering.
Multiple markdown files have been updated.
Closes: #10458
Signed-off-by: Yashasvi Chaurasia <yashasvi12977@gmail.com>
In linux environment, when go is installed using
`dnf/yum/apt` or other pacakge installer. In this case we
get error when we do `make build` because of GOPROXY.
So, we need to update the GOPROXY with `export GOPROXY=https://proxy.golang.org,direct`
in `.bashrc` file
Signed-off-by: subhamkrai <srai@redhat.com>
This adds vscode json files to recommend extensions and set some
settings which are used to make the development easier.
Signed-off-by: Alexander Trost <galexrt@googlemail.com>