summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--.github/workflows/codeql.yml20
1 files changed, 16 insertions, 4 deletions
diff --git a/.github/workflows/codeql.yml b/.github/workflows/codeql.yml
index 72ece9dcb4..c91e9d4dbe 100644
--- a/.github/workflows/codeql.yml
+++ b/.github/workflows/codeql.yml
@@ -92,7 +92,7 @@ jobs:
git config --system core.longpaths true
- name: Install/Upgrade pip Modules
- run: pip install -r pip-requirements.txt --upgrade requests
+ run: pip install -r pip-requirements.txt --upgrade requests sarif-tools
- name: Determine CI Settings File Supported Operations
id: get_ci_file_operations
@@ -304,16 +304,26 @@ jobs:
PACKAGE_NAME: ${{ matrix.Package }}
shell: python
run: |
+ import logging
import os
+ from edk2toollib.utility_functions import RunCmd
+ from io import StringIO
+ from pathlib import Path
package = os.environ['PACKAGE_NAME'].strip().lower()
directory_name = 'codeql-analysis-' + package + '-debug'
file_name = 'codeql-db-' + package + '-debug-0.sarif'
- sarif_path = os.path.join('Build', directory_name, file_name)
+ sarif_path = Path('Build', directory_name, file_name)
with open(os.environ['GITHUB_OUTPUT'], 'a') as fh:
- if os.path.isfile(sarif_path):
+ if sarif_path.is_file():
+ emacs_file_path = sarif_path.with_name(sarif_path.stem + "-emacs.txt")
+ out_stream_buffer = StringIO()
+ exit_code = RunCmd("sarif", f"emacs {sarif_path} --output {emacs_file_path} --no-autotrim",
+ outstream=out_stream_buffer,
+ logging_level=logging.NOTSET)
print(f'upload_sarif_file=true', file=fh)
+ print(f'emacs_file_path={emacs_file_path}', file=fh)
print(f'sarif_file_path={sarif_path}', file=fh)
else:
print(f'upload_sarif_file=false', file=fh)
@@ -323,7 +333,9 @@ jobs:
if: steps.env_data.outputs.upload_sarif_file == 'true'
with:
name: ${{ matrix.Package }}-CodeQL-SARIF
- path: ${{ steps.env_data.outputs.sarif_file_path }}
+ path: |
+ ${{ steps.env_data.outputs.emacs_file_path }}
+ ${{ steps.env_data.outputs.sarif_file_path }}
retention-days: 14
if-no-files-found: warn