diff --git a/.github/workflows/checksrc.yml b/.github/workflows/checksrc.yml new file mode 100644 index 0000000000..0115bc5119 --- /dev/null +++ b/.github/workflows/checksrc.yml @@ -0,0 +1,29 @@ +# Copyright (C) Daniel Stenberg, , et al. +# +# SPDX-License-Identifier: curl + +name: checksrc + +on: + # Trigger the workflow on push or pull requests, but only for the + # master branch + push: + branches: + - master + - '*/ci' + pull_request: + branches: + - master + +permissions: {} + +jobs: + all: + + runs-on: ubuntu-latest + + steps: + - uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4 + + - name: check + run: git ls-files "*.[ch]" | xargs -n1 ./scripts/checksrc.pl diff --git a/scripts/checksrc.pl b/scripts/checksrc.pl index 75f68fbaaa..45897aad6f 100755 --- a/scripts/checksrc.pl +++ b/scripts/checksrc.pl @@ -115,9 +115,20 @@ sub readskiplist { # and since that's already handled via !checksrc! commands there is probably # little use to add it. sub readlocalfile { + my ($file) = @_; my $i = 0; + my $rcfile; - open(my $rcfile, "<", "$dir/.checksrc") or return; + if(($dir eq ".") && $file =~ /\//) { + my $ldir; + if($file =~ /(.*)\//) { + $ldir = $1; + open($rcfile, "<", "$dir/$ldir/.checksrc") or return; + } + } + else { + open($rcfile, "<", "$dir/.checksrc") or return; + } while(<$rcfile>) { $windows_os ? $_ =~ s/\r?\n$// : chomp; @@ -264,7 +275,7 @@ if(!$file) { } readskiplist(); -readlocalfile(); +readlocalfile($file); do { if("$wlist" !~ / $file /) {