Skip to content

Commit 429b4c5

Browse files
AlonaHlobinafelicitymayadityasharadhubwriter
authored
Code scanning: Create CodeQL hardware requirements page (#23820)
* Create CodeQL-hardware-requirements.md * Update index.md * Rename CodeQL-hardware-requirements.md to codeql-hardware-requirements.md * Update codeql-hardware-requirements.md * Update configuring-code-scanning.md * Update configuring-code-scanning.md * Update installing-codeql-cli-in-your-ci-system.md * Update content/code-security/code-scanning/automatically-scanning-your-code-for-vulnerabilities-and-errors/codeql-hardware-requirements.md * Apply suggestions from code review * Apply suggestions from code review * Update content/code-security/code-scanning/automatically-scanning-your-code-for-vulnerabilities-and-errors/codeql-hardware-requirements.md * Apply suggestions from code review * Rename file for new article * Update links to renamed file * Add link to article on adding runners * Move link to a better location * Remove previous link, now relocated * Apply suggestions from code review Co-authored-by: hubwriter <hubwriter@github.com> * Update content/code-security/code-scanning/automatically-scanning-your-code-for-vulnerabilities-and-errors/recommended-hardware-resources-for-running-codeql.md Co-authored-by: hubwriter <hubwriter@github.com> * Update content/code-security/code-scanning/using-codeql-code-scanning-with-your-existing-ci-system/installing-codeql-cli-in-your-ci-system.md * Remove redundant meta property * Small editorial changes I couldn't commit in the web UI * Update content/code-security/code-scanning/automatically-scanning-your-code-for-vulnerabilities-and-errors/recommended-hardware-resources-for-running-codeql.md Co-authored-by: Felicity Chapman <felicitymay@github.com> Co-authored-by: Aditya Sharad <6874315+adityasharad@users.noreply.github.com> Co-authored-by: hubwriter <hubwriter@github.com>
1 parent 704db2b commit 429b4c5

4 files changed

Lines changed: 45 additions & 3 deletions

File tree

content/code-security/code-scanning/automatically-scanning-your-code-for-vulnerabilities-and-errors/configuring-code-scanning.md

Lines changed: 11 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -161,6 +161,13 @@ This workflow scans:
161161

162162
If your code requires a specific operating system to compile, you can configure the operating system in your {% data variables.product.prodname_codeql_workflow %}. Edit the value of `jobs.analyze.runs-on` to specify the operating system for the machine that runs your {% data variables.product.prodname_code_scanning %} actions. {% ifversion ghes %}You specify the operating system by using an appropriate label as the second element in a two-element array, after `self-hosted`.{% else %}
163163

164+
``` yaml
165+
jobs:
166+
analyze:
167+
name: Analyze
168+
runs-on: [ubuntu-latest]
169+
```
170+
164171
If you choose to use a self-hosted runner for code scanning, you can specify an operating system by using an appropriate label as the second element in a two-element array, after `self-hosted`.{% endif %}
165172

166173
``` yaml
@@ -170,12 +177,14 @@ jobs:
170177
runs-on: [self-hosted, ubuntu-latest]
171178
```
172179

173-
{% ifversion fpt or ghec %}For more information, see "[About self-hosted runners](/actions/hosting-your-own-runners/about-self-hosted-runners)" and "[Adding self-hosted runners](/actions/hosting-your-own-runners/adding-self-hosted-runners)."{% endif %}
174-
175180
{% data variables.product.prodname_codeql %} {% data variables.product.prodname_code_scanning %} supports the latest versions of Ubuntu, Windows, and macOS. Typical values for this setting are therefore: `ubuntu-latest`, `windows-latest`, and `macos-latest`. For more information, see {% ifversion ghes %}"[Workflow syntax for GitHub Actions](/actions/reference/workflow-syntax-for-github-actions#self-hosted-runners)" and "[Using labels with self-hosted runners](/actions/hosting-your-own-runners/using-labels-with-self-hosted-runners){% else %}"[Workflow syntax for GitHub Actions](/actions/reference/workflow-syntax-for-github-actions#jobsjob_idruns-on){% endif %}."
176181

177182
{% ifversion ghes %}You must ensure that Git is in the PATH variable on your self-hosted runners.{% else %}If you use a self-hosted runner, you must ensure that Git is in the PATH variable.{% endif %}
178183

184+
For more information, see "[About self-hosted runners](/actions/hosting-your-own-runners/about-self-hosted-runners)" and "[Adding self-hosted runners](/actions/hosting-your-own-runners/adding-self-hosted-runners)."
185+
186+
For recommended specifications (RAM, CPU cores, and disk) for running {% data variables.product.prodname_codeql %} analysis{% ifversion not ghes %} on self-hosted machines{% endif %}, see "[Recommended hardware resources for running {% data variables.product.prodname_codeql %}](/code-security/code-scanning/automatically-scanning-your-code-for-vulnerabilities-and-errors/recommended-hardware-resources-for-running-codeql)."
187+
179188
{% ifversion fpt or ghes > 3.1 or ghae or ghec %}
180189
## Specifying the location for {% data variables.product.prodname_codeql %} databases
181190

content/code-security/code-scanning/automatically-scanning-your-code-for-vulnerabilities-and-errors/index.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,7 @@ children:
2222
- /tracking-code-scanning-alerts-in-issues-using-task-lists
2323
- /configuring-code-scanning
2424
- /about-code-scanning-with-codeql
25+
- /recommended-hardware-resources-for-running-codeql
2526
- /configuring-the-codeql-workflow-for-compiled-languages
2627
- /troubleshooting-the-codeql-workflow
2728
- /running-codeql-code-scanning-in-a-container
Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
---
2+
title: Recommended hardware resources for running CodeQL
3+
shortTitle: Hardware resources for CodeQL
4+
intro: 'Recommended specifications (RAM, CPU cores, and disk) for running {% data variables.product.prodname_codeql %} analysis on self-hosted machines, based on the size of your codebase.'
5+
product: '{% data reusables.gated-features.code-scanning %}'
6+
versions:
7+
fpt: '*'
8+
ghes: '*'
9+
ghae: '*'
10+
ghec: '*'
11+
topics:
12+
- Advanced Security
13+
- Code scanning
14+
- CodeQL
15+
- Repositories
16+
- Integration
17+
- CI
18+
19+
---
20+
You can set up {% data variables.product.prodname_codeql %} on {% data variables.product.prodname_actions %} or on an external CI system. {% data variables.product.prodname_codeql %} is fully compatible with {% data variables.product.prodname_dotcom %}-hosted runners on {% data variables.product.prodname_actions %}.
21+
22+
If you're using an external CI system, or self-hosted runners on {% data variables.product.prodname_actions %} for private repositories, you're responsible for configuring your own hardware. The optimal hardware configuration for running {% data variables.product.prodname_codeql %} may vary based on the size and complexity of your codebase, the programming languages and build systems being used, and your CI workflow setup.
23+
24+
The table below provides recommended hardware specifications for running {% data variables.product.prodname_codeql %} analysis, based on the size of your codebase. Use these as a starting point for determining your choice of hardware or virtual machine. A machine with greater resources may improve analysis performance, but may also be more expensive to maintain.
25+
26+
| Codebase size | RAM | CPU |
27+
|--------|--------|--------|
28+
| Small (<100 K lines of code) | 8 GB or higher | 2 cores |
29+
| Medium (100 K to 1 M lines of code) | 16 GB or higher | 4 or 8 cores |
30+
| Large (>1 M lines of code) | 64 GB or higher | 8 cores |
31+
32+
For all codebase sizes, we recommend using an SSD with 14 GB or more of disk space. There must be enough disk space to check out and build your code, plus additional space for data produced by {% data variables.product.prodname_codeql %}.

content/code-security/code-scanning/using-codeql-code-scanning-with-your-existing-ci-system/installing-codeql-cli-in-your-ci-system.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@ redirect_from:
2828

2929
## About using the {% data variables.product.prodname_codeql_cli %} for {% data variables.product.prodname_code_scanning %}
3030

31-
You can use the {% data variables.product.prodname_codeql_cli %} to run {% data variables.product.prodname_code_scanning %} on code that you're processing in a third-party continuous integration (CI) system. {% data reusables.code-scanning.about-code-scanning %} For information, see "[About {% data variables.product.prodname_code_scanning %} with {% data variables.product.prodname_codeql %}](/code-security/secure-coding/automatically-scanning-your-code-for-vulnerabilities-and-errors/about-code-scanning-with-codeql)."
31+
You can use the {% data variables.product.prodname_codeql_cli %} to run {% data variables.product.prodname_code_scanning %} on code that you're processing in a third-party continuous integration (CI) system. {% data reusables.code-scanning.about-code-scanning %} For information, see "[About {% data variables.product.prodname_code_scanning %} with {% data variables.product.prodname_codeql %}](/code-security/secure-coding/automatically-scanning-your-code-for-vulnerabilities-and-errors/about-code-scanning-with-codeql)." For recommended specifications (RAM, CPU cores, and disk) for running {% data variables.product.prodname_codeql %} analysis, see "[Recommended hardware resources for running {% data variables.product.prodname_codeql %}](/code-security/code-scanning/automatically-scanning-your-code-for-vulnerabilities-and-errors/recommended-hardware-resources-for-running-codeql)."
3232

3333
{% data reusables.code-scanning.what-is-codeql-cli %}
3434

0 commit comments

Comments
 (0)