Skip to content

Commit

Permalink
ci: Add a codestyle.sh
Browse files Browse the repository at this point in the history
This matches what we do in rpm-ostree.  Move the `glnx_fd_close`
bits out of `make syntax-check` in preparation for dropping that.
  • Loading branch information
cgwalters committed May 31, 2022
1 parent aea2070 commit 199ef82
Show file tree
Hide file tree
Showing 4 changed files with 32 additions and 4 deletions.
3 changes: 3 additions & 0 deletions .cci.jenkinsfile
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,9 @@ stage("Build") {
def n = 5
buildPod(memory: "2Gi", cpu: "${n}") {
checkout scm
stage("Static analysis") {
shwrap("./ci/codestyle.sh")
}
stage("Core build") {
shwrap("""
# fetch tags so `git describe` gives a nice NEVRA when building the RPM
Expand Down
4 changes: 0 additions & 4 deletions cfg.mk
Original file line number Diff line number Diff line change
Expand Up @@ -31,10 +31,6 @@ sc_glnx_errno_prefix_colon:
@prohibit='\<glnx_throw_errno_prefix *\(.*: ",' halt="don't add trailing : for glnx_throw_errno_prefix" \
$(_sc_search_regexp)

sc_glnx_no_fd_close:
@prohibit='\<glnx_fd_close int' halt="Use glnx_autofd, not glnx_fd_close" \
$(_sc_search_regexp)

#SHELL=bash -x
show-vc-list-except:
@$(VC_LIST_EXCEPT)
Expand Down
26 changes: 26 additions & 0 deletions ci/codestyle.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
#!/usr/bin/env bash
# Tests that validate structure of the source code;
# can be run without building it.
set -euo pipefail

# Don't hard require Rust
if command -v cargo >/dev/null; then
echo -n "checking rustfmt... "
for crate in $(find -iname Cargo.toml); do
if ! cargo fmt --manifest-path ${crate} -- --check; then
echo "cargo fmt failed; run: cd $(dirname ${crate}) && cargo fmt" 1>&2
exit 1
fi
done
echo "ok"
fi

echo -n 'grep-based static analysis... '
patterns=(glnx_fd_close)
for pat in "${patterns[@]}"; do
if git grep "${pat}" | grep -v codestyle\.sh; then
echo "Files matched prohibited pattern: ${pat}" 1>&2
exit 1
fi
done
echo ok
3 changes: 3 additions & 0 deletions ci/gh-build.sh
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,9 @@
set -euo pipefail
set -x

# First, basic static analysis
./ci/codestyle.sh

NOCONFIGURE=1 ./autogen.sh

srcdir="$(pwd)"
Expand Down

0 comments on commit 199ef82

Please sign in to comment.