- name: 'perform analysis'
uses: github/codeql-action/analyze@192325c86100d080feab897ff886c34abd4c83a3 # v3
+
+ c:
+ name: 'C'
+ runs-on: ubuntu-latest
+ permissions:
+ security-events: write
+ steps:
+ - name: 'install prereqs'
+ timeout-minutes: 5
+ run: |
+ sudo rm -f /etc/apt/sources.list.d/microsoft-prod.list
+ sudo apt-get -o Dpkg::Use-Pty=0 update
+ sudo rm -f /var/lib/man-db/auto-update
+ sudo apt-get -o Dpkg::Use-Pty=0 install libpsl-dev libbrotli-dev libidn2-dev libssh2-1-dev libnghttp2-dev libldap-dev
+
+ - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4
+ with:
+ persist-credentials: false
+
+ - name: 'initialize'
+ uses: github/codeql-action/init@192325c86100d080feab897ff886c34abd4c83a3 # v3
+ with:
+ languages: cpp
+ build-mode: manual
+
+ - name: 'build'
+ timeout-minutes: 10
+ run: |
+ cmake -B . -G Ninja
+ cmake --build . --verbose
+ src/curl -V
+
+ - name: 'perform analysis'
+ uses: github/codeql-action/analyze@192325c86100d080feab897ff886c34abd4c83a3 # v3
| CI platform as shown in PR | State | What to look at next |
| ----------------------------------- | ------ | -------------------------- |
+ | CI / CodeQL | stable | quality check results |
| CI / fuzzing | stable | fuzzing results |
| CI / macos ... | stable | all errors and failures |
+ | Code scanning results / CodeQL | stable | quality check results |
| FreeBSD FreeBSD: ... | stable | all errors and failures |
| LGTM analysis: Python | stable | new findings |
| LGTM analysis: C/C++ | stable | new findings |
| AppVeyor | flaky | all errors and failures |
| curl.curl (linux ...) | stable | all errors and failures |
| curl.curl (windows ...) | flaky | repetitive errors/failures |
+ | CodeQL | stable | new findings |
Sometimes the tests fail due to a dependency service temporarily being offline
or otherwise unavailable, for example package downloads. In this case you can
- macOS tests with a variety of different compilation options
- Fuzz tests ([see the curl-fuzzer repo for more
info](https://github.com/curl/curl-fuzzer)).
+- CodeQL static analysis
These are each configured in different files in `.github/workflows`.