Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Perform CodeQL Analysis fails during database finalize due to NoSuchFileException #1338

Open
makubacki opened this issue Nov 1, 2022 · 7 comments

Comments

@makubacki
Copy link

While enabling CodeQL, I encounter this error frequently. Occassionally, I do not encounter the error and the GitHub action succeeds.

/opt/hostedtoolcache/CodeQL/0.0.0-20221010/x64/codeql/codeql database finalize --finalize-dataset --threads=2 /home/runner/work/_temp/codeql_databases/cpp --ram=5920
  Running TRAP import for CodeQL database at /home/runner/work/_temp/codeql_databases/cpp...
  A fatal error occurred: Couldn't read /home/runner/work/_temp/codeql_databases/cpp/trap/cpp/source/tmp/ccMtRh��.link
  (eventual cause: NoSuchFileException "/home/runner/work/_temp/codeql_databases/cpp/trap/cpp/source/tmp/ccMtRh��.link")
  A fatal error occurred: Dataset import for /home/runner/work/_temp/codeql_databases/cpp/db-cpp failed with code 2.
  Error: The process '/opt/hostedtoolcache/CodeQL/0.0.0-20221010/x64/codeql/codeql' failed with exit code 2
  Error: The process '/opt/hostedtoolcache/CodeQL/0.0.0-20221010/x64/codeql/codeql' failed with exit code 2
      at toolrunnerErrorCatcher (/home/runner/work/_actions/github/codeql-action/v2/lib/toolrunner-error-catcher.js:86:19)
      at processTicksAndRejections (node:internal/process/task_queues:96:5)
      at async Object.finalizeDatabase (/home/runner/work/_actions/github/codeql-action/v2/lib/codeql.js:[60](https://github.com/tianocore/edk2/actions/runs/3362451486/jobs/5574191203#step:12:61)7:13)
      at async finalizeDatabaseCreation (/home/runner/work/_actions/github/codeql-action/v2/lib/analyze.js:114:13)
      at async runFinalize (/home/runner/work/_actions/github/codeql-action/v2/lib/analyze.js:298:21)
      at async run (/home/runner/work/_actions/github/codeql-action/v2/lib/analyze-action.js:164:29)
      at async runWrapper (/home/runner/work/_actions/github/codeql-action/v2/lib/analyze-action.js:235:9)

The filename that can't be read will change, but the error remains:

A fatal error occurred: Couldn't read /home/runner/work/_temp/codeql_databases/cpp/trap/cpp/source/home/runner/work/edk2/edk2/Build/MdeModule/DEBUG_GCC5/IA32/MdeModulePk��.link

Can you please help provide more information about what is going on?

@Erich-McMillan
Copy link

Erich-McMillan commented Nov 1, 2022

I'm seeing this issue as well, but locally in an ubuntu container:

Finalizing database at /edk2/codeql-cpp-analysis.
A fatal error occurred: Couldn't read /edk2/codeql-cpp-analysis/trap/cpp/source/�♠.link
(eventual cause: NoSuchFileException "/edk2/codeql-cpp-analysis/trap/cpp/source/�♠.link")
Running queries.
A fatal error occurred: /edk2/codeql-cpp-analysis/db-cpp does not seem to be a raw QL dataset; it has no dbscheme.

@makubacki
Copy link
Author

We compile multiple "packages" of code (sets of drivers) with a single build command. Building each package in a separate job with a matrix is leading to better results so far.

https://github.com/tianocore/edk2/actions/runs/3366104711

@makubacki
Copy link
Author

While it is easier to rerun an individual failed job with the matrix, the same failure does occasionally occur.

@jketema
Copy link

jketema commented Nov 2, 2022

Hi @makubacki

Thanks for opening this issue.

Can you please help provide more information about what is going on?

It seems that your build environment is triggering a bug in the CodeQL component ("extractor") responsible for reading your C/C++ source files. We are able to reproduce this behaviour on the GitHub provided runners, but unfortunately not locally. It's also not a failure we have seen before, while this code has not been modified for the last few months.

Could you tell me whether your build environment does anything special with environment variables that are being set (the extractor depends on a few of these, which are set by the action) or whether you somehow override functionality of the system provided glibc library?

@makubacki
Copy link
Author

Hi. I triggered a new workflow to periodically dump environment variables here - https://github.com/tianocore/edk2/actions/runs/3388710334. It has a couple failures that reproduce the issue.

I'm not aware of any overrides to glibc.

@jketema
Copy link

jketema commented Nov 3, 2022

Thanks. I don't see anything that is particularly of interest in that output.

I'll file an internal issue for this, so we can schedule looking further into this.

@makubacki
Copy link
Author

Great, thanks! It looks like a viable workaround for my project is to use Windows builds. So far, I'm seeing reliable results with that. We are still very interested in being able to build on Ubuntu + GCC though.

makubacki added a commit to microsoft/mu_devops that referenced this issue Feb 28, 2023
Adds a new workflow that is synced to Mu repos that are
currently expected to run against CodeQL.

This workflow has the following features to support
maintainability across the repos it is synced to:

- The packages are auto discovered and a dynamic matrix
  is generated for each package build. This allows the
  same file to work as-is in each repo that performs
  CI builds (packages are in the repo root directory).

- The Mu Basecore plugin directory is auto discovered
  in the workspace based on the presence of the CodeQL
  plugin being present in the directory.

- The operations supported by the Stuart CI script are
  dynamically discovered.

- CodeQL is only run on Windows agents. There is a known
  issue when building edk2-style code on Linux so this
  avoids encountering that issue.

  See: github/codeql-action#1338

- The Windows CodeQL CLI package is about 260MB at this time.

  The GitHub Action cache is used by this workflow to cache
  the CLI after it is initially pulled down in the Stuart ext
  dep update.

- The CLI ext dep directory name and version used for caching
  are read from the ext_dep YAML file to reduce maintenance
  needed in the workflow if the file changes in the future.

Note that the SARIF file for each run is uploaded as a per-package
artifact. These can be downloaded and opened in VS Code with the
SARIF Viewer extension to view issues locally with the ability
to click to issue locations in files.

Signed-off-by: Michael Kubacki <michael.kubacki@microsoft.com>
makubacki pushed a commit to microsoft/mu_feature_dfci that referenced this issue Feb 28, 2023
synced local file(s) with [microsoft/mu_devops](https://github.com/microsoft/mu_devops).

🤖: View the [Repo File Sync Configuration File](https://github.com/microsoft/mu_devops/blob/main/.sync/Files.yml) to see how files are synced.

---

Adds a new workflow that is synced to Mu repos that are
currently expected to run against CodeQL.

This workflow has the following features to support
maintainability across the repos it is synced to:

- The packages are auto discovered and a dynamic matrix
  is generated for each package build. This allows the
  same file to work as-is in each repo that performs
  CI builds (packages are in the repo root directory).

- The Mu Basecore plugin directory is auto discovered
  in the workspace based on the presence of the CodeQL
  plugin being present in the directory.

- The operations supported by the Stuart CI script are
  dynamically discovered.

- CodeQL is only run on Windows agents. There is a known
  issue when building edk2-style code on Linux so this
  avoids encountering that issue.

  See: github/codeql-action#1338

- The Windows CodeQL CLI package is about 260MB at this time.

  The GitHub Action cache is used by this workflow to cache
  the CLI after it is initially pulled down in the Stuart ext
  dep update.

- The CLI ext dep directory name and version used for caching
  are read from the ext_dep YAML file to reduce maintenance
  needed in the workflow if the file changes in the future.

Note that the SARIF file for each run is uploaded as a per-package
artifact. These can be downloaded and opened in VS Code with the
SARIF Viewer extension to view issues locally with the ability
to click to issue locations in files.

Signed-off-by: Michael Kubacki <michael.kubacki@microsoft.com>

---

This PR was created automatically by the [repo-file-sync-action](https://github.com/BetaHuhn/repo-file-sync-action) workflow run [#4295514175](https://github.com/microsoft/mu_devops/actions/runs/4295514175)
makubacki pushed a commit to microsoft/mu_common_intel_min_platform that referenced this issue Feb 28, 2023
synced local file(s) with [microsoft/mu_devops](https://github.com/microsoft/mu_devops).

🤖: View the [Repo File Sync Configuration File](https://github.com/microsoft/mu_devops/blob/main/.sync/Files.yml) to see how files are synced.

---

Adds a new workflow that is synced to Mu repos that are
currently expected to run against CodeQL.

This workflow has the following features to support
maintainability across the repos it is synced to:

- The packages are auto discovered and a dynamic matrix
  is generated for each package build. This allows the
  same file to work as-is in each repo that performs
  CI builds (packages are in the repo root directory).

- The Mu Basecore plugin directory is auto discovered
  in the workspace based on the presence of the CodeQL
  plugin being present in the directory.

- The operations supported by the Stuart CI script are
  dynamically discovered.

- CodeQL is only run on Windows agents. There is a known
  issue when building edk2-style code on Linux so this
  avoids encountering that issue.

  See: github/codeql-action#1338

- The Windows CodeQL CLI package is about 260MB at this time.

  The GitHub Action cache is used by this workflow to cache
  the CLI after it is initially pulled down in the Stuart ext
  dep update.

- The CLI ext dep directory name and version used for caching
  are read from the ext_dep YAML file to reduce maintenance
  needed in the workflow if the file changes in the future.

Note that the SARIF file for each run is uploaded as a per-package
artifact. These can be downloaded and opened in VS Code with the
SARIF Viewer extension to view issues locally with the ability
to click to issue locations in files.

Signed-off-by: Michael Kubacki <michael.kubacki@microsoft.com>

---

This PR was created automatically by the [repo-file-sync-action](https://github.com/BetaHuhn/repo-file-sync-action) workflow run [#4295514175](https://github.com/microsoft/mu_devops/actions/runs/4295514175)
makubacki pushed a commit to microsoft/mu_plus that referenced this issue Feb 28, 2023
synced local file(s) with [microsoft/mu_devops](https://github.com/microsoft/mu_devops).

🤖: View the [Repo File Sync Configuration File](https://github.com/microsoft/mu_devops/blob/main/.sync/Files.yml) to see how files are synced.

---

Adds a new workflow that is synced to Mu repos that are
currently expected to run against CodeQL.

This workflow has the following features to support
maintainability across the repos it is synced to:

- The packages are auto discovered and a dynamic matrix
  is generated for each package build. This allows the
  same file to work as-is in each repo that performs
  CI builds (packages are in the repo root directory).

- The Mu Basecore plugin directory is auto discovered
  in the workspace based on the presence of the CodeQL
  plugin being present in the directory.

- The operations supported by the Stuart CI script are
  dynamically discovered.

- CodeQL is only run on Windows agents. There is a known
  issue when building edk2-style code on Linux so this
  avoids encountering that issue.

  See: github/codeql-action#1338

- The Windows CodeQL CLI package is about 260MB at this time.

  The GitHub Action cache is used by this workflow to cache
  the CLI after it is initially pulled down in the Stuart ext
  dep update.

- The CLI ext dep directory name and version used for caching
  are read from the ext_dep YAML file to reduce maintenance
  needed in the workflow if the file changes in the future.

Note that the SARIF file for each run is uploaded as a per-package
artifact. These can be downloaded and opened in VS Code with the
SARIF Viewer extension to view issues locally with the ability
to click to issue locations in files.

Signed-off-by: Michael Kubacki <michael.kubacki@microsoft.com>

---

This PR was created automatically by the [repo-file-sync-action](https://github.com/BetaHuhn/repo-file-sync-action) workflow run [#4295514175](https://github.com/microsoft/mu_devops/actions/runs/4295514175)
makubacki pushed a commit to microsoft/mu_silicon_intel_tiano that referenced this issue Feb 28, 2023
synced local file(s) with [microsoft/mu_devops](https://github.com/microsoft/mu_devops).

🤖: View the [Repo File Sync Configuration File](https://github.com/microsoft/mu_devops/blob/main/.sync/Files.yml) to see how files are synced.

---

Adds a new workflow that is synced to Mu repos that are
currently expected to run against CodeQL.

This workflow has the following features to support
maintainability across the repos it is synced to:

- The packages are auto discovered and a dynamic matrix
  is generated for each package build. This allows the
  same file to work as-is in each repo that performs
  CI builds (packages are in the repo root directory).

- The Mu Basecore plugin directory is auto discovered
  in the workspace based on the presence of the CodeQL
  plugin being present in the directory.

- The operations supported by the Stuart CI script are
  dynamically discovered.

- CodeQL is only run on Windows agents. There is a known
  issue when building edk2-style code on Linux so this
  avoids encountering that issue.

  See: github/codeql-action#1338

- The Windows CodeQL CLI package is about 260MB at this time.

  The GitHub Action cache is used by this workflow to cache
  the CLI after it is initially pulled down in the Stuart ext
  dep update.

- The CLI ext dep directory name and version used for caching
  are read from the ext_dep YAML file to reduce maintenance
  needed in the workflow if the file changes in the future.

Note that the SARIF file for each run is uploaded as a per-package
artifact. These can be downloaded and opened in VS Code with the
SARIF Viewer extension to view issues locally with the ability
to click to issue locations in files.

Signed-off-by: Michael Kubacki <michael.kubacki@microsoft.com>

---

This PR was created automatically by the [repo-file-sync-action](https://github.com/BetaHuhn/repo-file-sync-action) workflow run [#4295514175](https://github.com/microsoft/mu_devops/actions/runs/4295514175)
makubacki pushed a commit to microsoft/mu_tiano_plus that referenced this issue Feb 28, 2023
synced local file(s) with [microsoft/mu_devops](https://github.com/microsoft/mu_devops).

🤖: View the [Repo File Sync Configuration File](https://github.com/microsoft/mu_devops/blob/main/.sync/Files.yml) to see how files are synced.

---

Adds a new workflow that is synced to Mu repos that are
currently expected to run against CodeQL.

This workflow has the following features to support
maintainability across the repos it is synced to:

- The packages are auto discovered and a dynamic matrix
  is generated for each package build. This allows the
  same file to work as-is in each repo that performs
  CI builds (packages are in the repo root directory).

- The Mu Basecore plugin directory is auto discovered
  in the workspace based on the presence of the CodeQL
  plugin being present in the directory.

- The operations supported by the Stuart CI script are
  dynamically discovered.

- CodeQL is only run on Windows agents. There is a known
  issue when building edk2-style code on Linux so this
  avoids encountering that issue.

  See: github/codeql-action#1338

- The Windows CodeQL CLI package is about 260MB at this time.

  The GitHub Action cache is used by this workflow to cache
  the CLI after it is initially pulled down in the Stuart ext
  dep update.

- The CLI ext dep directory name and version used for caching
  are read from the ext_dep YAML file to reduce maintenance
  needed in the workflow if the file changes in the future.

Note that the SARIF file for each run is uploaded as a per-package
artifact. These can be downloaded and opened in VS Code with the
SARIF Viewer extension to view issues locally with the ability
to click to issue locations in files.

Signed-off-by: Michael Kubacki <michael.kubacki@microsoft.com>

---

This PR was created automatically by the [repo-file-sync-action](https://github.com/BetaHuhn/repo-file-sync-action) workflow run [#4295514175](https://github.com/microsoft/mu_devops/actions/runs/4295514175)
makubacki pushed a commit to microsoft/mu_basecore that referenced this issue Feb 28, 2023
synced local file(s) with [microsoft/mu_devops](https://github.com/microsoft/mu_devops).

🤖: View the [Repo File Sync Configuration File](https://github.com/microsoft/mu_devops/blob/main/.sync/Files.yml) to see how files are synced.

---

Adds a new workflow that is synced to Mu repos that are
currently expected to run against CodeQL.

This workflow has the following features to support
maintainability across the repos it is synced to:

- The packages are auto discovered and a dynamic matrix
  is generated for each package build. This allows the
  same file to work as-is in each repo that performs
  CI builds (packages are in the repo root directory).

- The Mu Basecore plugin directory is auto discovered
  in the workspace based on the presence of the CodeQL
  plugin being present in the directory.

- The operations supported by the Stuart CI script are
  dynamically discovered.

- CodeQL is only run on Windows agents. There is a known
  issue when building edk2-style code on Linux so this
  avoids encountering that issue.

  See: github/codeql-action#1338

- The Windows CodeQL CLI package is about 260MB at this time.

  The GitHub Action cache is used by this workflow to cache
  the CLI after it is initially pulled down in the Stuart ext
  dep update.

- The CLI ext dep directory name and version used for caching
  are read from the ext_dep YAML file to reduce maintenance
  needed in the workflow if the file changes in the future.

Note that the SARIF file for each run is uploaded as a per-package
artifact. These can be downloaded and opened in VS Code with the
SARIF Viewer extension to view issues locally with the ability
to click to issue locations in files.

Signed-off-by: Michael Kubacki <michael.kubacki@microsoft.com>

---

This PR was created automatically by the [repo-file-sync-action](https://github.com/BetaHuhn/repo-file-sync-action) workflow run [#4295514175](https://github.com/microsoft/mu_devops/actions/runs/4295514175)
makubacki pushed a commit to microsoft/mu_feature_mm_supv that referenced this issue Feb 28, 2023
synced local file(s) with [microsoft/mu_devops](https://github.com/microsoft/mu_devops).

🤖: View the [Repo File Sync Configuration File](https://github.com/microsoft/mu_devops/blob/main/.sync/Files.yml) to see how files are synced.

---

Adds a new workflow that is synced to Mu repos that are
currently expected to run against CodeQL.

This workflow has the following features to support
maintainability across the repos it is synced to:

- The packages are auto discovered and a dynamic matrix
  is generated for each package build. This allows the
  same file to work as-is in each repo that performs
  CI builds (packages are in the repo root directory).

- The Mu Basecore plugin directory is auto discovered
  in the workspace based on the presence of the CodeQL
  plugin being present in the directory.

- The operations supported by the Stuart CI script are
  dynamically discovered.

- CodeQL is only run on Windows agents. There is a known
  issue when building edk2-style code on Linux so this
  avoids encountering that issue.

  See: github/codeql-action#1338

- The Windows CodeQL CLI package is about 260MB at this time.

  The GitHub Action cache is used by this workflow to cache
  the CLI after it is initially pulled down in the Stuart ext
  dep update.

- The CLI ext dep directory name and version used for caching
  are read from the ext_dep YAML file to reduce maintenance
  needed in the workflow if the file changes in the future.

Note that the SARIF file for each run is uploaded as a per-package
artifact. These can be downloaded and opened in VS Code with the
SARIF Viewer extension to view issues locally with the ability
to click to issue locations in files.

Signed-off-by: Michael Kubacki <michael.kubacki@microsoft.com>

---

This PR was created automatically by the [repo-file-sync-action](https://github.com/BetaHuhn/repo-file-sync-action) workflow run [#4295514175](https://github.com/microsoft/mu_devops/actions/runs/4295514175)
TaylorBeebe pushed a commit to TaylorBeebe/mu_basecore that referenced this issue Apr 27, 2023
synced local file(s) with [microsoft/mu_devops](https://github.com/microsoft/mu_devops).

🤖: View the [Repo File Sync Configuration File](https://github.com/microsoft/mu_devops/blob/main/.sync/Files.yml) to see how files are synced.

---

Adds a new workflow that is synced to Mu repos that are
currently expected to run against CodeQL.

This workflow has the following features to support
maintainability across the repos it is synced to:

- The packages are auto discovered and a dynamic matrix
  is generated for each package build. This allows the
  same file to work as-is in each repo that performs
  CI builds (packages are in the repo root directory).

- The Mu Basecore plugin directory is auto discovered
  in the workspace based on the presence of the CodeQL
  plugin being present in the directory.

- The operations supported by the Stuart CI script are
  dynamically discovered.

- CodeQL is only run on Windows agents. There is a known
  issue when building edk2-style code on Linux so this
  avoids encountering that issue.

  See: github/codeql-action#1338

- The Windows CodeQL CLI package is about 260MB at this time.

  The GitHub Action cache is used by this workflow to cache
  the CLI after it is initially pulled down in the Stuart ext
  dep update.

- The CLI ext dep directory name and version used for caching
  are read from the ext_dep YAML file to reduce maintenance
  needed in the workflow if the file changes in the future.

Note that the SARIF file for each run is uploaded as a per-package
artifact. These can be downloaded and opened in VS Code with the
SARIF Viewer extension to view issues locally with the ability
to click to issue locations in files.

Signed-off-by: Michael Kubacki <michael.kubacki@microsoft.com>

---

This PR was created automatically by the [repo-file-sync-action](https://github.com/BetaHuhn/repo-file-sync-action) workflow run [#4295514175](https://github.com/microsoft/mu_devops/actions/runs/4295514175)
kenlautner pushed a commit to microsoft/mu_basecore that referenced this issue Apr 28, 2023
synced local file(s) with [microsoft/mu_devops](https://github.com/microsoft/mu_devops).

🤖: View the [Repo File Sync Configuration File](https://github.com/microsoft/mu_devops/blob/main/.sync/Files.yml) to see how files are synced.

---

Adds a new workflow that is synced to Mu repos that are
currently expected to run against CodeQL.

This workflow has the following features to support
maintainability across the repos it is synced to:

- The packages are auto discovered and a dynamic matrix
  is generated for each package build. This allows the
  same file to work as-is in each repo that performs
  CI builds (packages are in the repo root directory).

- The Mu Basecore plugin directory is auto discovered
  in the workspace based on the presence of the CodeQL
  plugin being present in the directory.

- The operations supported by the Stuart CI script are
  dynamically discovered.

- CodeQL is only run on Windows agents. There is a known
  issue when building edk2-style code on Linux so this
  avoids encountering that issue.

  See: github/codeql-action#1338

- The Windows CodeQL CLI package is about 260MB at this time.

  The GitHub Action cache is used by this workflow to cache
  the CLI after it is initially pulled down in the Stuart ext
  dep update.

- The CLI ext dep directory name and version used for caching
  are read from the ext_dep YAML file to reduce maintenance
  needed in the workflow if the file changes in the future.

Note that the SARIF file for each run is uploaded as a per-package
artifact. These can be downloaded and opened in VS Code with the
SARIF Viewer extension to view issues locally with the ability
to click to issue locations in files.

Signed-off-by: Michael Kubacki <michael.kubacki@microsoft.com>

---

This PR was created automatically by the [repo-file-sync-action](https://github.com/BetaHuhn/repo-file-sync-action) workflow run [#4295514175](https://github.com/microsoft/mu_devops/actions/runs/4295514175)
kenlautner pushed a commit to microsoft/mu_basecore that referenced this issue May 3, 2023
synced local file(s) with [microsoft/mu_devops](https://github.com/microsoft/mu_devops).

🤖: View the [Repo File Sync Configuration File](https://github.com/microsoft/mu_devops/blob/main/.sync/Files.yml) to see how files are synced.

---

Adds a new workflow that is synced to Mu repos that are
currently expected to run against CodeQL.

This workflow has the following features to support
maintainability across the repos it is synced to:

- The packages are auto discovered and a dynamic matrix
  is generated for each package build. This allows the
  same file to work as-is in each repo that performs
  CI builds (packages are in the repo root directory).

- The Mu Basecore plugin directory is auto discovered
  in the workspace based on the presence of the CodeQL
  plugin being present in the directory.

- The operations supported by the Stuart CI script are
  dynamically discovered.

- CodeQL is only run on Windows agents. There is a known
  issue when building edk2-style code on Linux so this
  avoids encountering that issue.

  See: github/codeql-action#1338

- The Windows CodeQL CLI package is about 260MB at this time.

  The GitHub Action cache is used by this workflow to cache
  the CLI after it is initially pulled down in the Stuart ext
  dep update.

- The CLI ext dep directory name and version used for caching
  are read from the ext_dep YAML file to reduce maintenance
  needed in the workflow if the file changes in the future.

Note that the SARIF file for each run is uploaded as a per-package
artifact. These can be downloaded and opened in VS Code with the
SARIF Viewer extension to view issues locally with the ability
to click to issue locations in files.

Signed-off-by: Michael Kubacki <michael.kubacki@microsoft.com>

---

This PR was created automatically by the [repo-file-sync-action](https://github.com/BetaHuhn/repo-file-sync-action) workflow run [#4295514175](https://github.com/microsoft/mu_devops/actions/runs/4295514175)
kenlautner pushed a commit to microsoft/mu_basecore that referenced this issue May 4, 2023
synced local file(s) with [microsoft/mu_devops](https://github.com/microsoft/mu_devops).

🤖: View the [Repo File Sync Configuration File](https://github.com/microsoft/mu_devops/blob/main/.sync/Files.yml) to see how files are synced.

---

Adds a new workflow that is synced to Mu repos that are
currently expected to run against CodeQL.

This workflow has the following features to support
maintainability across the repos it is synced to:

- The packages are auto discovered and a dynamic matrix
  is generated for each package build. This allows the
  same file to work as-is in each repo that performs
  CI builds (packages are in the repo root directory).

- The Mu Basecore plugin directory is auto discovered
  in the workspace based on the presence of the CodeQL
  plugin being present in the directory.

- The operations supported by the Stuart CI script are
  dynamically discovered.

- CodeQL is only run on Windows agents. There is a known
  issue when building edk2-style code on Linux so this
  avoids encountering that issue.

  See: github/codeql-action#1338

- The Windows CodeQL CLI package is about 260MB at this time.

  The GitHub Action cache is used by this workflow to cache
  the CLI after it is initially pulled down in the Stuart ext
  dep update.

- The CLI ext dep directory name and version used for caching
  are read from the ext_dep YAML file to reduce maintenance
  needed in the workflow if the file changes in the future.

Note that the SARIF file for each run is uploaded as a per-package
artifact. These can be downloaded and opened in VS Code with the
SARIF Viewer extension to view issues locally with the ability
to click to issue locations in files.

Signed-off-by: Michael Kubacki <michael.kubacki@microsoft.com>

---

This PR was created automatically by the [repo-file-sync-action](https://github.com/BetaHuhn/repo-file-sync-action) workflow run [#4295514175](https://github.com/microsoft/mu_devops/actions/runs/4295514175)
kenlautner pushed a commit to microsoft/mu_tiano_plus that referenced this issue May 10, 2023
synced local file(s) with [microsoft/mu_devops](https://github.com/microsoft/mu_devops).

🤖: View the [Repo File Sync Configuration File](https://github.com/microsoft/mu_devops/blob/main/.sync/Files.yml) to see how files are synced.

---

Adds a new workflow that is synced to Mu repos that are
currently expected to run against CodeQL.

This workflow has the following features to support
maintainability across the repos it is synced to:

- The packages are auto discovered and a dynamic matrix
  is generated for each package build. This allows the
  same file to work as-is in each repo that performs
  CI builds (packages are in the repo root directory).

- The Mu Basecore plugin directory is auto discovered
  in the workspace based on the presence of the CodeQL
  plugin being present in the directory.

- The operations supported by the Stuart CI script are
  dynamically discovered.

- CodeQL is only run on Windows agents. There is a known
  issue when building edk2-style code on Linux so this
  avoids encountering that issue.

  See: github/codeql-action#1338

- The Windows CodeQL CLI package is about 260MB at this time.

  The GitHub Action cache is used by this workflow to cache
  the CLI after it is initially pulled down in the Stuart ext
  dep update.

- The CLI ext dep directory name and version used for caching
  are read from the ext_dep YAML file to reduce maintenance
  needed in the workflow if the file changes in the future.

Note that the SARIF file for each run is uploaded as a per-package
artifact. These can be downloaded and opened in VS Code with the
SARIF Viewer extension to view issues locally with the ability
to click to issue locations in files.

Signed-off-by: Michael Kubacki <michael.kubacki@microsoft.com>

---

This PR was created automatically by the [repo-file-sync-action](https://github.com/BetaHuhn/repo-file-sync-action) workflow run [#4295514175](https://github.com/microsoft/mu_devops/actions/runs/4295514175)
kenlautner pushed a commit to microsoft/mu_silicon_intel_tiano that referenced this issue May 11, 2023
synced local file(s) with [microsoft/mu_devops](https://github.com/microsoft/mu_devops).

🤖: View the [Repo File Sync Configuration File](https://github.com/microsoft/mu_devops/blob/main/.sync/Files.yml) to see how files are synced.

---

Adds a new workflow that is synced to Mu repos that are
currently expected to run against CodeQL.

This workflow has the following features to support
maintainability across the repos it is synced to:

- The packages are auto discovered and a dynamic matrix
  is generated for each package build. This allows the
  same file to work as-is in each repo that performs
  CI builds (packages are in the repo root directory).

- The Mu Basecore plugin directory is auto discovered
  in the workspace based on the presence of the CodeQL
  plugin being present in the directory.

- The operations supported by the Stuart CI script are
  dynamically discovered.

- CodeQL is only run on Windows agents. There is a known
  issue when building edk2-style code on Linux so this
  avoids encountering that issue.

  See: github/codeql-action#1338

- The Windows CodeQL CLI package is about 260MB at this time.

  The GitHub Action cache is used by this workflow to cache
  the CLI after it is initially pulled down in the Stuart ext
  dep update.

- The CLI ext dep directory name and version used for caching
  are read from the ext_dep YAML file to reduce maintenance
  needed in the workflow if the file changes in the future.

Note that the SARIF file for each run is uploaded as a per-package
artifact. These can be downloaded and opened in VS Code with the
SARIF Viewer extension to view issues locally with the ability
to click to issue locations in files.

Signed-off-by: Michael Kubacki <michael.kubacki@microsoft.com>

---

This PR was created automatically by the [repo-file-sync-action](https://github.com/BetaHuhn/repo-file-sync-action) workflow run [#4295514175](https://github.com/microsoft/mu_devops/actions/runs/4295514175)
kenlautner pushed a commit to microsoft/mu_silicon_intel_tiano that referenced this issue May 11, 2023
synced local file(s) with [microsoft/mu_devops](https://github.com/microsoft/mu_devops).

🤖: View the [Repo File Sync Configuration File](https://github.com/microsoft/mu_devops/blob/main/.sync/Files.yml) to see how files are synced.

---

Adds a new workflow that is synced to Mu repos that are
currently expected to run against CodeQL.

This workflow has the following features to support
maintainability across the repos it is synced to:

- The packages are auto discovered and a dynamic matrix
  is generated for each package build. This allows the
  same file to work as-is in each repo that performs
  CI builds (packages are in the repo root directory).

- The Mu Basecore plugin directory is auto discovered
  in the workspace based on the presence of the CodeQL
  plugin being present in the directory.

- The operations supported by the Stuart CI script are
  dynamically discovered.

- CodeQL is only run on Windows agents. There is a known
  issue when building edk2-style code on Linux so this
  avoids encountering that issue.

  See: github/codeql-action#1338

- The Windows CodeQL CLI package is about 260MB at this time.

  The GitHub Action cache is used by this workflow to cache
  the CLI after it is initially pulled down in the Stuart ext
  dep update.

- The CLI ext dep directory name and version used for caching
  are read from the ext_dep YAML file to reduce maintenance
  needed in the workflow if the file changes in the future.

Note that the SARIF file for each run is uploaded as a per-package
artifact. These can be downloaded and opened in VS Code with the
SARIF Viewer extension to view issues locally with the ability
to click to issue locations in files.

Signed-off-by: Michael Kubacki <michael.kubacki@microsoft.com>

---

This PR was created automatically by the [repo-file-sync-action](https://github.com/BetaHuhn/repo-file-sync-action) workflow run [#4295514175](https://github.com/microsoft/mu_devops/actions/runs/4295514175)
kenlautner pushed a commit to microsoft/mu_silicon_intel_tiano that referenced this issue May 11, 2023
synced local file(s) with [microsoft/mu_devops](https://github.com/microsoft/mu_devops).

🤖: View the [Repo File Sync Configuration File](https://github.com/microsoft/mu_devops/blob/main/.sync/Files.yml) to see how files are synced.

---

Adds a new workflow that is synced to Mu repos that are
currently expected to run against CodeQL.

This workflow has the following features to support
maintainability across the repos it is synced to:

- The packages are auto discovered and a dynamic matrix
  is generated for each package build. This allows the
  same file to work as-is in each repo that performs
  CI builds (packages are in the repo root directory).

- The Mu Basecore plugin directory is auto discovered
  in the workspace based on the presence of the CodeQL
  plugin being present in the directory.

- The operations supported by the Stuart CI script are
  dynamically discovered.

- CodeQL is only run on Windows agents. There is a known
  issue when building edk2-style code on Linux so this
  avoids encountering that issue.

  See: github/codeql-action#1338

- The Windows CodeQL CLI package is about 260MB at this time.

  The GitHub Action cache is used by this workflow to cache
  the CLI after it is initially pulled down in the Stuart ext
  dep update.

- The CLI ext dep directory name and version used for caching
  are read from the ext_dep YAML file to reduce maintenance
  needed in the workflow if the file changes in the future.

Note that the SARIF file for each run is uploaded as a per-package
artifact. These can be downloaded and opened in VS Code with the
SARIF Viewer extension to view issues locally with the ability
to click to issue locations in files.

Signed-off-by: Michael Kubacki <michael.kubacki@microsoft.com>

---

This PR was created automatically by the [repo-file-sync-action](https://github.com/BetaHuhn/repo-file-sync-action) workflow run [#4295514175](https://github.com/microsoft/mu_devops/actions/runs/4295514175)
kenlautner pushed a commit to microsoft/mu_plus that referenced this issue May 14, 2023
synced local file(s) with [microsoft/mu_devops](https://github.com/microsoft/mu_devops).

🤖: View the [Repo File Sync Configuration File](https://github.com/microsoft/mu_devops/blob/main/.sync/Files.yml) to see how files are synced.

---

Adds a new workflow that is synced to Mu repos that are
currently expected to run against CodeQL.

This workflow has the following features to support
maintainability across the repos it is synced to:

- The packages are auto discovered and a dynamic matrix
  is generated for each package build. This allows the
  same file to work as-is in each repo that performs
  CI builds (packages are in the repo root directory).

- The Mu Basecore plugin directory is auto discovered
  in the workspace based on the presence of the CodeQL
  plugin being present in the directory.

- The operations supported by the Stuart CI script are
  dynamically discovered.

- CodeQL is only run on Windows agents. There is a known
  issue when building edk2-style code on Linux so this
  avoids encountering that issue.

  See: github/codeql-action#1338

- The Windows CodeQL CLI package is about 260MB at this time.

  The GitHub Action cache is used by this workflow to cache
  the CLI after it is initially pulled down in the Stuart ext
  dep update.

- The CLI ext dep directory name and version used for caching
  are read from the ext_dep YAML file to reduce maintenance
  needed in the workflow if the file changes in the future.

Note that the SARIF file for each run is uploaded as a per-package
artifact. These can be downloaded and opened in VS Code with the
SARIF Viewer extension to view issues locally with the ability
to click to issue locations in files.

Signed-off-by: Michael Kubacki <michael.kubacki@microsoft.com>

---

This PR was created automatically by the [repo-file-sync-action](https://github.com/BetaHuhn/repo-file-sync-action) workflow run [#4295514175](https://github.com/microsoft/mu_devops/actions/runs/4295514175)
kenlautner pushed a commit to microsoft/mu_common_intel_min_platform that referenced this issue May 15, 2023
synced local file(s) with [microsoft/mu_devops](https://github.com/microsoft/mu_devops).

🤖: View the [Repo File Sync Configuration File](https://github.com/microsoft/mu_devops/blob/main/.sync/Files.yml) to see how files are synced.

---

Adds a new workflow that is synced to Mu repos that are
currently expected to run against CodeQL.

This workflow has the following features to support
maintainability across the repos it is synced to:

- The packages are auto discovered and a dynamic matrix
  is generated for each package build. This allows the
  same file to work as-is in each repo that performs
  CI builds (packages are in the repo root directory).

- The Mu Basecore plugin directory is auto discovered
  in the workspace based on the presence of the CodeQL
  plugin being present in the directory.

- The operations supported by the Stuart CI script are
  dynamically discovered.

- CodeQL is only run on Windows agents. There is a known
  issue when building edk2-style code on Linux so this
  avoids encountering that issue.

  See: github/codeql-action#1338

- The Windows CodeQL CLI package is about 260MB at this time.

  The GitHub Action cache is used by this workflow to cache
  the CLI after it is initially pulled down in the Stuart ext
  dep update.

- The CLI ext dep directory name and version used for caching
  are read from the ext_dep YAML file to reduce maintenance
  needed in the workflow if the file changes in the future.

Note that the SARIF file for each run is uploaded as a per-package
artifact. These can be downloaded and opened in VS Code with the
SARIF Viewer extension to view issues locally with the ability
to click to issue locations in files.

Signed-off-by: Michael Kubacki <michael.kubacki@microsoft.com>

---

This PR was created automatically by the [repo-file-sync-action](https://github.com/BetaHuhn/repo-file-sync-action) workflow run [#4295514175](https://github.com/microsoft/mu_devops/actions/runs/4295514175)
kenlautner pushed a commit to kenlautner/mu_feature_mm_supv that referenced this issue Aug 30, 2023
synced local file(s) with [microsoft/mu_devops](https://github.com/microsoft/mu_devops).

🤖: View the [Repo File Sync Configuration File](https://github.com/microsoft/mu_devops/blob/main/.sync/Files.yml) to see how files are synced.

---

Adds a new workflow that is synced to Mu repos that are
currently expected to run against CodeQL.

This workflow has the following features to support
maintainability across the repos it is synced to:

- The packages are auto discovered and a dynamic matrix
  is generated for each package build. This allows the
  same file to work as-is in each repo that performs
  CI builds (packages are in the repo root directory).

- The Mu Basecore plugin directory is auto discovered
  in the workspace based on the presence of the CodeQL
  plugin being present in the directory.

- The operations supported by the Stuart CI script are
  dynamically discovered.

- CodeQL is only run on Windows agents. There is a known
  issue when building edk2-style code on Linux so this
  avoids encountering that issue.

  See: github/codeql-action#1338

- The Windows CodeQL CLI package is about 260MB at this time.

  The GitHub Action cache is used by this workflow to cache
  the CLI after it is initially pulled down in the Stuart ext
  dep update.

- The CLI ext dep directory name and version used for caching
  are read from the ext_dep YAML file to reduce maintenance
  needed in the workflow if the file changes in the future.

Note that the SARIF file for each run is uploaded as a per-package
artifact. These can be downloaded and opened in VS Code with the
SARIF Viewer extension to view issues locally with the ability
to click to issue locations in files.

Signed-off-by: Michael Kubacki <michael.kubacki@microsoft.com>

---

This PR was created automatically by the [repo-file-sync-action](https://github.com/BetaHuhn/repo-file-sync-action) workflow run [#4295514175](https://github.com/microsoft/mu_devops/actions/runs/4295514175)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants