checkmake was locally still failing
despite previous partial fixes,
complaining about a duplicate definition of
build.common.
build.common was duplicate:
Once for a target specific variable setting and once for the
dependencies and recipe.
This change fixes make checkmake locally
by adding an extra target build.common.var
just for setting the variable.
Signed-off-by: Michael Adam <obnox@samba.org>
The HELPTEXT Makefile variable contained a string
"available options:"at the start of a line.
This could be confused as a target
(for example by checkmake).
This change fixes the problem by extracting the string
out of the variable
Signed-off-by: Michael Adam <obnox@samba.org>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
make checkmake depended on checkmake being available in the PATH.
This change makes it selfcontained by usin go run
to run checkmake without installation.
This also pins checkmake to the latest released version v0.3.2
Signed-off-by: Michael Adam <obnox@samba.org>
most phony targets in the Makefile were declared phony
by grouping multiple targets in long combined .PHONY
statements which obfuscates the phony nature of a target
to some extent.
This change makes the phony target declarations a bit more obvious
and explicit
by prepending each phony target by a corresponding
individual .PHONY statement and removing the confusing combined .PHONY
line.
Signed-off-by: Michael Adam <obnox@samba.org>
This commit test csi-operator helm chart as a dependencies with rook-ceph operator helm chart.
With these changes csi-operator will be installed as a part of rook-ceph operator helm chart.
Signed-off-by: subhamkrai <srai@redhat.com>
Previously, only the rook-ceph operator chart was linted in the CI.
With this change, the rook-ceph-cluster chart is linted additionally.
for developer convenience, The linting is realized via a new make target
'helm.lint'that can easily be invoked locally if the chart-testing tool
'ct' is available.
Fixes: #15966
Signed-off-by: Michael Adam <obnox@samba.org>
The helm charts will now only be published when it is
an officially tagged release build.
The images will only be published to all repos for
dockerhub, quay, and ghcr when it is a tagged release.
The images will be published only to dockerhub for all
master and interim release branch builds.
Remove obsolete makefile option for images.
Ceph is the only image Rook ever expects to build.
Simplify the makefile by removing the legacy option
to select which image to build.
Also included are other small improvements to clean up
the release scripts.
Signed-off-by: Travis Nielsen <tnielsen@redhat.com>
1. add target checkmake
checkmake can used for linting the Makefile
2. disentangle messed-up check and test targets
check was supposed to be an alias for test but the definition was messed up.
In particular, no help text for test was shown.
This fixes the mess by separating the test and check targets.
As a side-effect, the help text for both is now shown correctly
3. make target docs phony and add help text
checkmake complained that 'docs'should be phony, so fix that.
Add some help text while at it.
4. reword misleading line to silence checkmake
checkmake was complaining that target 'Options' should be phony.
but Options not a target. It was a line in the Help text.
Fix this by rewording this part of help text
Signed-off-by: Michael Adam <obnox@samba.org>
Resolves this warning:
WARN [runner/nolint_filter] Found unknown linters in //nolint directives: just configuration keys., value not credential
Signed-off-by: Joshua Hoblitt <josh@hoblitt.com>
This adds a command 'make golangci-lint'
This is done so developers can conveiently run golangci-lint
locally like it runs in the CI.
golangci-lint is also run as part of the more general 'make lint'.
Signed-off-by: Michael Adam <obnox@samba.org>
This checks the documentation sources for syntactic correctness
The functionality is essentially extracted from the docs-check workflow
to provide developers with a tool to locally run the corresponding check
before pushing
Signed-off-by: Michael Adam <obnox@samba.org>
The lint make target is not used anywhere in the codebase and is particular not run in the CI.
It was recently discovered that `make lint` does not even work at all.
It was subsequently suggested to remove the broken and unused target altogether.
This change settles that issue by removing the lint target and the preparatory
golint installation target.
Fixes: #15317
Signed-off-by: Michael Adam <obnox@samba.org>
This extracts two functionalities from
the linters ci workflow into make targets for
convenient local execution: yamllint and pylint
Signed-off-by: Michael Adam <obnox@samba.org>
This change continues an effort started earlier to make some
make targets and ci workflows more consistent and systematic.
see https://github.com/rook/rook/pull/14922
it adds a make target gen.helm-docs as an alias to helm-docs.
Additionally, gen.docs is added as alias to docs.
targets check.docs and check.helm-docs are removed because it was agreed
that targets using git are of little value to developers.
Their functionality is moved back into the corresponding docs workflow.
xiFinally, the redundant "Check helm-docs" check is removed from the
docs-check workflow
Signed-off-by: Michael Adam <obnox@samba.org>
This addresses a suggestion from a review comment in another PR.
The goal of this change is to make generating make targets more systematic.
Firstly, generating targets are made available under a more systematic naming
following the pattern of "gen.foo".
more concretely, the following targets are introduced as aliases of the corresponding existing
targets:
* gen.codegen
* gen.rbac
* gen.crds
* gen.docs
* gen.crd-docs
additionally, a new "generate" make target is added that invokes all generating targets.
Co-authored-by: Blaine Gardner <b.blaine.gardner@gmail.com>
Signed-off-by: Michael Adam <obnox@samba.org>
This makes the naming of ci-related make targets more systematic and
consistent.
It is based on PR https://github.com/rook/rook/pull/14672
and continues the pattern started in that PR.
Signed-off-by: Michael Adam <obnox@samba.org>
This reworks the docs-check ci workflow in several ways:
* It renames the make target 'check-docs' to the more systematic 'check.docs'.
* It adds a 'docs'mode to the files validation script, and uses the script in `make check.docs`.
Overall, the workflow and local make targets are more systematic and
consistent with this change.
Signed-off-by: Michael Adam <obnox@samba.org>
In order to help users check that they have implemented the newly-added
Multus host configuration prerequisites, add a check to the validation
tool to verify connectivity.
Because users who are already running clusters with Multus enabled, add
a flag that allows users to only check for host configuration
prerequisites. This mode will not start the large number of clients that
would normally be started because those clients could disrupt a running
Rook cluster negatively.
Host checking pods require host network access. Many Kubernetes
distributions have pod security features enabled. In order to allow
non-Vanilla distros to run this tool, allow specifying a service account
that pods will run as, which can be configured by the admin to allow
test pods.
Signed-off-by: Blaine Gardner <blaine.gardner@ibm.com>
Few day's back go 1.22 is release. Let's add that
as valid version to build on. Also, adding 1.22 as
test matric for linux build CI.
https://tip.golang.org/doc/go1.22
Signed-off-by: subhamkrai <srai@redhat.com>
On mac development machines, the crds are being left in a
state of change with the description removed and the
OBC CRDs removed from crds.yaml and resources.yaml.
By skipping the related env vars, these resources
are no longer left unexpectedly modified.
Signed-off-by: travisn <tnielsen@redhat.com>
In the past we had few cases where the new crd
was missed adding in metadata-common.yaml file.
So, now we'll check if crds.yaml and metadata-common.yaml
crd name are matching.
Signed-off-by: subhamkrai <srai@redhat.com>
This simplifies the docs-check workflow definition by extracting functionality
directly coded into the workflow file into new make targets 'check-docs'
and 'check-helm-docs' and replacing the code in the workflow file by the simple invocation of
new make targets. As a side effect, it makes it easily possible for a
developer to check locally if they forgot to commit any autogenerated
docs.
Signed-off-by: Michael Adam <obnox@samba.org>
Signed-off-by: Michael Adam <obnox@samba.org>
this change introduces a new 'make target 'docs'that generates part of the documentation
It particular, it runs the `helm-docs` target.
Additionally, `make docs` updates the multus validation job manifest
by inserting the output of `rook multus validation run --help` between
two newly introduced markers.
The result of running `make docs` is intended to be committed to git after running
Fixes: #12706
Signed-off-by: Michael Adam <obnox@samba.org>
Signed-off-by: Blaine Gardner <b.blaine.gardner@gmail.com>
Co-authored-by: Blaine Gardner <b.blaine.gardner@gmail.com>
Co-authored-by: Michael Adam <obnox@samba.org>
Update build/deploy/generate-deploy-examples.sh
Signed-off-by: Michael Adam <obnox@samba.org>
Currently, if there is any change in the API we need to separately
run the make generate-crd-docs but with this change
make crds will also update the generated docs
Also improved the file locations
Closes: https://github.com/rook/rook/issues/12310
Signed-off-by: parth-gr <paarora@redhat.com>
The dependencies in controller runtim v0.5 were getting old
and causing go module issues on macos. Now with the update to
v0.6.2 the module dependency issue is solved. For another
day we should update the controller runtime to even newer.
Signed-off-by: Travis Nielsen <tnielsen@redhat.com>
This adds two new make target for building and previewing the current
state of the documentation locally.
Signed-off-by: Alexander Trost <galexrt@googlemail.com>
updating go ceph version to 0.15.0 will no longer require
`ceph_preview` during build. Also if added in VsCode workspace
we can remove that now.
Signed-off-by: subhamkrai <srai@redhat.com>