97f79e3b27
If make fails in a multi-process invocation, the log is pretty much unreadable. To make it readable, build as much as can be built without failing. Then run a single-process make again. If we succeeded previously, this should be a no-op. If not, this run will stop at the first error, which should be more readable, and will only print the few lines we're interested in. This has some side effects: Now we build as much as we can, instead of failing as early as possible; this may make CI a bit slower. However, it also has the benefit that you see _all_ the error messages that could be given, instead of needing to fix the first error to see the next and so on. Cc: Iker Pedrosa <ipedrosa@redhat.com> Signed-off-by: Alejandro Colomar <alx@kernel.org>
62 lines
1.4 KiB
YAML
62 lines
1.4 KiB
YAML
name: "Static code analysis"
|
|
on:
|
|
push:
|
|
branches: [master]
|
|
pull_request:
|
|
branches: [master]
|
|
schedule:
|
|
# Everyday at midnight
|
|
- cron: '0 0 * * *'
|
|
jobs:
|
|
codeql:
|
|
runs-on: ubuntu-latest
|
|
permissions:
|
|
security-events: write
|
|
steps:
|
|
- name: Checkout repository
|
|
uses: actions/checkout@v3
|
|
|
|
- name: Install dependencies
|
|
id: dependencies
|
|
uses: ./.github/actions/install-dependencies
|
|
|
|
- name: Initialize CodeQL
|
|
uses: github/codeql-action/init@v2
|
|
with:
|
|
languages: cpp
|
|
queries: +security-and-quality
|
|
|
|
- name: Configure shadow-utils
|
|
run: ./autogen.sh --without-selinux --disable-man
|
|
|
|
- name: Build shadow-utils
|
|
run: |
|
|
PROCESSORS=$(/usr/bin/getconf _NPROCESSORS_ONLN)
|
|
make -kj$PROCESSORS || true
|
|
|
|
- name: Check build errors
|
|
run: make
|
|
|
|
- name: Perform CodeQL Analysis
|
|
uses: github/codeql-action/analyze@v2
|
|
|
|
differential-shellcheck:
|
|
runs-on: ubuntu-latest
|
|
|
|
permissions:
|
|
contents: read
|
|
security-events: write
|
|
|
|
steps:
|
|
- name: Checkout repository
|
|
uses: actions/checkout@v3
|
|
with:
|
|
fetch-depth: 0
|
|
|
|
# Doc: https://github.com/redhat-plumbers-in-action/differential-shellcheck#usage
|
|
- name: Differential ShellCheck
|
|
uses: redhat-plumbers-in-action/differential-shellcheck@v3
|
|
with:
|
|
severity: warning
|
|
token: ${{ secrets.GITHUB_TOKEN }}
|