Age | Commit message (Collapse) | Author | Files | Lines |
|
Issue-ID: OOM-2643
Signed-off-by: guillaume.lambert <guillaume.lambert@orange.com>
Change-Id: Icf139e50d44aed0315d0e4cb21c59ad05a5a3bdb
|
|
Variable attribute 'local' is not POSIX but is LSB supported.
It is available in other shells such as ash or dash.
And in ksh, local is the default scope of functions vaiables.
Though, the syntax "local var=XX" is only supported and found in bash.
Sadly, this is not detected by checkbashims.
- fix "local var=XX" bashisms
- add a manual command in tox.ini to detect them in the CI
https://wiki.ubuntu.com/DashAsBinSh#local
https://wiki.ubuntu.com/DashAsBinSh#declare_or_typeset
https://stackoverflow.com/questions/12000949/scope-of-variables-in-ksh
Issue-ID: OOM-2643
Signed-off-by: guillaume.lambert <guillaume.lambert@orange.com>
Change-Id: Iff26e50cd352eeb760d923a4740a6f92184fe0f2
|
|
It leverages the latest change from lfdocs-conf and the
upper-constraints.txt now centralized in ONAP docs.
In a long run, upperconstraints.os.txt should be removed once ONAP
is synced with OpenStack.
docs/requirements-docs.txt is renamed requirements.txt as it mixes
both docs and linter dependencies.
It removes tox and setuptools from requirements as nothing depends on them
(most requirements should be removed except lfdocsconf)
Issue-ID: DOC-765
Change-Id: Iae808297484f4798de82a43597ccad7905ff4c94
Signed-off-by: Cédric Ollivier <cedric.ollivier@orange.com>
|
|
- create a .pre-commit-config.yaml configuration file with
* gitlint
* trailing blanks linter
* tabs removal linter
- exclude .git folder from it
- exclude Makefiles since tabs are mandatory by default in them
- create a tox pre-commit profile to run it from tox
note gitlint is not runnable at this pre-commit stage
- create pre-commit-install and pre-commit-uninstall tox profiles to
(un)install hooks locally and (un)perform tests at each "git commit"
call (i.e. without calling manually the pre-commit tox profile)
- precise pre-commit stages/types in the pre-commit configuration file
so that hooks are installed correctly. This avoids messages about
skipped tests when they are run at a wrong stage.
Issue-ID: OOM-2643
Signed-off-by: guillaume.lambert <guillaume.lambert@orange.com>
Change-Id: Ie95bb4f6f90be80b05a1398973caffeff7936881
|
|
- move doc8 dependency from docs/requirements-docs.txt to tox.ini
since it is not needed by other tox profiles
- disable doc8 tox profile voting since linelength issues are not
completely fixed yet
- fix a few linelength issues
Issue-ID: DOC-765
Signed-off-by: guillaume.lambert <guillaume.lambert@orange.com>
Change-Id: I704fc2ee8087ffbb8a83d693f6dc5a5f7c992b10
|
|
- add checkbahims to tox.ini default profiles
- remove -f options to unforce bashisms detection in explicit bash
scripts and to differentiate treatments between bash and sh
- migrate #!/bin/bash shebangs to #!/bin/sh for scripts without bashisms
The following scripts have not been migrated since they still use
bashisms difficult to migrate (mostly arrays - more details below)
./kubernetes/common/mariadb-init/resources/config/db_init.sh
./kubernetes/portal/components/portal-mariadb/resources/config/ \
mariadb/docker-entrypoint.sh
./kubernetes/helm/plugins/deploy/deploy.sh
./kubernetes/helm/plugins/undeploy/undeploy.sh
./kubernetes/sdnc/components/sdnc-prom/resources/bin/ensureSdncActive.sh
$ find . -not -path '*/\.*' -name *.sh -exec checkbashisms -f {} + 2>&1\
| grep line | cut -d' ' -f 7- | sort | uniq -c | sort -k1,1nr
18 (bash arrays, ${name[0|*|@]}):
2 (declare):
1 ($FUNCNAME):
1 (shopt):
1 (trap with ERR|DEBUG|RETURN):
https://mywiki.wooledge.org/Bashism#Arrays
https://mywiki.wooledge.org/Bashism#Special_Variables
https://mywiki.wooledge.org/Bashism#Builtins
https://www.oilshell.org/release/0.5.alpha2/test/spec.wwz/builtin-trap.html
Issue-ID: OOM-2643
Signed-off-by: Guillaume Lambert <guillaume.lambert@orange.com>
Change-Id: Id06ad1d45004321a293bdd26038d8da5f7b6b4ac
|
|
to ease gate failures analysis as proposed by Eric.
Issue-ID: DOC-710
Signed-off-by: guillaume.lambert <guillaume.lambert@orange.com>
Change-Id: Ic59da02bc65ca9d5b584c48429215760fe4130da
|
|
to identify potential bashisms in scripts
and ensure compatibility with dash and other POSIX shells
as often found in MAC OS X and BSD or UNIX systems.
Though bash is a good interactive user shell,
many UN*X systems and GNU+Linux distributions now prefers Almquist
or Kornshell variants for scripting in order to improve the system
performance and maintenability.
https://wiki.ubuntu.com/DashAsBinSh
https://mywiki.wooledge.org/Bashism
https://en.wikipedia.org/wiki/Almquist_shell
Issue-ID: OOM-2643
Signed-off-by: Guillaume Lambert <guillaume.lambert@orange.com>
Change-Id: Ibfa114f5c4797e526edc6f59397117e093868c24
|
|
and configure them with a few reasonable parameters
Issue-ID: OOM-2643
Signed-off-by: Guillaume Lambert <guillaume.lambert@orange.com>
Change-Id: Ic1e8d6be63c45d89de41e8589aa3bd1214a3f0a1
|
|
cf
https://gerrit.onap.org/r/c/doc/+/117667
https://gerrit.onap.org/r/c/doc/+/117668
Issue-ID: OOM-2648
Signed-off-by: Guillaume Lambert <guillaume.lambert@orange.com>
Change-Id: Iea01dd783ba2467bee5aee5f2ac9db1cee6f99d7
|
|
inspired from openStack
https://github.com/openstack/qa-specs/blob/master/tox.ini
https://doughellmann.com/blog/tag/sphinxcontrib-spelling/
https://pypi.org/project/sphinxcontrib-spelling/
Issue-ID: OOM-2648
Signed-off-by: Guillaume Lambert <guillaume.lambert@orange.com>
Change-Id: Ia341f96a906c82f88257a885fd66005450a15d16
|
|
- sphinx-build '-W' option needed only once
- remove docs/tox.ini since
* same profiles are declared in tox.ini
* once run from the docs folder, this generates invalid files
in doc/.tox for linters setup (e.g. docs/.tox/[..]/invalid.rst).
They can cause warnings treated as errors by root tox profiles.
- modify requirements.txt to force a sphinxcontrib-needs version prior
to 0.6.0 . This latest version introduces a new services support
functionality that cannot be easily disabled here and that requires
additional configuration parameters to link GitHub issues.
We cannot provide these parameters since this project uses JIRA.
As a result, sphinx generates a warning treated as an error
that makes the gate fail.
https://sphinxcontrib-needs.readthedocs.io/en/service/services/index.html
Issue-ID: OOM-2648
Signed-off-by: Guillaume Lambert <guillaume.lambert@orange.com>
Change-Id: I14e9045482750f15a3e5e98af47197e2c9f60f60
|
|
`sphinxcontrib.needs` is not safe for parallel work and thus a warning
is set during linting which makes it fail.
We then remove the parallelism for sphinx here.
Issue-ID: OOM-2648
Signed-off-by: Sylvain Desbureaux <sylvain.desbureaux@orange.com>
Change-Id: I820e63fee78578794c96c3ff9867c4ecc56ba50e
|
|
Add 3 automated doc linting (sphinx building, linkchecking and doc8) in
order to have an error free documentations
Fix also issues found by these linters in order to start without errors.
Issue-ID: OOM-2648
Signed-off-by: Sylvain Desbureaux <sylvain.desbureaux@orange.com>
Change-Id: I318718c956020412a120ba3caeb9e21d35a99833
|
|
Add an automated git commit linting in order to be sure commit messages
are set the way we want.
Issue-ID: OOM-2644
Signed-off-by: Sylvain Desbureaux <sylvain.desbureaux@orange.com>
Change-Id: I36a397c318886f2ac05a8971147272669c7a4cd9
|