-
-
Notifications
You must be signed in to change notification settings - Fork 651
Commit
Add JetBrains Qodana Static Analysis Tool. Not yet on the best way, but using their GH Actions it was not working, so we had to use another approach to make it work.
- Loading branch information
There are no files selected for viewing
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,61 @@ | ||
--- | ||
name: Qodana-Action | ||
on: | ||
workflow_dispatch: | ||
pull_request: | ||
push: | ||
branches: | ||
- main | ||
|
||
jobs: | ||
qodana: | ||
runs-on: ubuntu-latest | ||
permissions: | ||
contents: write | ||
pull-requests: write | ||
checks: write | ||
steps: | ||
- uses: actions/checkout@v3 | ||
with: | ||
ref: ${{ github.event.pull_request.head.sha }} | ||
fetch-depth: 0 | ||
|
||
- name: Install Linux Dependencies | ||
run: > | ||
Check failure on line 24 in .github/workflows/analysis-qodana-action.yml GitHub Actions / actionlint[actionlint] .github/workflows/analysis-qodana-action.yml#L24
Raw output
|
||
sudo apt-get update && sudo apt-get install ccache | ||
linux-headers-$(uname -r) | ||
- name: CCache | ||
uses: hendrikmuhs/ccache-action@main | ||
with: | ||
max-size: "1G" | ||
key: ccache-qodana | ||
|
||
- name: Restore artifacts and install vcpkg | ||
id: vcpkg-step | ||
run: | | ||
Check failure on line 36 in .github/workflows/analysis-qodana-action.yml GitHub Actions / actionlint[actionlint] .github/workflows/analysis-qodana-action.yml#L36
Raw output
|
||
vcpkgCommitId=$(grep '.builtin-baseline' vcpkg.json | awk -F: '{print $2}' | tr -d '," ') | ||
echo "vcpkg commit ID: $vcpkgCommitId" | ||
echo "VCPKG_GIT_COMMIT_ID=$vcpkgCommitId" >> $GITHUB_ENV | ||
- name: Get vcpkg commit id from vcpkg.json | ||
uses: lukka/run-vcpkg@main | ||
with: | ||
vcpkgGitURL: "https://github.com/microsoft/vcpkg.git" | ||
vcpkgGitCommitId: ${{ env.VCPKG_GIT_COMMIT_ID }} | ||
|
||
- name: Get latest CMake and ninja | ||
uses: lukka/get-cmake@main | ||
|
||
- name: Run CMake | ||
uses: lukka/run-cmake@main | ||
with: | ||
configurePreset: linux-debug | ||
|
||
|
||
- name: 'Qodana Scan' | ||
uses: JetBrains/[email protected] | ||
with: | ||
args: --log-level,debug,--compile-commands,./build/linux-debug/compile_commands.json | ||
env: | ||
QODANA_TOKEN: ${{ secrets.QODANA_TOKEN }} |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,62 @@ | ||
--- | ||
name: Qodana-Docker | ||
on: | ||
workflow_dispatch: | ||
pull_request: | ||
push: | ||
branches: | ||
- main | ||
|
||
jobs: | ||
qodana: | ||
runs-on: ubuntu-latest | ||
permissions: | ||
contents: write | ||
pull-requests: write | ||
checks: write | ||
steps: | ||
- uses: actions/checkout@v3 | ||
with: | ||
ref: ${{ github.event.pull_request.head.sha }} | ||
fetch-depth: 0 | ||
|
||
- name: Install Linux Dependencies | ||
run: > | ||
Check failure on line 24 in .github/workflows/analysis-qodana-docker.yml GitHub Actions / actionlint[actionlint] .github/workflows/analysis-qodana-docker.yml#L24
Raw output
|
||
sudo apt-get update && sudo apt-get install ccache | ||
linux-headers-$(uname -r) | ||
- name: CCache | ||
uses: hendrikmuhs/ccache-action@main | ||
with: | ||
max-size: "1G" | ||
key: ccache-qodana | ||
|
||
- name: Restore artifacts and install vcpkg | ||
id: vcpkg-step | ||
run: | | ||
Check failure on line 36 in .github/workflows/analysis-qodana-docker.yml GitHub Actions / actionlint[actionlint] .github/workflows/analysis-qodana-docker.yml#L36
Raw output
|
||
vcpkgCommitId=$(grep '.builtin-baseline' vcpkg.json | awk -F: '{print $2}' | tr -d '," ') | ||
echo "vcpkg commit ID: $vcpkgCommitId" | ||
echo "VCPKG_GIT_COMMIT_ID=$vcpkgCommitId" >> $GITHUB_ENV | ||
- name: Get vcpkg commit id from vcpkg.json | ||
uses: lukka/run-vcpkg@main | ||
with: | ||
vcpkgGitURL: "https://github.com/microsoft/vcpkg.git" | ||
vcpkgGitCommitId: ${{ env.VCPKG_GIT_COMMIT_ID }} | ||
|
||
- name: Get latest CMake and ninja | ||
uses: lukka/get-cmake@main | ||
|
||
- name: Run CMake | ||
uses: lukka/run-cmake@main | ||
with: | ||
configurePreset: linux-debug | ||
|
||
- name: Qodana Scan | ||
run: | | ||
Check failure on line 56 in .github/workflows/analysis-qodana-docker.yml GitHub Actions / actionlint[actionlint] .github/workflows/analysis-qodana-docker.yml#L56
Raw output
Check failure on line 56 in .github/workflows/analysis-qodana-docker.yml GitHub Actions / actionlint[actionlint] .github/workflows/analysis-qodana-docker.yml#L56
Raw output
Check failure on line 56 in .github/workflows/analysis-qodana-docker.yml GitHub Actions / actionlint[actionlint] .github/workflows/analysis-qodana-docker.yml#L56
Raw output
|
||
docker run \ | ||
-v $(pwd):/data/project/ \ | ||
-v $(pwd):$(pwd) \ | ||
-e QODANA_TOKEN="${{ secrets.QODANA_TOKEN }}" \ | ||
jetbrains/qodana-clang:2024.1-eap \ | ||
--compile-commands ./build/linux-debug/compile_commands.json |