Merge branch 'policies-and-ci' into 'master'
Rolling-release policy, CI, new type requirements (shellcheck + manpage) See merge request ungleich-public/cdist-contrib!2
This commit is contained in:
commit
c136d33db4
6 changed files with 68 additions and 5 deletions
1
.gitignore
vendored
Normal file
1
.gitignore
vendored
Normal file
|
@ -0,0 +1 @@
|
|||
.shellcheck.tmp
|
14
.gitlab-ci.yml
Normal file
14
.gitlab-ci.yml
Normal file
|
@ -0,0 +1,14 @@
|
|||
stages:
|
||||
- test
|
||||
|
||||
image: code.ungleich.ch:5050/ungleich-public/cdist/cdist-ci:latest
|
||||
|
||||
shellcheck:
|
||||
stage: test
|
||||
script:
|
||||
- ./scripts/run-shellcheck.sh
|
||||
|
||||
manpages:
|
||||
stage: test
|
||||
script:
|
||||
- ./scripts/run-manpage-checks.sh
|
|
@ -1,5 +1,3 @@
|
|||
# cdist-contrib chsangelog
|
||||
# cdist-contrib changes
|
||||
|
||||
## 2020-0?-??: 0.?.? (Not released yet)
|
||||
|
||||
* New type: __find_exec (Ander Punnar)
|
||||
* 2020-04-28: New type: __find_exec (Ander Punnar)
|
||||
|
|
16
README.md
16
README.md
|
@ -5,7 +5,8 @@ tool with community-maitained types which are either too specific to fit/be
|
|||
maintained in cdist itself or were not accepted in code cdist but could still
|
||||
be useful.
|
||||
|
||||
The releases of cdist-contrib are not necessarly synced with cdist itself.
|
||||
This project does not have releases and is continously updated: see
|
||||
`CHANGELOG.md` for details.
|
||||
|
||||
## Using cdist-contrib
|
||||
|
||||
|
@ -39,3 +40,16 @@ Join us on [#cdist:ungleich.ch][cdistmatrix] on matrix or on
|
|||
[cdistconfig]: https://www.cdi.st/manual/latest/cdist-configuration.html
|
||||
[cdistmatrix]: https://matrix.to/#/#cdist:ungleich.ch
|
||||
[cdistmattermost]: https://chat.ungleich.ch/ungleich/channels/cdist
|
||||
|
||||
## Contributing
|
||||
|
||||
The preferred way to submit patches is by opening Merge Requests against the
|
||||
[cdist-contrib project on
|
||||
code.ungleich.ch](https://code.ungleich.ch/ungleich-public/cdist-contrib) (you
|
||||
can make an account on
|
||||
[account.ungleich.ch](https://account.ungleich.ch/).
|
||||
|
||||
Every type in cdist-contrib must:
|
||||
|
||||
* Have a `man.rst` documentation page.
|
||||
* Pass [shellcheck](http://shellcheck.net/) without errors.
|
||||
|
|
15
scripts/run-manpage-checks.sh
Executable file
15
scripts/run-manpage-checks.sh
Executable file
|
@ -0,0 +1,15 @@
|
|||
#!/bin/sh
|
||||
|
||||
# Move to top-level cdist-contrib directory.
|
||||
cd $(dirname $0)/..
|
||||
|
||||
# Check that each type has a man page.
|
||||
status=0
|
||||
for t in type/*; do
|
||||
if [ ! -f "$t/man.rst" ]; then
|
||||
echo "No manpage for type $t!"
|
||||
status=1
|
||||
fi
|
||||
done
|
||||
|
||||
exit $status
|
21
scripts/run-shellcheck.sh
Executable file
21
scripts/run-shellcheck.sh
Executable file
|
@ -0,0 +1,21 @@
|
|||
#!/bin/sh
|
||||
|
||||
SHELLCHECKCMD="shellcheck -s sh -f gcc -x"
|
||||
# Skip SC2154 for variables starting with __ since such variables are cdist
|
||||
# environment variables.
|
||||
SHELLCHECK_SKIP=': __.*is referenced but not assigned.*\[SC2154\]'
|
||||
SHELLCHECKTMP=".shellcheck.tmp"
|
||||
|
||||
# Move to top-level cdist-contrib directory.
|
||||
cd $(dirname $0)/..
|
||||
|
||||
check () {
|
||||
find type/ -type f $1 $2 -exec ${SHELLCHECKCMD} {} + | grep -v "${SHELLCHECK_SKIP}" > "${SHELLCHECKTMP}"
|
||||
test ! -s "${SHELLCHECKTMP}" || { cat "${SHELLCHECKTMP}"; exit 1; }
|
||||
}
|
||||
|
||||
check -path "*/explorer/*"
|
||||
check -path "*/files/*"
|
||||
check -name manifest
|
||||
check -name gencode-local
|
||||
check -name gencode-remote
|
Loading…
Reference in a new issue