CINXE.COM
CodeQL code scanning for compiled languages - GitHub Docs
<!DOCTYPE html><html data-color-mode="auto" data-light-theme="light" data-dark-theme="dark" lang="en"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="icon" type="image/png" href="/assets/cb-345/images/site/favicon.png"/><link href="/manifest.json" rel="manifest"/><meta name="google-site-verification" content="c1kuD-K2HIVF635lypcsWPoD4kilo5-jA_wBFyT4uMY"/><title>CodeQL code scanning for compiled languages - GitHub Docs</title><meta name="description" content="Understand how CodeQL analyzes compiled languages, the build options available, and learn how you can customize the database generation process if you need to."/><link rel="alternate" hrefLang="zh-Hans" href="https://docs.github.com/zh/code-security/code-scanning/creating-an-advanced-setup-for-code-scanning/codeql-code-scanning-for-compiled-languages"/><link rel="alternate" hrefLang="es" href="https://docs.github.com/es/code-security/code-scanning/creating-an-advanced-setup-for-code-scanning/codeql-code-scanning-for-compiled-languages"/><link rel="alternate" hrefLang="pt" href="https://docs.github.com/pt/code-security/code-scanning/creating-an-advanced-setup-for-code-scanning/codeql-code-scanning-for-compiled-languages"/><link rel="alternate" hrefLang="ru" href="https://docs.github.com/ru/code-security/code-scanning/creating-an-advanced-setup-for-code-scanning/codeql-code-scanning-for-compiled-languages"/><link rel="alternate" hrefLang="ja" href="https://docs.github.com/ja/code-security/code-scanning/creating-an-advanced-setup-for-code-scanning/codeql-code-scanning-for-compiled-languages"/><link rel="alternate" hrefLang="fr" href="https://docs.github.com/fr/code-security/code-scanning/creating-an-advanced-setup-for-code-scanning/codeql-code-scanning-for-compiled-languages"/><link rel="alternate" hrefLang="de" href="https://docs.github.com/de/code-security/code-scanning/creating-an-advanced-setup-for-code-scanning/codeql-code-scanning-for-compiled-languages"/><link rel="alternate" hrefLang="ko" href="https://docs.github.com/ko/code-security/code-scanning/creating-an-advanced-setup-for-code-scanning/codeql-code-scanning-for-compiled-languages"/><meta name="keywords" content="Advanced Security,Code scanning,CodeQL,Actions,Repositories,C/C++,C#,Java,Kotlin"/><meta name="path-language" content="en"/><meta name="path-version" content="free-pro-team@latest"/><meta name="path-product" content="code-security"/><meta name="path-article" content="code-security/code-scanning/creating-an-advanced-setup-for-code-scanning/codeql-code-scanning-for-compiled-languages"/><meta name="page-type" content="how_to"/><meta name="page-document-type" content="article"/><meta name="status" content="200"/><meta property="og:site_name" content="GitHub Docs"/><meta property="og:title" content="CodeQL code scanning for compiled languages - GitHub Docs"/><meta property="og:type" content="article"/><meta property="og:url" content="https://docs.github.com/en/code-security/code-scanning/creating-an-advanced-setup-for-code-scanning/codeql-code-scanning-for-compiled-languages"/><meta property="og:image" content="https://github.githubassets.com/images/modules/open_graph/github-logo.png"/><meta name="next-head-count" content="28"/><link rel="preload" href="/_next/static/css/87cea936052d1d95.css" as="style"/><link rel="stylesheet" href="/_next/static/css/87cea936052d1d95.css" data-n-g=""/><link rel="preload" href="/_next/static/css/66757a3783028467.css" as="style"/><link rel="stylesheet" href="/_next/static/css/66757a3783028467.css" data-n-p=""/><noscript data-n-css=""></noscript><script defer="" nomodule="" src="/_next/static/chunks/polyfills-78c92fac7aa8fdd8.js"></script><script src="/_next/static/chunks/webpack-ec48c0d94b7da59f.js" defer=""></script><script src="/_next/static/chunks/framework-945b357d4a851f4b.js" defer=""></script><script src="/_next/static/chunks/main-c95ae151e287e458.js" defer=""></script><script src="/_next/static/chunks/pages/_app-797fa94dba278176.js" defer=""></script><script src="/_next/static/chunks/727f57db-570e92d04a1cf153.js" defer=""></script><script src="/_next/static/chunks/4432-e0b0889138923fc7.js" defer=""></script><script src="/_next/static/chunks/6066-8d61a14f5f75720a.js" defer=""></script><script src="/_next/static/chunks/5293-274846982f5b82bb.js" defer=""></script><script src="/_next/static/chunks/2689-e7cc4d533fabe066.js" defer=""></script><script src="/_next/static/chunks/9418-89747b124934b544.js" defer=""></script><script src="/_next/static/chunks/5343-0a36d3df57062eb5.js" defer=""></script><script src="/_next/static/chunks/pages/%5BversionId%5D/%5BproductId%5D/%5B...restPage%5D-d93d7776ab1c3347.js" defer=""></script><script src="/_next/static/LU1a4V_oZAzyRc7RojISL/_buildManifest.js" defer=""></script><script src="/_next/static/LU1a4V_oZAzyRc7RojISL/_ssgManifest.js" defer=""></script><style data-styled="" data-styled-version="5.3.5">.cEhRXB{-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;}/*!sc*/ .dmdEgz{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;pointer-events:none;}/*!sc*/ .Ywlla{list-style:none;}/*!sc*/ .hROlum{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;-webkit-box-flex:1;-webkit-flex-grow:1;-ms-flex-positive:1;flex-grow:1;min-width:0;}/*!sc*/ .cUxMoC{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-flex:1;-webkit-flex-grow:1;-ms-flex-positive:1;flex-grow:1;}/*!sc*/ .bmseMA{-webkit-box-flex:1;-webkit-flex-grow:1;-ms-flex-positive:1;flex-grow:1;font-weight:400;word-break:break-word;}/*!sc*/ .lmYNOb{height:20px;-webkit-flex-shrink:0;-ms-flex-negative:0;flex-shrink:0;color:var(--fgColor-muted,var(--color-fg-muted,#656d76));margin-left:8px;font-weight:initial;}/*!sc*/ [data-variant="danger"]:hover .Box-sc-g0xbh4-0,[data-variant="danger"]:active .lmYNOb{color:var(--fgColor-default,var(--color-fg-default,#1F2328));}/*!sc*/ .gMkIpo{padding:0;margin:0;display:none;}/*!sc*/ .gMkIpo *{font-size:14px;}/*!sc*/ .enEvIH{padding:0;margin:0;display:block;}/*!sc*/ .enEvIH *{font-size:14px;}/*!sc*/ .ivpQTm{-webkit-box-flex:1;-webkit-flex-grow:1;-ms-flex-positive:1;flex-grow:1;font-weight:600;word-break:break-word;}/*!sc*/ .eQiQea{grid-area:topper;}/*!sc*/ .ijSsTo{grid-area:intro;}/*!sc*/ .dMdwQg{border-radius:10px;border-style:solid;border-color:var(--borderColor-default,var(--color-border-default,#d0d7de));padding:16px;}/*!sc*/ .giVcWX{-webkit-align-self:flex-start;-ms-flex-item-align:start;align-self:flex-start;grid-area:sidebar;}/*!sc*/ .kohLxz{grid-area:content;}/*!sc*/ data-styled.g3[id="Box-sc-g0xbh4-0"]{content:"cEhRXB,dmdEgz,Ywlla,hROlum,cUxMoC,bmseMA,lmYNOb,gMkIpo,enEvIH,ivpQTm,eQiQea,ijSsTo,dMdwQg,giVcWX,kohLxz,"}/*!sc*/ .hXCKEr{border-radius:6px;border:1px solid;border-color:transparent;font-family:inherit;font-weight:500;font-size:14px;cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;-webkit-text-decoration:none;text-decoration:none;text-align:center;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:justify;-webkit-justify-content:space-between;-ms-flex-pack:justify;justify-content:space-between;height:32px;padding:0 12px;gap:8px;min-width:-webkit-max-content;min-width:-moz-max-content;min-width:max-content;-webkit-transition:80ms cubic-bezier(0.65,0,0.35,1);transition:80ms cubic-bezier(0.65,0,0.35,1);-webkit-transition-property:color,fill,background-color,border-color;transition-property:color,fill,background-color,border-color;color:var(--button-default-fgColor-rest,var(--color-btn-text,#24292f));background-color:transparent;box-shadow:none;}/*!sc*/ .hXCKEr:focus:not(:disabled){box-shadow:none;outline:2px solid var(--fgColor-accent,var(--color-accent-fg,#0969da));outline-offset:-2px;}/*!sc*/ .hXCKEr:focus:not(:disabled):not(:focus-visible){outline:solid 1px transparent;}/*!sc*/ .hXCKEr:focus-visible:not(:disabled){box-shadow:none;outline:2px solid var(--fgColor-accent,var(--color-accent-fg,#0969da));outline-offset:-2px;}/*!sc*/ .hXCKEr[href]{display:-webkit-inline-box;display:-webkit-inline-flex;display:-ms-inline-flexbox;display:inline-flex;}/*!sc*/ .hXCKEr[href]:hover{-webkit-text-decoration:none;text-decoration:none;}/*!sc*/ .hXCKEr:hover{-webkit-transition-duration:80ms;transition-duration:80ms;}/*!sc*/ .hXCKEr:active{-webkit-transition:none;transition:none;}/*!sc*/ .hXCKEr[data-inactive]{cursor:auto;}/*!sc*/ .hXCKEr:disabled{cursor:not-allowed;box-shadow:none;color:var(--fgColor-disabled,var(--color-primer-fg-disabled,#8c959f));}/*!sc*/ .hXCKEr:disabled [data-component=ButtonCounter],.hXCKEr:disabled [data-component="leadingVisual"],.hXCKEr:disabled [data-component="trailingAction"]{color:inherit;}/*!sc*/ @media (forced-colors:active){.hXCKEr:focus{outline:solid 1px transparent;}}/*!sc*/ .hXCKEr [data-component=ButtonCounter]{font-size:12px;}/*!sc*/ .hXCKEr[data-component=IconButton]{display:inline-grid;padding:unset;place-content:center;width:32px;min-width:unset;}/*!sc*/ .hXCKEr[data-size="small"]{padding:0 8px;height:28px;gap:4px;font-size:12px;}/*!sc*/ .hXCKEr[data-size="small"] [data-component="text"]{line-height:calc(20 / 12);}/*!sc*/ .hXCKEr[data-size="small"] [data-component=ButtonCounter]{font-size:12px;}/*!sc*/ .hXCKEr[data-size="small"] [data-component="buttonContent"] > :not(:last-child){margin-right:4px;}/*!sc*/ .hXCKEr[data-size="small"][data-component=IconButton]{width:28px;padding:unset;}/*!sc*/ .hXCKEr[data-size="large"]{padding:0 16px;height:40px;gap:8px;}/*!sc*/ .hXCKEr[data-size="large"] [data-component="buttonContent"] > :not(:last-child){margin-right:8px;}/*!sc*/ .hXCKEr[data-size="large"][data-component=IconButton]{width:40px;padding:unset;}/*!sc*/ .hXCKEr[data-block="block"]{width:100%;}/*!sc*/ .hXCKEr[data-label-wrap="true"]{min-width:-webkit-fit-content;min-width:-moz-fit-content;min-width:fit-content;height:unset;min-height:var(--control-medium-size,2rem);}/*!sc*/ .hXCKEr[data-label-wrap="true"] [data-component="buttonContent"]{-webkit-flex:1 1 auto;-ms-flex:1 1 auto;flex:1 1 auto;-webkit-align-self:stretch;-ms-flex-item-align:stretch;align-self:stretch;padding-block:calc(var(--control-medium-paddingBlock,0.375rem) - 2px);}/*!sc*/ .hXCKEr[data-label-wrap="true"] [data-component="text"]{white-space:unset;word-break:break-word;}/*!sc*/ .hXCKEr[data-label-wrap="true"][data-size="small"]{height:unset;min-height:var(--control-small-size,1.75rem);}/*!sc*/ .hXCKEr[data-label-wrap="true"][data-size="small"] [data-component="buttonContent"]{padding-block:calc(var(--control-small-paddingBlock,0.25rem) - 2px);}/*!sc*/ .hXCKEr[data-label-wrap="true"][data-size="large"]{height:unset;min-height:var(--control-large-size,2.5rem);padding-inline:var(--control-large-paddingInline-spacious,1rem);}/*!sc*/ .hXCKEr[data-label-wrap="true"][data-size="large"] [data-component="buttonContent"]{padding-block:calc(var(--control-large-paddingBlock,0.625rem) - 2px);}/*!sc*/ .hXCKEr[data-inactive]:not([disabled]){background-color:var(--button-inactive-bgColor,var(--button-inactive-bgColor-rest,var(--color-btn-inactive-bg,#eaeef2)));border-color:var(--button-inactive-bgColor,var(--button-inactive-bgColor-rest,var(--color-btn-inactive-bg,#eaeef2)));color:var(--button-inactive-fgColor,var(--button-inactive-fgColor-rest,var(--color-btn-inactive-text,#57606a)));}/*!sc*/ .hXCKEr[data-inactive]:not([disabled]):focus-visible{box-shadow:none;}/*!sc*/ .hXCKEr [data-component="leadingVisual"]{grid-area:leadingVisual;color:var(--fgColor-muted,var(--color-fg-muted,#656d76));}/*!sc*/ .hXCKEr [data-component="text"]{grid-area:text;line-height:calc(20/14);white-space:nowrap;}/*!sc*/ .hXCKEr [data-component="trailingVisual"]{grid-area:trailingVisual;}/*!sc*/ .hXCKEr [data-component="trailingAction"]{margin-right:-4px;color:var(--fgColor-muted,var(--color-fg-muted,#656d76));}/*!sc*/ .hXCKEr [data-component="buttonContent"]{-webkit-flex:1 0 auto;-ms-flex:1 0 auto;flex:1 0 auto;display:grid;grid-template-areas:"leadingVisual text trailingVisual";grid-template-columns:min-content minmax(0,auto) min-content;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-align-content:center;-ms-flex-line-pack:center;align-content:center;}/*!sc*/ .hXCKEr [data-component="buttonContent"] > :not(:last-child){margin-right:8px;}/*!sc*/ .hXCKEr [data-component="loadingSpinner"]{grid-area:text;margin-right:0px !important;place-self:center;}/*!sc*/ .hXCKEr [data-component="loadingSpinner"] + [data-component="text"]{visibility:hidden;}/*!sc*/ .hXCKEr:hover:not([disabled]){background-color:var(--control-transparent-bgColor-hover,var(--color-action-list-item-default-hover-bg,rgba(208,215,222,0.32)));}/*!sc*/ .hXCKEr:active:not([disabled]){background-color:var(--control-transparent-bgColor-active,var(--color-action-list-item-default-active-bg,rgba(208,215,222,0.48)));}/*!sc*/ .hXCKEr[aria-expanded=true]{background-color:var(--control-transparent-bgColor-selected,var(--color-action-list-item-default-selected-bg,rgba(208,215,222,0.24)));}/*!sc*/ .hXCKEr[data-component="IconButton"][data-no-visuals]{color:var(--fgColor-muted,var(--color-fg-muted,#656d76));}/*!sc*/ .hXCKEr[data-no-visuals]{color:var(--fgColor-accent,var(--color-accent-fg,#0969da));}/*!sc*/ .hXCKEr:has([data-component="ButtonCounter"]){color:var(--button-default-fgColor-rest,var(--color-btn-text,#24292f));}/*!sc*/ .hXCKEr:disabled[data-no-visuals]{color:var(--fgColor-disabled,var(--color-primer-fg-disabled,#8c959f));}/*!sc*/ .hXCKEr:disabled[data-no-visuals] [data-component=ButtonCounter]{color:inherit;}/*!sc*/ .hXCKEr{height:auto;text-align:left;}/*!sc*/ .hXCKEr span:first-child{display:inline;}/*!sc*/ .jOdgLl{border-radius:6px;border:1px solid;border-color:var(--button-default-borderColor-rest,var(--button-default-borderColor-rest,var(--color-btn-border,rgba(31,35,40,0.15))));font-family:inherit;font-weight:500;font-size:14px;cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;-webkit-text-decoration:none;text-decoration:none;text-align:center;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:justify;-webkit-justify-content:space-between;-ms-flex-pack:justify;justify-content:space-between;height:32px;padding:0 12px;gap:8px;min-width:-webkit-max-content;min-width:-moz-max-content;min-width:max-content;-webkit-transition:80ms cubic-bezier(0.65,0,0.35,1);transition:80ms cubic-bezier(0.65,0,0.35,1);-webkit-transition-property:color,fill,background-color,border-color;transition-property:color,fill,background-color,border-color;color:var(--button-default-fgColor-rest,var(--color-btn-text,#24292f));background-color:var(--button-default-bgColor-rest,var(--color-btn-bg,#f6f8fa));box-shadow:var(--button-default-shadow-resting,var(--color-btn-shadow,0 1px 0 rgba(31,35,40,0.04))),var(--button-default-shadow-inset,var(--color-btn-inset-shadow,inset 0 1px 0 rgba(255,255,255,0.25)));}/*!sc*/ .jOdgLl:focus:not(:disabled){box-shadow:none;outline:2px solid var(--fgColor-accent,var(--color-accent-fg,#0969da));outline-offset:-2px;}/*!sc*/ .jOdgLl:focus:not(:disabled):not(:focus-visible){outline:solid 1px transparent;}/*!sc*/ .jOdgLl:focus-visible:not(:disabled){box-shadow:none;outline:2px solid var(--fgColor-accent,var(--color-accent-fg,#0969da));outline-offset:-2px;}/*!sc*/ .jOdgLl[href]{display:-webkit-inline-box;display:-webkit-inline-flex;display:-ms-inline-flexbox;display:inline-flex;}/*!sc*/ .jOdgLl[href]:hover{-webkit-text-decoration:none;text-decoration:none;}/*!sc*/ .jOdgLl:hover{-webkit-transition-duration:80ms;transition-duration:80ms;}/*!sc*/ .jOdgLl:active{-webkit-transition:none;transition:none;}/*!sc*/ .jOdgLl[data-inactive]{cursor:auto;}/*!sc*/ .jOdgLl:disabled{cursor:not-allowed;box-shadow:none;color:var(--fgColor-disabled,var(--color-primer-fg-disabled,#8c959f));border-color:var(--button-default-borderColor-disabled,var(--button-default-borderColor-rest,var(--color-btn-border,rgba(31,35,40,0.15))));background-color:var(--button-default-bgColor-disabled,var(--control-bgColor-disabled,var(--color-input-disabled-bg,rgba(175,184,193,0.2))));}/*!sc*/ .jOdgLl:disabled [data-component=ButtonCounter]{color:inherit;}/*!sc*/ @media (forced-colors:active){.jOdgLl:focus{outline:solid 1px transparent;}}/*!sc*/ .jOdgLl [data-component=ButtonCounter]{font-size:12px;background-color:var(--buttonCounter-default-bgColor-rest,var(--color-btn-counter-bg,rgba(31,35,40,0.08)));}/*!sc*/ .jOdgLl[data-component=IconButton]{display:inline-grid;padding:unset;place-content:center;width:32px;min-width:unset;}/*!sc*/ .jOdgLl[data-size="small"]{padding:0 8px;height:28px;gap:4px;font-size:12px;}/*!sc*/ .jOdgLl[data-size="small"] [data-component="text"]{line-height:calc(20 / 12);}/*!sc*/ .jOdgLl[data-size="small"] [data-component=ButtonCounter]{font-size:12px;}/*!sc*/ .jOdgLl[data-size="small"] [data-component="buttonContent"] > :not(:last-child){margin-right:4px;}/*!sc*/ .jOdgLl[data-size="small"][data-component=IconButton]{width:28px;padding:unset;}/*!sc*/ .jOdgLl[data-size="large"]{padding:0 16px;height:40px;gap:8px;}/*!sc*/ .jOdgLl[data-size="large"] [data-component="buttonContent"] > :not(:last-child){margin-right:8px;}/*!sc*/ .jOdgLl[data-size="large"][data-component=IconButton]{width:40px;padding:unset;}/*!sc*/ .jOdgLl[data-block="block"]{width:100%;}/*!sc*/ .jOdgLl[data-label-wrap="true"]{min-width:-webkit-fit-content;min-width:-moz-fit-content;min-width:fit-content;height:unset;min-height:var(--control-medium-size,2rem);}/*!sc*/ .jOdgLl[data-label-wrap="true"] [data-component="buttonContent"]{-webkit-flex:1 1 auto;-ms-flex:1 1 auto;flex:1 1 auto;-webkit-align-self:stretch;-ms-flex-item-align:stretch;align-self:stretch;padding-block:calc(var(--control-medium-paddingBlock,0.375rem) - 2px);}/*!sc*/ .jOdgLl[data-label-wrap="true"] [data-component="text"]{white-space:unset;word-break:break-word;}/*!sc*/ .jOdgLl[data-label-wrap="true"][data-size="small"]{height:unset;min-height:var(--control-small-size,1.75rem);}/*!sc*/ .jOdgLl[data-label-wrap="true"][data-size="small"] [data-component="buttonContent"]{padding-block:calc(var(--control-small-paddingBlock,0.25rem) - 2px);}/*!sc*/ .jOdgLl[data-label-wrap="true"][data-size="large"]{height:unset;min-height:var(--control-large-size,2.5rem);padding-inline:var(--control-large-paddingInline-spacious,1rem);}/*!sc*/ .jOdgLl[data-label-wrap="true"][data-size="large"] [data-component="buttonContent"]{padding-block:calc(var(--control-large-paddingBlock,0.625rem) - 2px);}/*!sc*/ .jOdgLl[data-inactive]:not([disabled]){background-color:var(--button-inactive-bgColor,var(--button-inactive-bgColor-rest,var(--color-btn-inactive-bg,#eaeef2)));border-color:var(--button-inactive-bgColor,var(--button-inactive-bgColor-rest,var(--color-btn-inactive-bg,#eaeef2)));color:var(--button-inactive-fgColor,var(--button-inactive-fgColor-rest,var(--color-btn-inactive-text,#57606a)));}/*!sc*/ .jOdgLl[data-inactive]:not([disabled]):focus-visible{box-shadow:none;}/*!sc*/ .jOdgLl [data-component="leadingVisual"]{grid-area:leadingVisual;}/*!sc*/ .jOdgLl [data-component="text"]{grid-area:text;line-height:calc(20/14);white-space:nowrap;}/*!sc*/ .jOdgLl [data-component="trailingVisual"]{grid-area:trailingVisual;}/*!sc*/ .jOdgLl [data-component="trailingAction"]{margin-right:-4px;}/*!sc*/ .jOdgLl [data-component="buttonContent"]{-webkit-flex:1 0 auto;-ms-flex:1 0 auto;flex:1 0 auto;display:grid;grid-template-areas:"leadingVisual text trailingVisual";grid-template-columns:min-content minmax(0,auto) min-content;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-align-content:center;-ms-flex-line-pack:center;align-content:center;}/*!sc*/ .jOdgLl [data-component="buttonContent"] > :not(:last-child){margin-right:8px;}/*!sc*/ .jOdgLl [data-component="loadingSpinner"]{grid-area:text;margin-right:0px !important;place-self:center;}/*!sc*/ .jOdgLl [data-component="loadingSpinner"] + [data-component="text"]{visibility:hidden;}/*!sc*/ .jOdgLl:hover:not([disabled]):not([data-inactive]){background-color:var(--button-default-bgColor-hover,var(--color-btn-hover-bg,#f3f4f6));border-color:var(--button-default-borderColor-hover,var(--button-default-borderColor-hover,var(--color-btn-hover-border,rgba(31,35,40,0.15))));}/*!sc*/ .jOdgLl:active:not([disabled]):not([data-inactive]){background-color:var(--button-default-bgColor-active,var(--color-btn-active-bg,hsla(220,14%,93%,1)));border-color:var(--button-default-borderColor-active,var(--button-default-borderColor-active,var(--color-btn-active-border,rgba(31,35,40,0.15))));}/*!sc*/ .jOdgLl[aria-expanded=true]{background-color:var(--button-default-bgColor-active,var(--color-btn-active-bg,hsla(220,14%,93%,1)));border-color:var(--button-default-borderColor-active,var(--button-default-borderColor-active,var(--color-btn-active-border,rgba(31,35,40,0.15))));}/*!sc*/ .jOdgLl [data-component="leadingVisual"],.jOdgLl [data-component="trailingVisual"],.jOdgLl [data-component="trailingAction"]{color:var(--button-color,var(--fgColor-muted,var(--color-fg-muted,#656d76)));}/*!sc*/ .jOdgLl[data-component="IconButton"][data-no-visuals]{color:var(--fgColor-muted,var(--color-fg-muted,#656d76));}/*!sc*/ .jOdgLl[data-no-visuals]{border-top-left-radius:unset;border-bottom-left-radius:unset;}/*!sc*/ .hmWbvh{border-radius:6px;border:1px solid;border-color:var(--button-default-borderColor-rest,var(--button-default-borderColor-rest,var(--color-btn-border,rgba(31,35,40,0.15))));font-family:inherit;font-weight:500;font-size:14px;cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;-webkit-text-decoration:none;text-decoration:none;text-align:center;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:justify;-webkit-justify-content:space-between;-ms-flex-pack:justify;justify-content:space-between;height:32px;padding:0 12px;gap:8px;min-width:-webkit-max-content;min-width:-moz-max-content;min-width:max-content;-webkit-transition:80ms cubic-bezier(0.65,0,0.35,1);transition:80ms cubic-bezier(0.65,0,0.35,1);-webkit-transition-property:color,fill,background-color,border-color;transition-property:color,fill,background-color,border-color;color:var(--button-default-fgColor-rest,var(--color-btn-text,#24292f));background-color:var(--button-default-bgColor-rest,var(--color-btn-bg,#f6f8fa));box-shadow:var(--button-default-shadow-resting,var(--color-btn-shadow,0 1px 0 rgba(31,35,40,0.04))),var(--button-default-shadow-inset,var(--color-btn-inset-shadow,inset 0 1px 0 rgba(255,255,255,0.25)));}/*!sc*/ .hmWbvh:focus:not(:disabled){box-shadow:none;outline:2px solid var(--fgColor-accent,var(--color-accent-fg,#0969da));outline-offset:-2px;}/*!sc*/ .hmWbvh:focus:not(:disabled):not(:focus-visible){outline:solid 1px transparent;}/*!sc*/ .hmWbvh:focus-visible:not(:disabled){box-shadow:none;outline:2px solid var(--fgColor-accent,var(--color-accent-fg,#0969da));outline-offset:-2px;}/*!sc*/ .hmWbvh[href]{display:-webkit-inline-box;display:-webkit-inline-flex;display:-ms-inline-flexbox;display:inline-flex;}/*!sc*/ .hmWbvh[href]:hover{-webkit-text-decoration:none;text-decoration:none;}/*!sc*/ .hmWbvh:hover{-webkit-transition-duration:80ms;transition-duration:80ms;}/*!sc*/ .hmWbvh:active{-webkit-transition:none;transition:none;}/*!sc*/ .hmWbvh[data-inactive]{cursor:auto;}/*!sc*/ .hmWbvh:disabled{cursor:not-allowed;box-shadow:none;color:var(--fgColor-disabled,var(--color-primer-fg-disabled,#8c959f));border-color:var(--button-default-borderColor-disabled,var(--button-default-borderColor-rest,var(--color-btn-border,rgba(31,35,40,0.15))));background-color:var(--button-default-bgColor-disabled,var(--control-bgColor-disabled,var(--color-input-disabled-bg,rgba(175,184,193,0.2))));}/*!sc*/ .hmWbvh:disabled [data-component=ButtonCounter]{color:inherit;}/*!sc*/ @media (forced-colors:active){.hmWbvh:focus{outline:solid 1px transparent;}}/*!sc*/ .hmWbvh [data-component=ButtonCounter]{font-size:12px;background-color:var(--buttonCounter-default-bgColor-rest,var(--color-btn-counter-bg,rgba(31,35,40,0.08)));}/*!sc*/ .hmWbvh[data-component=IconButton]{display:inline-grid;padding:unset;place-content:center;width:32px;min-width:unset;}/*!sc*/ .hmWbvh[data-size="small"]{padding:0 8px;height:28px;gap:4px;font-size:12px;}/*!sc*/ .hmWbvh[data-size="small"] [data-component="text"]{line-height:calc(20 / 12);}/*!sc*/ .hmWbvh[data-size="small"] [data-component=ButtonCounter]{font-size:12px;}/*!sc*/ .hmWbvh[data-size="small"] [data-component="buttonContent"] > :not(:last-child){margin-right:4px;}/*!sc*/ .hmWbvh[data-size="small"][data-component=IconButton]{width:28px;padding:unset;}/*!sc*/ .hmWbvh[data-size="large"]{padding:0 16px;height:40px;gap:8px;}/*!sc*/ .hmWbvh[data-size="large"] [data-component="buttonContent"] > :not(:last-child){margin-right:8px;}/*!sc*/ .hmWbvh[data-size="large"][data-component=IconButton]{width:40px;padding:unset;}/*!sc*/ .hmWbvh[data-block="block"]{width:100%;}/*!sc*/ .hmWbvh[data-label-wrap="true"]{min-width:-webkit-fit-content;min-width:-moz-fit-content;min-width:fit-content;height:unset;min-height:var(--control-medium-size,2rem);}/*!sc*/ .hmWbvh[data-label-wrap="true"] [data-component="buttonContent"]{-webkit-flex:1 1 auto;-ms-flex:1 1 auto;flex:1 1 auto;-webkit-align-self:stretch;-ms-flex-item-align:stretch;align-self:stretch;padding-block:calc(var(--control-medium-paddingBlock,0.375rem) - 2px);}/*!sc*/ .hmWbvh[data-label-wrap="true"] [data-component="text"]{white-space:unset;word-break:break-word;}/*!sc*/ .hmWbvh[data-label-wrap="true"][data-size="small"]{height:unset;min-height:var(--control-small-size,1.75rem);}/*!sc*/ .hmWbvh[data-label-wrap="true"][data-size="small"] [data-component="buttonContent"]{padding-block:calc(var(--control-small-paddingBlock,0.25rem) - 2px);}/*!sc*/ .hmWbvh[data-label-wrap="true"][data-size="large"]{height:unset;min-height:var(--control-large-size,2.5rem);padding-inline:var(--control-large-paddingInline-spacious,1rem);}/*!sc*/ .hmWbvh[data-label-wrap="true"][data-size="large"] [data-component="buttonContent"]{padding-block:calc(var(--control-large-paddingBlock,0.625rem) - 2px);}/*!sc*/ .hmWbvh[data-inactive]:not([disabled]){background-color:var(--button-inactive-bgColor,var(--button-inactive-bgColor-rest,var(--color-btn-inactive-bg,#eaeef2)));border-color:var(--button-inactive-bgColor,var(--button-inactive-bgColor-rest,var(--color-btn-inactive-bg,#eaeef2)));color:var(--button-inactive-fgColor,var(--button-inactive-fgColor-rest,var(--color-btn-inactive-text,#57606a)));}/*!sc*/ .hmWbvh[data-inactive]:not([disabled]):focus-visible{box-shadow:none;}/*!sc*/ .hmWbvh [data-component="leadingVisual"]{grid-area:leadingVisual;}/*!sc*/ .hmWbvh [data-component="text"]{grid-area:text;line-height:calc(20/14);white-space:nowrap;}/*!sc*/ .hmWbvh [data-component="trailingVisual"]{grid-area:trailingVisual;}/*!sc*/ .hmWbvh [data-component="trailingAction"]{margin-right:-4px;}/*!sc*/ .hmWbvh [data-component="buttonContent"]{-webkit-flex:1 0 auto;-ms-flex:1 0 auto;flex:1 0 auto;display:grid;grid-template-areas:"leadingVisual text trailingVisual";grid-template-columns:min-content minmax(0,auto) min-content;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-align-content:center;-ms-flex-line-pack:center;align-content:center;}/*!sc*/ .hmWbvh [data-component="buttonContent"] > :not(:last-child){margin-right:8px;}/*!sc*/ .hmWbvh [data-component="loadingSpinner"]{grid-area:text;margin-right:0px !important;place-self:center;}/*!sc*/ .hmWbvh [data-component="loadingSpinner"] + [data-component="text"]{visibility:hidden;}/*!sc*/ .hmWbvh:hover:not([disabled]):not([data-inactive]){background-color:var(--button-default-bgColor-hover,var(--color-btn-hover-bg,#f3f4f6));border-color:var(--button-default-borderColor-hover,var(--button-default-borderColor-hover,var(--color-btn-hover-border,rgba(31,35,40,0.15))));}/*!sc*/ .hmWbvh:active:not([disabled]):not([data-inactive]){background-color:var(--button-default-bgColor-active,var(--color-btn-active-bg,hsla(220,14%,93%,1)));border-color:var(--button-default-borderColor-active,var(--button-default-borderColor-active,var(--color-btn-active-border,rgba(31,35,40,0.15))));}/*!sc*/ .hmWbvh[aria-expanded=true]{background-color:var(--button-default-bgColor-active,var(--color-btn-active-bg,hsla(220,14%,93%,1)));border-color:var(--button-default-borderColor-active,var(--button-default-borderColor-active,var(--color-btn-active-border,rgba(31,35,40,0.15))));}/*!sc*/ .hmWbvh [data-component="leadingVisual"],.hmWbvh [data-component="trailingVisual"],.hmWbvh [data-component="trailingAction"]{color:var(--button-color,var(--fgColor-muted,var(--color-fg-muted,#656d76)));}/*!sc*/ .hmWbvh[data-component="IconButton"][data-no-visuals]{color:var(--fgColor-muted,var(--color-fg-muted,#656d76));}/*!sc*/ .lkeyoI{border-radius:6px;border:1px solid;border-color:var(--button-default-borderColor-rest,var(--button-default-borderColor-rest,var(--color-btn-border,rgba(31,35,40,0.15))));font-family:inherit;font-weight:500;font-size:14px;cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;-webkit-text-decoration:none;text-decoration:none;text-align:center;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:justify;-webkit-justify-content:space-between;-ms-flex-pack:justify;justify-content:space-between;height:32px;padding:0 12px;gap:8px;min-width:-webkit-max-content;min-width:-moz-max-content;min-width:max-content;-webkit-transition:80ms cubic-bezier(0.65,0,0.35,1);transition:80ms cubic-bezier(0.65,0,0.35,1);-webkit-transition-property:color,fill,background-color,border-color;transition-property:color,fill,background-color,border-color;color:var(--button-default-fgColor-rest,var(--color-btn-text,#24292f));background-color:var(--button-default-bgColor-rest,var(--color-btn-bg,#f6f8fa));box-shadow:var(--button-default-shadow-resting,var(--color-btn-shadow,0 1px 0 rgba(31,35,40,0.04))),var(--button-default-shadow-inset,var(--color-btn-inset-shadow,inset 0 1px 0 rgba(255,255,255,0.25)));}/*!sc*/ .lkeyoI:focus:not(:disabled){box-shadow:none;outline:2px solid var(--fgColor-accent,var(--color-accent-fg,#0969da));outline-offset:-2px;}/*!sc*/ .lkeyoI:focus:not(:disabled):not(:focus-visible){outline:solid 1px transparent;}/*!sc*/ .lkeyoI:focus-visible:not(:disabled){box-shadow:none;outline:2px solid var(--fgColor-accent,var(--color-accent-fg,#0969da));outline-offset:-2px;}/*!sc*/ .lkeyoI[href]{display:-webkit-inline-box;display:-webkit-inline-flex;display:-ms-inline-flexbox;display:inline-flex;}/*!sc*/ .lkeyoI[href]:hover{-webkit-text-decoration:none;text-decoration:none;}/*!sc*/ .lkeyoI:hover{-webkit-transition-duration:80ms;transition-duration:80ms;}/*!sc*/ .lkeyoI:active{-webkit-transition:none;transition:none;}/*!sc*/ .lkeyoI[data-inactive]{cursor:auto;}/*!sc*/ .lkeyoI:disabled{cursor:not-allowed;box-shadow:none;color:var(--fgColor-disabled,var(--color-primer-fg-disabled,#8c959f));border-color:var(--button-default-borderColor-disabled,var(--button-default-borderColor-rest,var(--color-btn-border,rgba(31,35,40,0.15))));background-color:var(--button-default-bgColor-disabled,var(--control-bgColor-disabled,var(--color-input-disabled-bg,rgba(175,184,193,0.2))));}/*!sc*/ .lkeyoI:disabled [data-component=ButtonCounter]{color:inherit;}/*!sc*/ @media (forced-colors:active){.lkeyoI:focus{outline:solid 1px transparent;}}/*!sc*/ .lkeyoI [data-component=ButtonCounter]{font-size:12px;background-color:var(--buttonCounter-default-bgColor-rest,var(--color-btn-counter-bg,rgba(31,35,40,0.08)));}/*!sc*/ .lkeyoI[data-component=IconButton]{display:inline-grid;padding:unset;place-content:center;width:32px;min-width:unset;}/*!sc*/ .lkeyoI[data-size="small"]{padding:0 8px;height:28px;gap:4px;font-size:12px;}/*!sc*/ .lkeyoI[data-size="small"] [data-component="text"]{line-height:calc(20 / 12);}/*!sc*/ .lkeyoI[data-size="small"] [data-component=ButtonCounter]{font-size:12px;}/*!sc*/ .lkeyoI[data-size="small"] [data-component="buttonContent"] > :not(:last-child){margin-right:4px;}/*!sc*/ .lkeyoI[data-size="small"][data-component=IconButton]{width:28px;padding:unset;}/*!sc*/ .lkeyoI[data-size="large"]{padding:0 16px;height:40px;gap:8px;}/*!sc*/ .lkeyoI[data-size="large"] [data-component="buttonContent"] > :not(:last-child){margin-right:8px;}/*!sc*/ .lkeyoI[data-size="large"][data-component=IconButton]{width:40px;padding:unset;}/*!sc*/ .lkeyoI[data-block="block"]{width:100%;}/*!sc*/ .lkeyoI[data-label-wrap="true"]{min-width:-webkit-fit-content;min-width:-moz-fit-content;min-width:fit-content;height:unset;min-height:var(--control-medium-size,2rem);}/*!sc*/ .lkeyoI[data-label-wrap="true"] [data-component="buttonContent"]{-webkit-flex:1 1 auto;-ms-flex:1 1 auto;flex:1 1 auto;-webkit-align-self:stretch;-ms-flex-item-align:stretch;align-self:stretch;padding-block:calc(var(--control-medium-paddingBlock,0.375rem) - 2px);}/*!sc*/ .lkeyoI[data-label-wrap="true"] [data-component="text"]{white-space:unset;word-break:break-word;}/*!sc*/ .lkeyoI[data-label-wrap="true"][data-size="small"]{height:unset;min-height:var(--control-small-size,1.75rem);}/*!sc*/ .lkeyoI[data-label-wrap="true"][data-size="small"] [data-component="buttonContent"]{padding-block:calc(var(--control-small-paddingBlock,0.25rem) - 2px);}/*!sc*/ .lkeyoI[data-label-wrap="true"][data-size="large"]{height:unset;min-height:var(--control-large-size,2.5rem);padding-inline:var(--control-large-paddingInline-spacious,1rem);}/*!sc*/ .lkeyoI[data-label-wrap="true"][data-size="large"] [data-component="buttonContent"]{padding-block:calc(var(--control-large-paddingBlock,0.625rem) - 2px);}/*!sc*/ .lkeyoI[data-inactive]:not([disabled]){background-color:var(--button-inactive-bgColor,var(--button-inactive-bgColor-rest,var(--color-btn-inactive-bg,#eaeef2)));border-color:var(--button-inactive-bgColor,var(--button-inactive-bgColor-rest,var(--color-btn-inactive-bg,#eaeef2)));color:var(--button-inactive-fgColor,var(--button-inactive-fgColor-rest,var(--color-btn-inactive-text,#57606a)));}/*!sc*/ .lkeyoI[data-inactive]:not([disabled]):focus-visible{box-shadow:none;}/*!sc*/ .lkeyoI [data-component="leadingVisual"]{grid-area:leadingVisual;}/*!sc*/ .lkeyoI [data-component="text"]{grid-area:text;line-height:calc(20/14);white-space:nowrap;}/*!sc*/ .lkeyoI [data-component="trailingVisual"]{grid-area:trailingVisual;}/*!sc*/ .lkeyoI [data-component="trailingAction"]{margin-right:-4px;}/*!sc*/ .lkeyoI [data-component="buttonContent"]{-webkit-flex:1 0 auto;-ms-flex:1 0 auto;flex:1 0 auto;display:grid;grid-template-areas:"leadingVisual text trailingVisual";grid-template-columns:min-content minmax(0,auto) min-content;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-align-content:center;-ms-flex-line-pack:center;align-content:center;}/*!sc*/ .lkeyoI [data-component="buttonContent"] > :not(:last-child){margin-right:8px;}/*!sc*/ .lkeyoI [data-component="loadingSpinner"]{grid-area:text;margin-right:0px !important;place-self:center;}/*!sc*/ .lkeyoI [data-component="loadingSpinner"] + [data-component="text"]{visibility:hidden;}/*!sc*/ .lkeyoI:hover:not([disabled]):not([data-inactive]){background-color:var(--button-default-bgColor-hover,var(--color-btn-hover-bg,#f3f4f6));border-color:var(--button-default-borderColor-hover,var(--button-default-borderColor-hover,var(--color-btn-hover-border,rgba(31,35,40,0.15))));}/*!sc*/ .lkeyoI:active:not([disabled]):not([data-inactive]){background-color:var(--button-default-bgColor-active,var(--color-btn-active-bg,hsla(220,14%,93%,1)));border-color:var(--button-default-borderColor-active,var(--button-default-borderColor-active,var(--color-btn-active-border,rgba(31,35,40,0.15))));}/*!sc*/ .lkeyoI[aria-expanded=true]{background-color:var(--button-default-bgColor-active,var(--color-btn-active-bg,hsla(220,14%,93%,1)));border-color:var(--button-default-borderColor-active,var(--button-default-borderColor-active,var(--color-btn-active-border,rgba(31,35,40,0.15))));}/*!sc*/ .lkeyoI [data-component="leadingVisual"],.lkeyoI [data-component="trailingVisual"],.lkeyoI [data-component="trailingAction"]{color:var(--button-color,var(--fgColor-muted,var(--color-fg-muted,#656d76)));}/*!sc*/ .lkeyoI[data-component="IconButton"][data-no-visuals]{color:var(--fgColor-muted,var(--color-fg-muted,#656d76));}/*!sc*/ .lkeyoI[data-no-visuals]{display:none;}/*!sc*/ .htZXvk{border-radius:6px;border:1px solid;border-color:var(--button-default-borderColor-rest,var(--button-default-borderColor-rest,var(--color-btn-border,rgba(31,35,40,0.15))));font-family:inherit;font-weight:500;font-size:14px;cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;-webkit-text-decoration:none;text-decoration:none;text-align:center;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:justify;-webkit-justify-content:space-between;-ms-flex-pack:justify;justify-content:space-between;height:32px;padding:0 12px;gap:8px;min-width:-webkit-max-content;min-width:-moz-max-content;min-width:max-content;-webkit-transition:80ms cubic-bezier(0.65,0,0.35,1);transition:80ms cubic-bezier(0.65,0,0.35,1);-webkit-transition-property:color,fill,background-color,border-color;transition-property:color,fill,background-color,border-color;color:var(--button-default-fgColor-rest,var(--color-btn-text,#24292f));background-color:var(--button-default-bgColor-rest,var(--color-btn-bg,#f6f8fa));box-shadow:var(--button-default-shadow-resting,var(--color-btn-shadow,0 1px 0 rgba(31,35,40,0.04))),var(--button-default-shadow-inset,var(--color-btn-inset-shadow,inset 0 1px 0 rgba(255,255,255,0.25)));}/*!sc*/ .htZXvk:focus:not(:disabled){box-shadow:none;outline:2px solid var(--fgColor-accent,var(--color-accent-fg,#0969da));outline-offset:-2px;}/*!sc*/ .htZXvk:focus:not(:disabled):not(:focus-visible){outline:solid 1px transparent;}/*!sc*/ .htZXvk:focus-visible:not(:disabled){box-shadow:none;outline:2px solid var(--fgColor-accent,var(--color-accent-fg,#0969da));outline-offset:-2px;}/*!sc*/ .htZXvk[href]{display:-webkit-inline-box;display:-webkit-inline-flex;display:-ms-inline-flexbox;display:inline-flex;}/*!sc*/ .htZXvk[href]:hover{-webkit-text-decoration:none;text-decoration:none;}/*!sc*/ .htZXvk:hover{-webkit-transition-duration:80ms;transition-duration:80ms;}/*!sc*/ .htZXvk:active{-webkit-transition:none;transition:none;}/*!sc*/ .htZXvk[data-inactive]{cursor:auto;}/*!sc*/ .htZXvk:disabled{cursor:not-allowed;box-shadow:none;color:var(--fgColor-disabled,var(--color-primer-fg-disabled,#8c959f));border-color:var(--button-default-borderColor-disabled,var(--button-default-borderColor-rest,var(--color-btn-border,rgba(31,35,40,0.15))));background-color:var(--button-default-bgColor-disabled,var(--control-bgColor-disabled,var(--color-input-disabled-bg,rgba(175,184,193,0.2))));}/*!sc*/ .htZXvk:disabled [data-component=ButtonCounter]{color:inherit;}/*!sc*/ @media (forced-colors:active){.htZXvk:focus{outline:solid 1px transparent;}}/*!sc*/ .htZXvk [data-component=ButtonCounter]{font-size:12px;background-color:var(--buttonCounter-default-bgColor-rest,var(--color-btn-counter-bg,rgba(31,35,40,0.08)));}/*!sc*/ .htZXvk[data-component=IconButton]{display:inline-grid;padding:unset;place-content:center;width:32px;min-width:unset;}/*!sc*/ .htZXvk[data-size="small"]{padding:0 8px;height:28px;gap:4px;font-size:12px;}/*!sc*/ .htZXvk[data-size="small"] [data-component="text"]{line-height:calc(20 / 12);}/*!sc*/ .htZXvk[data-size="small"] [data-component=ButtonCounter]{font-size:12px;}/*!sc*/ .htZXvk[data-size="small"] [data-component="buttonContent"] > :not(:last-child){margin-right:4px;}/*!sc*/ .htZXvk[data-size="small"][data-component=IconButton]{width:28px;padding:unset;}/*!sc*/ .htZXvk[data-size="large"]{padding:0 16px;height:40px;gap:8px;}/*!sc*/ .htZXvk[data-size="large"] [data-component="buttonContent"] > :not(:last-child){margin-right:8px;}/*!sc*/ .htZXvk[data-size="large"][data-component=IconButton]{width:40px;padding:unset;}/*!sc*/ .htZXvk[data-block="block"]{width:100%;}/*!sc*/ .htZXvk[data-label-wrap="true"]{min-width:-webkit-fit-content;min-width:-moz-fit-content;min-width:fit-content;height:unset;min-height:var(--control-medium-size,2rem);}/*!sc*/ .htZXvk[data-label-wrap="true"] [data-component="buttonContent"]{-webkit-flex:1 1 auto;-ms-flex:1 1 auto;flex:1 1 auto;-webkit-align-self:stretch;-ms-flex-item-align:stretch;align-self:stretch;padding-block:calc(var(--control-medium-paddingBlock,0.375rem) - 2px);}/*!sc*/ .htZXvk[data-label-wrap="true"] [data-component="text"]{white-space:unset;word-break:break-word;}/*!sc*/ .htZXvk[data-label-wrap="true"][data-size="small"]{height:unset;min-height:var(--control-small-size,1.75rem);}/*!sc*/ .htZXvk[data-label-wrap="true"][data-size="small"] [data-component="buttonContent"]{padding-block:calc(var(--control-small-paddingBlock,0.25rem) - 2px);}/*!sc*/ .htZXvk[data-label-wrap="true"][data-size="large"]{height:unset;min-height:var(--control-large-size,2.5rem);padding-inline:var(--control-large-paddingInline-spacious,1rem);}/*!sc*/ .htZXvk[data-label-wrap="true"][data-size="large"] [data-component="buttonContent"]{padding-block:calc(var(--control-large-paddingBlock,0.625rem) - 2px);}/*!sc*/ .htZXvk[data-inactive]:not([disabled]){background-color:var(--button-inactive-bgColor,var(--button-inactive-bgColor-rest,var(--color-btn-inactive-bg,#eaeef2)));border-color:var(--button-inactive-bgColor,var(--button-inactive-bgColor-rest,var(--color-btn-inactive-bg,#eaeef2)));color:var(--button-inactive-fgColor,var(--button-inactive-fgColor-rest,var(--color-btn-inactive-text,#57606a)));}/*!sc*/ .htZXvk[data-inactive]:not([disabled]):focus-visible{box-shadow:none;}/*!sc*/ .htZXvk [data-component="leadingVisual"]{grid-area:leadingVisual;}/*!sc*/ .htZXvk [data-component="text"]{grid-area:text;line-height:calc(20/14);white-space:nowrap;}/*!sc*/ .htZXvk [data-component="trailingVisual"]{grid-area:trailingVisual;}/*!sc*/ .htZXvk [data-component="trailingAction"]{margin-right:-4px;}/*!sc*/ .htZXvk [data-component="buttonContent"]{-webkit-flex:1 0 auto;-ms-flex:1 0 auto;flex:1 0 auto;display:grid;grid-template-areas:"leadingVisual text trailingVisual";grid-template-columns:min-content minmax(0,auto) min-content;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-align-content:center;-ms-flex-line-pack:center;align-content:center;}/*!sc*/ .htZXvk [data-component="buttonContent"] > :not(:last-child){margin-right:8px;}/*!sc*/ .htZXvk [data-component="loadingSpinner"]{grid-area:text;margin-right:0px !important;place-self:center;}/*!sc*/ .htZXvk [data-component="loadingSpinner"] + [data-component="text"]{visibility:hidden;}/*!sc*/ .htZXvk:hover:not([disabled]):not([data-inactive]){background-color:var(--button-default-bgColor-hover,var(--color-btn-hover-bg,#f3f4f6));border-color:var(--button-default-borderColor-hover,var(--button-default-borderColor-hover,var(--color-btn-hover-border,rgba(31,35,40,0.15))));}/*!sc*/ .htZXvk:active:not([disabled]):not([data-inactive]){background-color:var(--button-default-bgColor-active,var(--color-btn-active-bg,hsla(220,14%,93%,1)));border-color:var(--button-default-borderColor-active,var(--button-default-borderColor-active,var(--color-btn-active-border,rgba(31,35,40,0.15))));}/*!sc*/ .htZXvk[aria-expanded=true]{background-color:var(--button-default-bgColor-active,var(--color-btn-active-bg,hsla(220,14%,93%,1)));border-color:var(--button-default-borderColor-active,var(--button-default-borderColor-active,var(--color-btn-active-border,rgba(31,35,40,0.15))));}/*!sc*/ .htZXvk [data-component="leadingVisual"],.htZXvk [data-component="trailingVisual"],.htZXvk [data-component="trailingAction"]{color:var(--button-color,var(--fgColor-muted,var(--color-fg-muted,#656d76)));}/*!sc*/ .htZXvk[data-component="IconButton"][data-no-visuals]{color:var(--fgColor-muted,var(--color-fg-muted,#656d76));}/*!sc*/ .htZXvk[data-no-visuals]{margin-left:16px;}/*!sc*/ @media (min-width:768px){.htZXvk[data-no-visuals]{margin-left:0;}}/*!sc*/ @media (min-width:1012px){.htZXvk[data-no-visuals]{display:none;}}/*!sc*/ .jCopKa{border-radius:6px;border:1px solid;border-color:transparent;font-family:inherit;font-weight:500;font-size:14px;cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;-webkit-text-decoration:none;text-decoration:none;text-align:center;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:justify;-webkit-justify-content:space-between;-ms-flex-pack:justify;justify-content:space-between;height:32px;padding:0 12px;gap:8px;min-width:-webkit-max-content;min-width:-moz-max-content;min-width:max-content;-webkit-transition:80ms cubic-bezier(0.65,0,0.35,1);transition:80ms cubic-bezier(0.65,0,0.35,1);-webkit-transition-property:color,fill,background-color,border-color;transition-property:color,fill,background-color,border-color;color:var(--button-default-fgColor-rest,var(--color-btn-text,#24292f));background-color:transparent;box-shadow:none;}/*!sc*/ .jCopKa:focus:not(:disabled){box-shadow:none;outline:2px solid var(--fgColor-accent,var(--color-accent-fg,#0969da));outline-offset:-2px;}/*!sc*/ .jCopKa:focus:not(:disabled):not(:focus-visible){outline:solid 1px transparent;}/*!sc*/ .jCopKa:focus-visible:not(:disabled){box-shadow:none;outline:2px solid var(--fgColor-accent,var(--color-accent-fg,#0969da));outline-offset:-2px;}/*!sc*/ .jCopKa[href]{display:-webkit-inline-box;display:-webkit-inline-flex;display:-ms-inline-flexbox;display:inline-flex;}/*!sc*/ .jCopKa[href]:hover{-webkit-text-decoration:none;text-decoration:none;}/*!sc*/ .jCopKa:hover{-webkit-transition-duration:80ms;transition-duration:80ms;}/*!sc*/ .jCopKa:active{-webkit-transition:none;transition:none;}/*!sc*/ .jCopKa[data-inactive]{cursor:auto;}/*!sc*/ .jCopKa:disabled{cursor:not-allowed;box-shadow:none;color:var(--fgColor-disabled,var(--color-primer-fg-disabled,#8c959f));}/*!sc*/ .jCopKa:disabled [data-component=ButtonCounter],.jCopKa:disabled [data-component="leadingVisual"],.jCopKa:disabled [data-component="trailingAction"]{color:inherit;}/*!sc*/ @media (forced-colors:active){.jCopKa:focus{outline:solid 1px transparent;}}/*!sc*/ .jCopKa [data-component=ButtonCounter]{font-size:12px;}/*!sc*/ .jCopKa[data-component=IconButton]{display:inline-grid;padding:unset;place-content:center;width:32px;min-width:unset;}/*!sc*/ .jCopKa[data-size="small"]{padding:0 8px;height:28px;gap:4px;font-size:12px;}/*!sc*/ .jCopKa[data-size="small"] [data-component="text"]{line-height:calc(20 / 12);}/*!sc*/ .jCopKa[data-size="small"] [data-component=ButtonCounter]{font-size:12px;}/*!sc*/ .jCopKa[data-size="small"] [data-component="buttonContent"] > :not(:last-child){margin-right:4px;}/*!sc*/ .jCopKa[data-size="small"][data-component=IconButton]{width:28px;padding:unset;}/*!sc*/ .jCopKa[data-size="large"]{padding:0 16px;height:40px;gap:8px;}/*!sc*/ .jCopKa[data-size="large"] [data-component="buttonContent"] > :not(:last-child){margin-right:8px;}/*!sc*/ .jCopKa[data-size="large"][data-component=IconButton]{width:40px;padding:unset;}/*!sc*/ .jCopKa[data-block="block"]{width:100%;}/*!sc*/ .jCopKa[data-label-wrap="true"]{min-width:-webkit-fit-content;min-width:-moz-fit-content;min-width:fit-content;height:unset;min-height:var(--control-medium-size,2rem);}/*!sc*/ .jCopKa[data-label-wrap="true"] [data-component="buttonContent"]{-webkit-flex:1 1 auto;-ms-flex:1 1 auto;flex:1 1 auto;-webkit-align-self:stretch;-ms-flex-item-align:stretch;align-self:stretch;padding-block:calc(var(--control-medium-paddingBlock,0.375rem) - 2px);}/*!sc*/ .jCopKa[data-label-wrap="true"] [data-component="text"]{white-space:unset;word-break:break-word;}/*!sc*/ .jCopKa[data-label-wrap="true"][data-size="small"]{height:unset;min-height:var(--control-small-size,1.75rem);}/*!sc*/ .jCopKa[data-label-wrap="true"][data-size="small"] [data-component="buttonContent"]{padding-block:calc(var(--control-small-paddingBlock,0.25rem) - 2px);}/*!sc*/ .jCopKa[data-label-wrap="true"][data-size="large"]{height:unset;min-height:var(--control-large-size,2.5rem);padding-inline:var(--control-large-paddingInline-spacious,1rem);}/*!sc*/ .jCopKa[data-label-wrap="true"][data-size="large"] [data-component="buttonContent"]{padding-block:calc(var(--control-large-paddingBlock,0.625rem) - 2px);}/*!sc*/ .jCopKa[data-inactive]:not([disabled]){background-color:var(--button-inactive-bgColor,var(--button-inactive-bgColor-rest,var(--color-btn-inactive-bg,#eaeef2)));border-color:var(--button-inactive-bgColor,var(--button-inactive-bgColor-rest,var(--color-btn-inactive-bg,#eaeef2)));color:var(--button-inactive-fgColor,var(--button-inactive-fgColor-rest,var(--color-btn-inactive-text,#57606a)));}/*!sc*/ .jCopKa[data-inactive]:not([disabled]):focus-visible{box-shadow:none;}/*!sc*/ .jCopKa [data-component="leadingVisual"]{grid-area:leadingVisual;color:var(--fgColor-muted,var(--color-fg-muted,#656d76));}/*!sc*/ .jCopKa [data-component="text"]{grid-area:text;line-height:calc(20/14);white-space:nowrap;}/*!sc*/ .jCopKa [data-component="trailingVisual"]{grid-area:trailingVisual;}/*!sc*/ .jCopKa [data-component="trailingAction"]{margin-right:-4px;color:var(--fgColor-muted,var(--color-fg-muted,#656d76));}/*!sc*/ .jCopKa [data-component="buttonContent"]{-webkit-flex:1 0 auto;-ms-flex:1 0 auto;flex:1 0 auto;display:grid;grid-template-areas:"leadingVisual text trailingVisual";grid-template-columns:min-content minmax(0,auto) min-content;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-align-content:center;-ms-flex-line-pack:center;align-content:center;}/*!sc*/ .jCopKa [data-component="buttonContent"] > :not(:last-child){margin-right:8px;}/*!sc*/ .jCopKa [data-component="loadingSpinner"]{grid-area:text;margin-right:0px !important;place-self:center;}/*!sc*/ .jCopKa [data-component="loadingSpinner"] + [data-component="text"]{visibility:hidden;}/*!sc*/ .jCopKa:hover:not([disabled]){background-color:var(--control-transparent-bgColor-hover,var(--color-action-list-item-default-hover-bg,rgba(208,215,222,0.32)));}/*!sc*/ .jCopKa:active:not([disabled]){background-color:var(--control-transparent-bgColor-active,var(--color-action-list-item-default-active-bg,rgba(208,215,222,0.48)));}/*!sc*/ .jCopKa[aria-expanded=true]{background-color:var(--control-transparent-bgColor-selected,var(--color-action-list-item-default-selected-bg,rgba(208,215,222,0.24)));}/*!sc*/ .jCopKa[data-component="IconButton"][data-no-visuals]{color:var(--fgColor-muted,var(--color-fg-muted,#656d76));}/*!sc*/ .jCopKa[data-no-visuals]{color:var(--fgColor-accent,var(--color-accent-fg,#0969da));}/*!sc*/ .jCopKa:has([data-component="ButtonCounter"]){color:var(--button-default-fgColor-rest,var(--color-btn-text,#24292f));}/*!sc*/ .jCopKa:disabled[data-no-visuals]{color:var(--fgColor-disabled,var(--color-primer-fg-disabled,#8c959f));}/*!sc*/ .jCopKa:disabled[data-no-visuals] [data-component=ButtonCounter]{color:inherit;}/*!sc*/ data-styled.g4[id="types__StyledButton-sc-ws60qy-0"]{content:"hXCKEr,jOdgLl,hmWbvh,lkeyoI,htZXvk,jCopKa,"}/*!sc*/ .eiGLpS{display:none;}/*!sc*/ .eiGLpS[popover]{position:absolute;padding:0.5em 0.75em;width:-webkit-max-content;width:-moz-max-content;width:max-content;margin:auto;-webkit-clip:auto;clip:auto;white-space:normal;font:normal normal 11px/1.5 -apple-system,BlinkMacSystemFont,"Segoe UI","Noto Sans",Helvetica,Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji";-webkit-font-smoothing:subpixel-antialiased;color:var(--fgColor-onEmphasis,var(--color-fg-on-emphasis,#ffffff));text-align:center;word-wrap:break-word;background:var(--bgColor-emphasis,var(--color-neutral-emphasis-plus,#24292f));border-radius:6px;border:0;opacity:0;max-width:250px;inset:auto;overflow:visible;}/*!sc*/ .eiGLpS[popover]:popover-open{display:block;}/*!sc*/ .eiGLpS[popover].\:popover-open{display:block;}/*!sc*/ @media (forced-colors:active){.eiGLpS{outline:1px solid transparent;}}/*!sc*/ .eiGLpS::after{position:absolute;display:block;right:0;left:0;height:var(--overlay-offset,0.25rem);content:'';}/*!sc*/ .eiGLpS[data-direction='n']::after,.eiGLpS[data-direction='ne']::after,.eiGLpS[data-direction='nw']::after{top:100%;}/*!sc*/ .eiGLpS[data-direction='s']::after,.eiGLpS[data-direction='se']::after,.eiGLpS[data-direction='sw']::after{bottom:100%;}/*!sc*/ .eiGLpS[data-direction='w']::after{position:absolute;display:block;height:100%;width:8px;content:'';bottom:0;left:100%;}/*!sc*/ .eiGLpS[data-direction='e']::after{position:absolute;display:block;height:100%;width:8px;content:'';bottom:0;right:100%;margin-left:-8px;}/*!sc*/ @-webkit-keyframes tooltip-appear{from{opacity:0;}to{opacity:1;}}/*!sc*/ @keyframes tooltip-appear{from{opacity:0;}to{opacity:1;}}/*!sc*/ .eiGLpS:popover-open,.eiGLpS:popover-open::before{-webkit-animation-name:tooltip-appear;animation-name:tooltip-appear;-webkit-animation-duration:0.1s;animation-duration:0.1s;-webkit-animation-fill-mode:forwards;animation-fill-mode:forwards;-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in;-webkit-animation-delay:0s;animation-delay:0s;}/*!sc*/ .eiGLpS.\:popover-open,.eiGLpS.\:popover-open::before{-webkit-animation-name:tooltip-appear;animation-name:tooltip-appear;-webkit-animation-duration:0.1s;animation-duration:0.1s;-webkit-animation-fill-mode:forwards;animation-fill-mode:forwards;-webkit-animation-timing-function:ease-in;animation-timing-function:ease-in;-webkit-animation-delay:0s;animation-delay:0s;}/*!sc*/ data-styled.g8[id="Tooltip__StyledTooltip-sc-e45c7z-0"]{content:"eiGLpS,"}/*!sc*/ .daAEFx{-webkit-transform:rotate(0deg);-ms-transform:rotate(0deg);transform:rotate(0deg);}/*!sc*/ .gzcJGA{-webkit-transform:rotate(180deg);-ms-transform:rotate(180deg);transform:rotate(180deg);}/*!sc*/ data-styled.g11[id="Octicon-sc-9kayk9-0"]{content:"daAEFx,gzcJGA,"}/*!sc*/ .bebFBv{font-weight:600;font-size:32px;margin:0;font-size:14px;}/*!sc*/ @media (min-width:1012px) and (max-width:1400px){.bebFBv{margin-top:2rem;}}/*!sc*/ data-styled.g28[id="Heading__StyledHeading-sc-1c1dgg0-0"]{content:"bebFBv,"}/*!sc*/ .hgjakc{margin:0;padding-inline-start:0;padding-top:8px;padding-bottom:8px;}/*!sc*/ data-styled.g29[id="List__ListBox-sc-1x7olzq-0"]{content:"hgjakc,"}/*!sc*/ .itjSOb{position:relative;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;padding-left:8px;padding-right:8px;padding-top:6px;padding-bottom:6px;line-height:20px;min-height:5px;margin-left:8px;margin-right:8px;border-radius:6px;-webkit-transition:background 33.333ms linear;transition:background 33.333ms linear;color:var(--fgColor-default,var(--color-fg-default,#1F2328));cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;background:unset;border:unset;width:calc(100% - 16px);font-family:unset;text-align:unset;margin-top:unset;margin-bottom:unset;}/*!sc*/ .itjSOb[data-loading]{cursor:default;}/*!sc*/ .itjSOb[aria-disabled],.itjSOb[data-inactive]{cursor:not-allowed;}/*!sc*/ .itjSOb[aria-disabled] [data-component="ActionList.Checkbox"],.itjSOb[data-inactive] [data-component="ActionList.Checkbox"]{cursor:not-allowed;background-color:var(--color-input-disabled-bg,rgba(175,184,193,0.2));border-color:var(--color-input-disabled-bg,rgba(175,184,193,0.2));}/*!sc*/ @media (forced-colors:active){.itjSOb:focus,.itjSOb:focus-visible,.itjSOb > a.focus-visible{outline:solid 1px transparent !important;}}/*!sc*/ .itjSOb [data-component="ActionList.Item--DividerContainer"]{position:relative;}/*!sc*/ .itjSOb [data-component="ActionList.Item--DividerContainer"]::before{content:" ";display:block;position:absolute;width:100%;top:-7px;border:0 solid;border-top-width:0;border-color:var(--divider-color,transparent);}/*!sc*/ .itjSOb:not(:first-of-type){--divider-color:var(--borderColor-muted,var(--color-action-list-item-inline-divider,rgba(208,215,222,0.48)));}/*!sc*/ [data-component="ActionList.Divider"] + .Item__LiBox-sc-yeql7o-0{--divider-color:transparent !important;}/*!sc*/ .itjSOb:hover:not([aria-disabled]):not([data-inactive]):not([data-loading]),.itjSOb[data-focus-visible-added]:not([aria-disabled]):not([data-inactive]){--divider-color:transparent;}/*!sc*/ .itjSOb:hover:not([aria-disabled]):not([data-inactive]):not([data-loading]) + .Item__LiBox-sc-yeql7o-0,.itjSOb[data-focus-visible-added] + li{--divider-color:transparent;}/*!sc*/ @media (hover:hover) and (pointer:fine){.itjSOb:hover:not([aria-disabled]):not([data-inactive]){background-color:var(--control-transparent-bgColor-hover,var(--color-action-list-item-default-hover-bg,rgba(208,215,222,0.32)));color:var(--fgColor-default,var(--color-fg-default,#1F2328));box-shadow:inset 0 0 0 max(1px,0.0625rem) var(--control-transparent-borderColor-active,var(--color-action-list-item-default-active-border,transparent));}.itjSOb:focus-visible,.itjSOb > a.focus-visible,.itjSOb:focus.focus-visible{outline:none;border:2 solid;box-shadow:0 0 0 2px var(--bgColor-accent-emphasis,var(--color-accent-emphasis,#0969da));}.itjSOb:active:not([aria-disabled]):not([data-inactive]){background-color:var(--control-transparent-bgColor-active,var(--color-action-list-item-default-active-bg,rgba(208,215,222,0.48)));color:var(--fgColor-default,var(--color-fg-default,#1F2328));}}/*!sc*/ .lnYQME{position:relative;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;padding-left:0;padding-right:0;font-size:14px;padding-top:0;padding-bottom:0;line-height:20px;min-height:5px;margin-left:8px;margin-right:8px;border-radius:6px;-webkit-transition:background 33.333ms linear;transition:background 33.333ms linear;color:var(--fgColor-default,var(--color-fg-default,#1F2328));cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;background:unset;border:unset;width:calc(100% - 16px);font-family:unset;text-align:unset;margin-top:unset;margin-bottom:unset;}/*!sc*/ .lnYQME[data-loading]{cursor:default;}/*!sc*/ .lnYQME[aria-disabled],.lnYQME[data-inactive]{cursor:not-allowed;}/*!sc*/ .lnYQME[aria-disabled] [data-component="ActionList.Checkbox"],.lnYQME[data-inactive] [data-component="ActionList.Checkbox"]{cursor:not-allowed;background-color:var(--color-input-disabled-bg,rgba(175,184,193,0.2));border-color:var(--color-input-disabled-bg,rgba(175,184,193,0.2));}/*!sc*/ @media (forced-colors:active){.lnYQME:focus,.lnYQME:focus-visible,.lnYQME > a.focus-visible{outline:solid 1px transparent !important;}}/*!sc*/ .lnYQME [data-component="ActionList.Item--DividerContainer"]{position:relative;}/*!sc*/ .lnYQME [data-component="ActionList.Item--DividerContainer"]::before{content:" ";display:block;position:absolute;width:100%;top:-7px;border:0 solid;border-top-width:0;border-color:var(--divider-color,transparent);}/*!sc*/ .lnYQME:not(:first-of-type){--divider-color:var(--borderColor-muted,var(--color-action-list-item-inline-divider,rgba(208,215,222,0.48)));}/*!sc*/ [data-component="ActionList.Divider"] + .Item__LiBox-sc-yeql7o-0{--divider-color:transparent !important;}/*!sc*/ .lnYQME:hover:not([aria-disabled]):not([data-inactive]):not([data-loading]),.lnYQME[data-focus-visible-added]:not([aria-disabled]):not([data-inactive]){--divider-color:transparent;}/*!sc*/ .lnYQME:hover:not([aria-disabled]):not([data-inactive]):not([data-loading]) + .Item__LiBox-sc-yeql7o-0,.lnYQME[data-focus-visible-added] + li{--divider-color:transparent;}/*!sc*/ @media (hover:hover) and (pointer:fine){.lnYQME:hover:not([aria-disabled]):not([data-inactive]){background-color:var(--control-transparent-bgColor-hover,var(--color-action-list-item-default-hover-bg,rgba(208,215,222,0.32)));color:var(--fgColor-default,var(--color-fg-default,#1F2328));box-shadow:inset 0 0 0 max(1px,0.0625rem) var(--control-transparent-borderColor-active,var(--color-action-list-item-default-active-border,transparent));}.lnYQME:focus-visible,.lnYQME > a.focus-visible,.lnYQME:focus.focus-visible{outline:none;border:2 solid;box-shadow:0 0 0 2px var(--bgColor-accent-emphasis,var(--color-accent-emphasis,#0969da));}.lnYQME:active:not([aria-disabled]):not([data-inactive]){background-color:var(--control-transparent-bgColor-active,var(--color-action-list-item-default-active-bg,rgba(208,215,222,0.48)));color:var(--fgColor-default,var(--color-fg-default,#1F2328));}}/*!sc*/ .kXKjOF{position:relative;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;padding-left:16px;padding-right:8px;font-size:12px;padding-top:6px;padding-bottom:6px;line-height:20px;min-height:5px;margin-left:8px;margin-right:8px;border-radius:6px;-webkit-transition:background 33.333ms linear;transition:background 33.333ms linear;color:var(--fgColor-default,var(--color-fg-default,#1F2328));cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;background:unset;border:unset;width:calc(100% - 16px);font-family:unset;text-align:unset;margin-top:unset;margin-bottom:unset;}/*!sc*/ .kXKjOF[data-loading]{cursor:default;}/*!sc*/ .kXKjOF[aria-disabled],.kXKjOF[data-inactive]{cursor:not-allowed;}/*!sc*/ .kXKjOF[aria-disabled] [data-component="ActionList.Checkbox"],.kXKjOF[data-inactive] [data-component="ActionList.Checkbox"]{cursor:not-allowed;background-color:var(--color-input-disabled-bg,rgba(175,184,193,0.2));border-color:var(--color-input-disabled-bg,rgba(175,184,193,0.2));}/*!sc*/ @media (forced-colors:active){.kXKjOF:focus,.kXKjOF:focus-visible,.kXKjOF > a.focus-visible{outline:solid 1px transparent !important;}}/*!sc*/ .kXKjOF [data-component="ActionList.Item--DividerContainer"]{position:relative;}/*!sc*/ .kXKjOF [data-component="ActionList.Item--DividerContainer"]::before{content:" ";display:block;position:absolute;width:100%;top:-7px;border:0 solid;border-top-width:0;border-color:var(--divider-color,transparent);}/*!sc*/ .kXKjOF:not(:first-of-type){--divider-color:var(--borderColor-muted,var(--color-action-list-item-inline-divider,rgba(208,215,222,0.48)));}/*!sc*/ [data-component="ActionList.Divider"] + .Item__LiBox-sc-yeql7o-0{--divider-color:transparent !important;}/*!sc*/ .kXKjOF:hover:not([aria-disabled]):not([data-inactive]):not([data-loading]),.kXKjOF[data-focus-visible-added]:not([aria-disabled]):not([data-inactive]){--divider-color:transparent;}/*!sc*/ .kXKjOF:hover:not([aria-disabled]):not([data-inactive]):not([data-loading]) + .Item__LiBox-sc-yeql7o-0,.kXKjOF[data-focus-visible-added] + li{--divider-color:transparent;}/*!sc*/ @media (hover:hover) and (pointer:fine){.kXKjOF:hover:not([aria-disabled]):not([data-inactive]){background-color:var(--control-transparent-bgColor-hover,var(--color-action-list-item-default-hover-bg,rgba(208,215,222,0.32)));color:var(--fgColor-default,var(--color-fg-default,#1F2328));box-shadow:inset 0 0 0 max(1px,0.0625rem) var(--control-transparent-borderColor-active,var(--color-action-list-item-default-active-border,transparent));}.kXKjOF:focus-visible,.kXKjOF > a.focus-visible,.kXKjOF:focus.focus-visible{outline:none;border:2 solid;box-shadow:0 0 0 2px var(--bgColor-accent-emphasis,var(--color-accent-emphasis,#0969da));}.kXKjOF:active:not([aria-disabled]):not([data-inactive]){background-color:var(--control-transparent-bgColor-active,var(--color-action-list-item-default-active-bg,rgba(208,215,222,0.48)));color:var(--fgColor-default,var(--color-fg-default,#1F2328));}}/*!sc*/ .hTSEii{position:relative;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;padding-left:0;padding-right:0;font-size:14px;padding-top:0;padding-bottom:0;line-height:20px;min-height:5px;margin-left:8px;margin-right:8px;border-radius:6px;-webkit-transition:background 33.333ms linear;transition:background 33.333ms linear;color:var(--fgColor-default,var(--color-fg-default,#1F2328));cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;background:unset;border:unset;width:calc(100% - 16px);font-family:unset;text-align:unset;margin-top:unset;margin-bottom:unset;font-weight:600;background-color:var(--control-transparent-bgColor-selected,var(--color-action-list-item-default-selected-bg,rgba(208,215,222,0.24)));}/*!sc*/ .hTSEii[data-loading]{cursor:default;}/*!sc*/ .hTSEii[aria-disabled],.hTSEii[data-inactive]{cursor:not-allowed;}/*!sc*/ .hTSEii[aria-disabled] [data-component="ActionList.Checkbox"],.hTSEii[data-inactive] [data-component="ActionList.Checkbox"]{cursor:not-allowed;background-color:var(--color-input-disabled-bg,rgba(175,184,193,0.2));border-color:var(--color-input-disabled-bg,rgba(175,184,193,0.2));}/*!sc*/ @media (forced-colors:active){.hTSEii:focus,.hTSEii:focus-visible,.hTSEii > a.focus-visible{outline:solid 1px transparent !important;}}/*!sc*/ .hTSEii [data-component="ActionList.Item--DividerContainer"]{position:relative;}/*!sc*/ .hTSEii [data-component="ActionList.Item--DividerContainer"]::before{content:" ";display:block;position:absolute;width:100%;top:-7px;border:0 solid;border-top-width:0;border-color:var(--divider-color,transparent);}/*!sc*/ .hTSEii:not(:first-of-type){--divider-color:var(--borderColor-muted,var(--color-action-list-item-inline-divider,rgba(208,215,222,0.48)));}/*!sc*/ [data-component="ActionList.Divider"] + .Item__LiBox-sc-yeql7o-0{--divider-color:transparent !important;}/*!sc*/ .hTSEii:hover:not([aria-disabled]):not([data-inactive]):not([data-loading]),.hTSEii[data-focus-visible-added]:not([aria-disabled]):not([data-inactive]){--divider-color:transparent;}/*!sc*/ .hTSEii:hover:not([aria-disabled]):not([data-inactive]):not([data-loading]) + .Item__LiBox-sc-yeql7o-0,.hTSEii[data-focus-visible-added] + li{--divider-color:transparent;}/*!sc*/ .hTSEii::after{position:absolute;top:calc(50% - 12px);left:-8px;width:4px;height:24px;content:"";background-color:var(--fgColor-accent,var(--color-accent-fg,#0969da));border-radius:6px;}/*!sc*/ @media (hover:hover) and (pointer:fine){.hTSEii:hover:not([aria-disabled]):not([data-inactive]){background-color:var(--control-transparent-bgColor-hover,var(--color-action-list-item-default-hover-bg,rgba(208,215,222,0.32)));color:var(--fgColor-default,var(--color-fg-default,#1F2328));box-shadow:inset 0 0 0 max(1px,0.0625rem) var(--control-transparent-borderColor-active,var(--color-action-list-item-default-active-border,transparent));}.hTSEii:focus-visible,.hTSEii > a.focus-visible,.hTSEii:focus.focus-visible{outline:none;border:2 solid;box-shadow:0 0 0 2px var(--bgColor-accent-emphasis,var(--color-accent-emphasis,#0969da));}.hTSEii:active:not([aria-disabled]):not([data-inactive]){background-color:var(--control-transparent-bgColor-active,var(--color-action-list-item-default-active-bg,rgba(208,215,222,0.48)));color:var(--fgColor-default,var(--color-fg-default,#1F2328));}}/*!sc*/ data-styled.g31[id="Item__LiBox-sc-yeql7o-0"]{content:"itjSOb,lnYQME,kXKjOF,hTSEii,"}/*!sc*/ .fuIgwR{color:var(--fgColor-accent,var(--color-accent-fg,#0969da));-webkit-text-decoration:none;text-decoration:none;padding-left:16px;padding-right:8px;padding-top:6px;padding-bottom:6px;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-flex:1;-webkit-flex-grow:1;-ms-flex-positive:1;flex-grow:1;border-radius:6px;color:inherit;font-size:12px;font-weight:400;}/*!sc*/ [data-a11y-link-underlines='true'] .Link__StyledLink-sc-14289xe-0[data-inline='true']{-webkit-text-decoration:underline;text-decoration:underline;}/*!sc*/ .fuIgwR:hover{-webkit-text-decoration:underline;text-decoration:underline;}/*!sc*/ .fuIgwR:is(button){display:inline-block;padding:0;font-size:inherit;white-space:nowrap;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;background-color:transparent;border:0;-webkit-appearance:none;-moz-appearance:none;appearance:none;}/*!sc*/ .fuIgwR:hover{color:inherit;-webkit-text-decoration:none;text-decoration:none;}/*!sc*/ .dibTck{color:var(--fgColor-accent,var(--color-accent-fg,#0969da));-webkit-text-decoration:none;text-decoration:none;padding-left:24px;padding-right:8px;padding-top:6px;padding-bottom:6px;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-flex:1;-webkit-flex-grow:1;-ms-flex-positive:1;flex-grow:1;border-radius:6px;color:inherit;font-size:12px;font-weight:400;}/*!sc*/ [data-a11y-link-underlines='true'] .Link__StyledLink-sc-14289xe-0[data-inline='true']{-webkit-text-decoration:underline;text-decoration:underline;}/*!sc*/ .dibTck:hover{-webkit-text-decoration:underline;text-decoration:underline;}/*!sc*/ .dibTck:is(button){display:inline-block;padding:0;font-size:inherit;white-space:nowrap;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;background-color:transparent;border:0;-webkit-appearance:none;-moz-appearance:none;appearance:none;}/*!sc*/ .dibTck:hover{color:inherit;-webkit-text-decoration:none;text-decoration:none;}/*!sc*/ .cJbOew{color:var(--fgColor-accent,var(--color-accent-fg,#0969da));-webkit-text-decoration:none;text-decoration:none;padding-left:8px;padding-right:8px;padding-top:6px;padding-bottom:6px;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-flex:1;-webkit-flex-grow:1;-ms-flex-positive:1;flex-grow:1;border-radius:6px;color:inherit;}/*!sc*/ [data-a11y-link-underlines='true'] .Link__StyledLink-sc-14289xe-0[data-inline='true']{-webkit-text-decoration:underline;text-decoration:underline;}/*!sc*/ .cJbOew:hover{-webkit-text-decoration:underline;text-decoration:underline;}/*!sc*/ .cJbOew:is(button){display:inline-block;padding:0;font-size:inherit;white-space:nowrap;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;background-color:transparent;border:0;-webkit-appearance:none;-moz-appearance:none;appearance:none;}/*!sc*/ .cJbOew:hover{color:inherit;-webkit-text-decoration:none;text-decoration:none;}/*!sc*/ data-styled.g32[id="Link__StyledLink-sc-14289xe-0"]{content:"fuIgwR,dibTck,cJbOew,"}/*!sc*/ .cnCOhW{font-size:14px;line-height:20px;color:var(--fgColor-default,var(--color-fg-default,#1F2328));vertical-align:middle;background-color:var(--bgColor-default,var(--color-canvas-default,#ffffff));border:1px solid var(--control-borderColor-rest,var(--borderColor-default,var(--color-border-default,#d0d7de)));border-radius:6px;outline:none;box-shadow:var(--shadow-inset,var(--color-primer-shadow-inset,inset 0 1px 0 rgba(208,215,222,0.2)));display:-webkit-inline-box;display:-webkit-inline-flex;display:-ms-inline-flexbox;display:inline-flex;-webkit-align-items:stretch;-webkit-box-align:stretch;-ms-flex-align:stretch;align-items:stretch;min-height:32px;overflow:hidden;width:100%;height:2rem;-webkit-transition:width 0.3s ease-in-out;transition:width 0.3s ease-in-out;border-bottom-right-radius:unset;border-top-right-radius:unset;border-right:none;min-width:15rem;}/*!sc*/ .cnCOhW input,.cnCOhW textarea{cursor:text;}/*!sc*/ .cnCOhW select{cursor:pointer;}/*!sc*/ .cnCOhW input::-webkit-input-placeholder,.cnCOhW textarea::-webkit-input-placeholder,.cnCOhW select::-webkit-input-placeholder{color:var(---control-fgColor-placeholder,var(--fgColor-muted,var(--color-fg-muted,#656d76)));}/*!sc*/ .cnCOhW input::-moz-placeholder,.cnCOhW textarea::-moz-placeholder,.cnCOhW select::-moz-placeholder{color:var(---control-fgColor-placeholder,var(--fgColor-muted,var(--color-fg-muted,#656d76)));}/*!sc*/ .cnCOhW input:-ms-input-placeholder,.cnCOhW textarea:-ms-input-placeholder,.cnCOhW select:-ms-input-placeholder{color:var(---control-fgColor-placeholder,var(--fgColor-muted,var(--color-fg-muted,#656d76)));}/*!sc*/ .cnCOhW input::placeholder,.cnCOhW textarea::placeholder,.cnCOhW select::placeholder{color:var(---control-fgColor-placeholder,var(--fgColor-muted,var(--color-fg-muted,#656d76)));}/*!sc*/ .cnCOhW:focus-within{border-color:var(--fgColor-accent,var(--color-accent-fg,#0969da));outline:2px solid var(--fgColor-accent,var(--color-accent-fg,#0969da));outline-offset:-1px;}/*!sc*/ .cnCOhW > textarea{padding:12px;}/*!sc*/ @media (min-width:768px){.cnCOhW{font-size:14px;}}/*!sc*/ data-styled.g34[id="TextInputWrapper__TextInputBaseWrapper-sc-1mqhpbi-0"]{content:"cnCOhW,"}/*!sc*/ .hmJNAM{background-repeat:no-repeat;background-position:right 8px center;padding-left:0;padding-right:0;width:100%;height:2rem;-webkit-transition:width 0.3s ease-in-out;transition:width 0.3s ease-in-out;border-bottom-right-radius:unset;border-top-right-radius:unset;border-right:none;min-width:15rem;}/*!sc*/ .hmJNAM > :not(:last-child){margin-right:8px;}/*!sc*/ .hmJNAM .TextInput-icon,.hmJNAM .TextInput-action{-webkit-align-self:center;-ms-flex-item-align:center;align-self:center;color:var(--fgColor-muted,var(--color-fg-muted,#656d76));-webkit-flex-shrink:0;-ms-flex-negative:0;flex-shrink:0;}/*!sc*/ .hmJNAM > input,.hmJNAM > select{padding-left:12px;padding-right:12px;}/*!sc*/ data-styled.g35[id="TextInputWrapper-sc-1mqhpbi-1"]{content:"hmJNAM,"}/*!sc*/ .jvumlb{border:0;font-size:inherit;font-family:inherit;background-color:transparent;-webkit-appearance:none;color:inherit;width:100%;}/*!sc*/ .jvumlb:focus{outline:0;}/*!sc*/ data-styled.g36[id="UnstyledTextInput-sc-14ypya-0"]{content:"jvumlb,"}/*!sc*/ </style></head><body><div id="__next"><a href="#main-content" class="visually-hidden skip-button color-bg-accent-emphasis color-fg-on-emphasis">Skip to main content</a><div data-container="header" class="border-bottom d-unset color-border-muted no-print z-3 color-bg-default Header_header__frpqb"><div data-container="notifications"></div><header class="color-bg-default p-2 position-sticky top-0 z-1 border-bottom" role="banner" aria-label="Main"><div class="d-flex flex-justify-between p-2 flex-items-center flex-wrap" data-testid="desktop-header"><div tabindex="-1" class="Header_logoWithClosedSearch__zhF6Q" id="github-logo"><a rel="" class="d-flex flex-items-center color-fg-default no-underline mr-3" href="/en"><svg aria-hidden="true" focusable="false" class="octicon octicon-mark-github" viewBox="0 0 24 24" width="32" height="32" fill="currentColor" style="display:inline-block;user-select:none;vertical-align:text-bottom;overflow:visible"><path d="M12.5.75C6.146.75 1 5.896 1 12.25c0 5.089 3.292 9.387 7.863 10.91.575.101.79-.244.79-.546 0-.273-.014-1.178-.014-2.142-2.889.532-3.636-.704-3.866-1.35-.13-.331-.69-1.352-1.18-1.625-.402-.216-.977-.748-.014-.762.906-.014 1.553.834 1.769 1.179 1.035 1.74 2.688 1.25 3.349.948.1-.747.402-1.25.733-1.538-2.559-.287-5.232-1.279-5.232-5.678 0-1.25.445-2.285 1.178-3.09-.115-.288-.517-1.467.115-3.048 0 0 .963-.302 3.163 1.179.92-.259 1.897-.388 2.875-.388.977 0 1.955.13 2.875.388 2.2-1.495 3.162-1.179 3.162-1.179.633 1.581.23 2.76.115 3.048.733.805 1.179 1.825 1.179 3.09 0 4.413-2.688 5.39-5.247 5.678.417.36.776 1.05.776 2.128 0 1.538-.014 2.774-.014 3.162 0 .302.216.662.79.547C20.709 21.637 24 17.324 24 12.25 24 5.896 18.854.75 12.5.75Z"></path></svg><span class="h4 text-semibold ml-2 mr-3">GitHub Docs</span></a><div class="hide-sm border-left pl-3"><div data-testid="version-picker" class=""><button type="button" aria-label="Select GitHub product version: current version is free-pro-team@latest" class="types__StyledButton-sc-ws60qy-0 hXCKEr color-fg-default width-full p-1 pl-2 pr-2" aria-haspopup="true" aria-expanded="false" tabindex="0" data-loading="false" aria-describedby=":Ripn6:-loading-announcement" id=":Ripn6:"><span data-component="buttonContent" class="Box-sc-g0xbh4-0 cEhRXB"><span data-component="text"><span style="white-space:pre-wrap">Version: </span><span class="f5 color-fg-muted text-normal" data-testid="field">Free, Pro, & Team</span></span></span><span data-component="trailingAction" class="Box-sc-g0xbh4-0 dmdEgz"><svg aria-hidden="true" focusable="false" class="octicon octicon-triangle-down" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" style="display:inline-block;user-select:none;vertical-align:text-bottom;overflow:visible"><path d="m4.427 7.427 3.396 3.396a.25.25 0 0 0 .354 0l3.396-3.396A.25.25 0 0 0 11.396 7H4.604a.25.25 0 0 0-.177.427Z"></path></svg></span></button></div></div></div><div class="d-flex flex-items-center"><div class="Header_searchContainerWithClosedSearch__h372b mr-3"><div data-testid="search"><div class="position-relative z-2"><form role="search" class="width-full d-flex"><meta name="viewport" content="width=device-width initial-scale=1"/><label class="text-normal width-full"><span class="visually-hidden" aria-describedby="Enter a search term to find it in the GitHub Docs.">Search GitHub Docs</span><span class="TextInputWrapper__TextInputBaseWrapper-sc-1mqhpbi-0 TextInputWrapper-sc-1mqhpbi-1 cnCOhW hmJNAM TextInput-wrapper" aria-busy="false"><input type="search" aria-required="true" data-testid="site-search-input" placeholder="Search GitHub Docs" autoComplete="off" autoCorrect="off" autoCapitalize="off" spellcheck="false" maxLength="512" aria-label="Search GitHub Docs" aria-describedby="Enter a search term to find it in the GitHub Docs." data-component="input" class="UnstyledTextInput-sc-14ypya-0 jvumlb" value=""/></span></label><button data-component="IconButton" type="submit" data-loading="false" data-no-visuals="true" aria-describedby=":Rucpn6:-loading-announcement" aria-labelledby=":R6cpn6:" class="types__StyledButton-sc-ws60qy-0 jOdgLl"><svg aria-hidden="true" focusable="false" class="octicon octicon-search" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" style="display:inline-block;user-select:none;vertical-align:text-bottom;overflow:visible"><path d="M10.68 11.74a6 6 0 0 1-7.922-8.982 6 6 0 0 1 8.982 7.922l3.04 3.04a.749.749 0 0 1-.326 1.275.749.749 0 0 1-.734-.215ZM11.5 7a4.499 4.499 0 1 0-8.997 0A4.499 4.499 0 0 0 11.5 7Z"></path></svg></button><span data-direction="s" aria-hidden="true" id=":R6cpn6:" class="Tooltip__StyledTooltip-sc-e45c7z-0 eiGLpS">Search</span></form></div></div></div><div class="d-none d-lg-flex flex-items-center"><div data-testid="language-picker" class="d-flex"><button data-component="IconButton" type="button" aria-haspopup="true" aria-expanded="false" tabindex="0" data-loading="false" data-no-visuals="true" aria-describedby=":Rkpn6:-loading-announcement" aria-labelledby=":Rukpn6:" id=":Rkpn6:" class="types__StyledButton-sc-ws60qy-0 hmWbvh"><svg aria-hidden="true" focusable="false" class="octicon octicon-globe" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" style="display:inline-block;user-select:none;vertical-align:text-bottom;overflow:visible"><path d="M8 0a8 8 0 1 1 0 16A8 8 0 0 1 8 0ZM5.78 8.75a9.64 9.64 0 0 0 1.363 4.177c.255.426.542.832.857 1.215.245-.296.551-.705.857-1.215A9.64 9.64 0 0 0 10.22 8.75Zm4.44-1.5a9.64 9.64 0 0 0-1.363-4.177c-.307-.51-.612-.919-.857-1.215a9.927 9.927 0 0 0-.857 1.215A9.64 9.64 0 0 0 5.78 7.25Zm-5.944 1.5H1.543a6.507 6.507 0 0 0 4.666 5.5c-.123-.181-.24-.365-.352-.552-.715-1.192-1.437-2.874-1.581-4.948Zm-2.733-1.5h2.733c.144-2.074.866-3.756 1.58-4.948.12-.197.237-.381.353-.552a6.507 6.507 0 0 0-4.666 5.5Zm10.181 1.5c-.144 2.074-.866 3.756-1.58 4.948-.12.197-.237.381-.353.552a6.507 6.507 0 0 0 4.666-5.5Zm2.733-1.5a6.507 6.507 0 0 0-4.666-5.5c.123.181.24.365.353.552.714 1.192 1.436 2.874 1.58 4.948Z"></path></svg></button><span data-direction="s" aria-hidden="true" id=":Rukpn6:" class="Tooltip__StyledTooltip-sc-e45c7z-0 eiGLpS">Select language: current language is English</span></div></div><button data-component="IconButton" type="button" class="types__StyledButton-sc-ws60qy-0 hmWbvh hide-lg hide-xl d-flex flex-items-center" data-testid="mobile-search-button" aria-expanded="false" data-loading="false" data-no-visuals="true" aria-describedby=":R74pn6:-loading-announcement" aria-labelledby=":R14pn6:"><svg aria-hidden="true" focusable="false" class="octicon octicon-search" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" style="display:inline-block;user-select:none;vertical-align:text-bottom;overflow:visible"><path d="M10.68 11.74a6 6 0 0 1-7.922-8.982 6 6 0 0 1 8.982 7.922l3.04 3.04a.749.749 0 0 1-.326 1.275.749.749 0 0 1-.734-.215ZM11.5 7a4.499 4.499 0 1 0-8.997 0A4.499 4.499 0 0 0 11.5 7Z"></path></svg></button><span data-direction="s" aria-hidden="true" id=":R14pn6:" class="Tooltip__StyledTooltip-sc-e45c7z-0 eiGLpS">Open Search Bar</span><button data-component="IconButton" type="button" class="types__StyledButton-sc-ws60qy-0 lkeyoI px-3" data-testid="mobile-search-button" aria-expanded="false" data-loading="false" data-no-visuals="true" aria-describedby=":R7cpn6:-loading-announcement" aria-labelledby=":R1cpn6:"><svg aria-hidden="true" focusable="false" class="octicon octicon-x" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" style="display:inline-block;user-select:none;vertical-align:text-bottom;overflow:visible"><path d="M3.72 3.72a.75.75 0 0 1 1.06 0L8 6.94l3.22-3.22a.749.749 0 0 1 1.275.326.749.749 0 0 1-.215.734L9.06 8l3.22 3.22a.749.749 0 0 1-.326 1.275.749.749 0 0 1-.734-.215L8 9.06l-3.22 3.22a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042L6.94 8 3.72 4.78a.75.75 0 0 1 0-1.06Z"></path></svg></button><span data-direction="s" aria-hidden="true" id=":R1cpn6:" class="Tooltip__StyledTooltip-sc-e45c7z-0 eiGLpS">Close Search Bar</span><div><button data-component="IconButton" type="button" data-testid="mobile-menu" aria-haspopup="true" aria-expanded="false" tabindex="0" data-loading="false" data-no-visuals="true" aria-describedby=":R1kpn6:-loading-announcement" aria-labelledby=":Rvkpn6:" id=":R1kpn6:" class="types__StyledButton-sc-ws60qy-0 htZXvk"><svg aria-hidden="true" focusable="false" class="octicon octicon-kebab-horizontal" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" style="display:inline-block;user-select:none;vertical-align:text-bottom;overflow:visible"><path d="M8 9a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3ZM1.5 9a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3Zm13 0a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3Z"></path></svg></button><span data-direction="s" aria-hidden="true" id=":Rvkpn6:" class="Tooltip__StyledTooltip-sc-e45c7z-0 eiGLpS">Open Menu</span></div></div></div><div class="d-flex flex-items-center d-xxl-none mt-2" data-testid="header-subnav"><div class="mr-2" data-testid="header-subnav-hamburger"><button data-component="IconButton" type="button" data-testid="sidebar-hamburger" class="types__StyledButton-sc-ws60qy-0 jCopKa color-fg-muted" data-loading="false" data-no-visuals="true" aria-describedby=":R3b9n6:-loading-announcement" aria-labelledby=":Rb9n6:"><svg aria-hidden="true" focusable="false" class="octicon octicon-three-bars" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" style="display:inline-block;user-select:none;vertical-align:text-bottom;overflow:visible"><path d="M1 2.75A.75.75 0 0 1 1.75 2h12.5a.75.75 0 0 1 0 1.5H1.75A.75.75 0 0 1 1 2.75Zm0 5A.75.75 0 0 1 1.75 7h12.5a.75.75 0 0 1 0 1.5H1.75A.75.75 0 0 1 1 7.75ZM1.75 12h12.5a.75.75 0 0 1 0 1.5H1.75a.75.75 0 0 1 0-1.5Z"></path></svg></button><span data-direction="s" aria-hidden="true" id=":Rb9n6:" class="Tooltip__StyledTooltip-sc-e45c7z-0 eiGLpS">Open Sidebar</span></div><div class="mr-auto width-full" data-search="breadcrumbs"><nav data-testid="breadcrumbs-header" class="f5 breadcrumbs Breadcrumbs_breadcrumbs__xAC4i" aria-label="Breadcrumb" data-container="breadcrumbs"><ul><li class="d-inline-block"><a rel="" data-testid="breadcrumb-link" title="Code security" class="Link--primary mr-2 color-fg-muted" href="/en/code-security">Code security</a><span class="color-fg-muted pr-2">/</span></li><li class="d-inline-block"><a rel="" data-testid="breadcrumb-link" title="Code scanning" class="Link--primary mr-2 color-fg-muted" href="/en/code-security/code-scanning">Code scanning</a><span class="color-fg-muted pr-2">/</span></li><li class="d-inline-block"><a rel="" data-testid="breadcrumb-link" title="Create advanced setup" class="Link--primary mr-2 color-fg-muted" href="/en/code-security/code-scanning/creating-an-advanced-setup-for-code-scanning">Create advanced setup</a><span class="color-fg-muted pr-2">/</span></li><li class="d-inline-block"><a rel="" data-testid="breadcrumb-link" title="CodeQL for compiled languages" class="Link--primary mr-2 color-fg-muted" href="/en/code-security/code-scanning/creating-an-advanced-setup-for-code-scanning/codeql-code-scanning-for-compiled-languages">CodeQL for compiled languages</a></li></ul></nav></div></div></header></div><div class="d-lg-flex"><div data-container="nav" class="position-sticky d-none border-right d-xxl-block" style="width:326px;height:calc(100vh - 65px);top:65px"><nav aria-labelledby="allproducts-menu"><div class="d-none px-4 pb-3 border-bottom d-xxl-block"><div class="mt-3"><a rel="" class="f6 pl-2 pr-5 ml-n1 pb-1 Link--primary color-fg-default" href="/en"><svg aria-hidden="true" focusable="false" class="mr-1" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" style="display:inline-block;user-select:none;vertical-align:text-bottom;overflow:visible"><path d="M7.78 12.53a.75.75 0 0 1-1.06 0L2.47 8.28a.75.75 0 0 1 0-1.06l4.25-4.25a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042L4.81 7h7.44a.75.75 0 0 1 0 1.5H4.81l2.97 2.97a.75.75 0 0 1 0 1.06Z"></path></svg>Home</a></div><div class="mt-3" id="allproducts-menu"><a rel="" data-testid="sidebar-product-xl" class="d-block pl-1 mb-2 h3 color-fg-default no-underline _product-title" href="/en/code-security">Code security</a></div></div><div class="border-right d-none d-xxl-block bg-primary overflow-y-auto flex-shrink-0" style="width:326px;height:calc(100vh - 175px);padding-bottom:185px"><div data-testid="sidebar" style="overflow-y:auto" class="pt-3"><div class="ml-3" data-testid="product-sidebar"><nav aria-label="Product sidebar" class="NavList__NavBox-sc-1c8ygf7-0"><ul class="List__ListBox-sc-1x7olzq-0 hgjakc"><li aria-labelledby=":R3b6n6:" class="Box-sc-g0xbh4-0 Ywlla"><button tabindex="0" aria-labelledby=":R3b6n6:--label " id=":R3b6n6:" aria-expanded="false" aria-controls=":R3b6n6H1:" class="Item__LiBox-sc-yeql7o-0 itjSOb"><div data-component="ActionList.Item--DividerContainer" class="Box-sc-g0xbh4-0 hROlum"><div class="Box-sc-g0xbh4-0 cUxMoC"><span id=":R3b6n6:--label" class="Box-sc-g0xbh4-0 bmseMA">Getting started</span><span class="Box-sc-g0xbh4-0 lmYNOb"><svg aria-hidden="true" focusable="false" class="Octicon-sc-9kayk9-0 daAEFx" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" style="display:inline-block;user-select:none;vertical-align:text-bottom;overflow:visible"><path d="M12.78 5.22a.749.749 0 0 1 0 1.06l-4.25 4.25a.749.749 0 0 1-1.06 0L3.22 6.28a.749.749 0 1 1 1.06-1.06L8 8.939l3.72-3.719a.749.749 0 0 1 1.06 0Z"></path></svg></span></div></div></button><div><ul id=":R3b6n6H1:" aria-labelledby=":R3b6n6:" class="Box-sc-g0xbh4-0 gMkIpo"><li class="Item__LiBox-sc-yeql7o-0 lnYQME"><a sx="[object Object]" tabindex="0" aria-labelledby=":Rd3b6n6:--label " id=":Rd3b6n6:" aria-current="false" class="Link__StyledLink-sc-14289xe-0 fuIgwR" href="/en/code-security/getting-started/github-security-features"><div data-component="ActionList.Item--DividerContainer" class="Box-sc-g0xbh4-0 hROlum"><span id=":Rd3b6n6:--label" class="Box-sc-g0xbh4-0 bmseMA">GitHub security features</span></div></a></li><li class="Item__LiBox-sc-yeql7o-0 lnYQME"><a sx="[object Object]" tabindex="0" aria-labelledby=":Rl3b6n6:--label " id=":Rl3b6n6:" aria-current="false" class="Link__StyledLink-sc-14289xe-0 fuIgwR" href="/en/code-security/getting-started/dependabot-quickstart-guide"><div data-component="ActionList.Item--DividerContainer" class="Box-sc-g0xbh4-0 hROlum"><span id=":Rl3b6n6:--label" class="Box-sc-g0xbh4-0 bmseMA">Dependabot quickstart</span></div></a></li><li class="Item__LiBox-sc-yeql7o-0 lnYQME"><a sx="[object Object]" tabindex="0" aria-labelledby=":Rt3b6n6:--label " id=":Rt3b6n6:" aria-current="false" class="Link__StyledLink-sc-14289xe-0 fuIgwR" href="/en/code-security/getting-started/quickstart-for-securing-your-repository"><div data-component="ActionList.Item--DividerContainer" class="Box-sc-g0xbh4-0 hROlum"><span id=":Rt3b6n6:--label" class="Box-sc-g0xbh4-0 bmseMA">Secure repository quickstart</span></div></a></li><li class="Item__LiBox-sc-yeql7o-0 lnYQME"><a sx="[object Object]" tabindex="0" aria-labelledby=":R153b6n6:--label " id=":R153b6n6:" aria-current="false" class="Link__StyledLink-sc-14289xe-0 fuIgwR" href="/en/code-security/getting-started/adding-a-security-policy-to-your-repository"><div data-component="ActionList.Item--DividerContainer" class="Box-sc-g0xbh4-0 hROlum"><span id=":R153b6n6:--label" class="Box-sc-g0xbh4-0 bmseMA">Add a security policy</span></div></a></li><li class="Item__LiBox-sc-yeql7o-0 lnYQME"><a sx="[object Object]" tabindex="0" aria-labelledby=":R1d3b6n6:--label " id=":R1d3b6n6:" aria-current="false" class="Link__StyledLink-sc-14289xe-0 fuIgwR" href="/en/code-security/getting-started/auditing-security-alerts"><div data-component="ActionList.Item--DividerContainer" class="Box-sc-g0xbh4-0 hROlum"><span id=":R1d3b6n6:--label" class="Box-sc-g0xbh4-0 bmseMA">Audit security alerts</span></div></a></li><li class="Item__LiBox-sc-yeql7o-0 lnYQME"><a sx="[object Object]" tabindex="0" aria-labelledby=":R1l3b6n6:--label " id=":R1l3b6n6:" aria-current="false" class="Link__StyledLink-sc-14289xe-0 fuIgwR" href="/en/code-security/getting-started/best-practices-for-preventing-data-leaks-in-your-organization"><div data-component="ActionList.Item--DividerContainer" class="Box-sc-g0xbh4-0 hROlum"><span id=":R1l3b6n6:--label" class="Box-sc-g0xbh4-0 bmseMA">Prevent data leaks</span></div></a></li></ul></div></li><li aria-labelledby=":R5b6n6:" class="Box-sc-g0xbh4-0 Ywlla"><button tabindex="0" aria-labelledby=":R5b6n6:--label " id=":R5b6n6:" aria-expanded="false" aria-controls=":R5b6n6H1:" class="Item__LiBox-sc-yeql7o-0 itjSOb"><div data-component="ActionList.Item--DividerContainer" class="Box-sc-g0xbh4-0 hROlum"><div class="Box-sc-g0xbh4-0 cUxMoC"><span id=":R5b6n6:--label" class="Box-sc-g0xbh4-0 bmseMA">Secure your organization</span><span class="Box-sc-g0xbh4-0 lmYNOb"><svg aria-hidden="true" focusable="false" class="Octicon-sc-9kayk9-0 daAEFx" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" style="display:inline-block;user-select:none;vertical-align:text-bottom;overflow:visible"><path d="M12.78 5.22a.749.749 0 0 1 0 1.06l-4.25 4.25a.749.749 0 0 1-1.06 0L3.22 6.28a.749.749 0 1 1 1.06-1.06L8 8.939l3.72-3.719a.749.749 0 0 1 1.06 0Z"></path></svg></span></div></div></button><div><ul id=":R5b6n6H1:" aria-labelledby=":R5b6n6:" class="Box-sc-g0xbh4-0 gMkIpo"><li aria-labelledby=":Rd5b6n6:" class="Box-sc-g0xbh4-0 Ywlla"><button tabindex="0" aria-labelledby=":Rd5b6n6:--label " id=":Rd5b6n6:" aria-expanded="false" aria-controls=":Rd5b6n6H1:" class="Item__LiBox-sc-yeql7o-0 kXKjOF"><div data-component="ActionList.Item--DividerContainer" class="Box-sc-g0xbh4-0 hROlum"><div class="Box-sc-g0xbh4-0 cUxMoC"><span id=":Rd5b6n6:--label" class="Box-sc-g0xbh4-0 bmseMA">Introduction</span><span class="Box-sc-g0xbh4-0 lmYNOb"><svg aria-hidden="true" focusable="false" class="Octicon-sc-9kayk9-0 daAEFx" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" style="display:inline-block;user-select:none;vertical-align:text-bottom;overflow:visible"><path d="M12.78 5.22a.749.749 0 0 1 0 1.06l-4.25 4.25a.749.749 0 0 1-1.06 0L3.22 6.28a.749.749 0 1 1 1.06-1.06L8 8.939l3.72-3.719a.749.749 0 0 1 1.06 0Z"></path></svg></span></div></div></button><div><ul id=":Rd5b6n6H1:" aria-labelledby=":Rd5b6n6:" class="Box-sc-g0xbh4-0 gMkIpo"><li class="Item__LiBox-sc-yeql7o-0 lnYQME"><a sx="[object Object]" tabindex="0" aria-labelledby=":Rqd5b6n6:--label " id=":Rqd5b6n6:" aria-current="false" class="Link__StyledLink-sc-14289xe-0 dibTck" href="/en/code-security/securing-your-organization/introduction-to-securing-your-organization-at-scale/about-enabling-security-features-at-scale"><div data-component="ActionList.Item--DividerContainer" class="Box-sc-g0xbh4-0 hROlum"><span id=":Rqd5b6n6:--label" class="Box-sc-g0xbh4-0 bmseMA">About organization security</span></div></a></li><li class="Item__LiBox-sc-yeql7o-0 lnYQME"><a sx="[object Object]" tabindex="0" aria-labelledby=":R1ad5b6n6:--label " id=":R1ad5b6n6:" aria-current="false" class="Link__StyledLink-sc-14289xe-0 dibTck" href="/en/code-security/securing-your-organization/introduction-to-securing-your-organization-at-scale/choosing-a-security-configuration-for-your-repositories"><div data-component="ActionList.Item--DividerContainer" class="Box-sc-g0xbh4-0 hROlum"><span id=":R1ad5b6n6:--label" class="Box-sc-g0xbh4-0 bmseMA">Choose security configuration</span></div></a></li></ul></div></li><li aria-labelledby=":Rl5b6n6:" class="Box-sc-g0xbh4-0 Ywlla"><button tabindex="0" aria-labelledby=":Rl5b6n6:--label " id=":Rl5b6n6:" aria-expanded="false" aria-controls=":Rl5b6n6H1:" class="Item__LiBox-sc-yeql7o-0 kXKjOF"><div data-component="ActionList.Item--DividerContainer" class="Box-sc-g0xbh4-0 hROlum"><div class="Box-sc-g0xbh4-0 cUxMoC"><span id=":Rl5b6n6:--label" class="Box-sc-g0xbh4-0 bmseMA">Enable security features</span><span class="Box-sc-g0xbh4-0 lmYNOb"><svg aria-hidden="true" focusable="false" class="Octicon-sc-9kayk9-0 daAEFx" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" style="display:inline-block;user-select:none;vertical-align:text-bottom;overflow:visible"><path d="M12.78 5.22a.749.749 0 0 1 0 1.06l-4.25 4.25a.749.749 0 0 1-1.06 0L3.22 6.28a.749.749 0 1 1 1.06-1.06L8 8.939l3.72-3.719a.749.749 0 0 1 1.06 0Z"></path></svg></span></div></div></button><div><ul id=":Rl5b6n6H1:" aria-labelledby=":Rl5b6n6:" class="Box-sc-g0xbh4-0 gMkIpo"><li class="Item__LiBox-sc-yeql7o-0 lnYQME"><a sx="[object Object]" tabindex="0" aria-labelledby=":Rql5b6n6:--label " id=":Rql5b6n6:" aria-current="false" class="Link__StyledLink-sc-14289xe-0 dibTck" href="/en/code-security/securing-your-organization/enabling-security-features-in-your-organization/applying-the-github-recommended-security-configuration-in-your-organization"><div data-component="ActionList.Item--DividerContainer" class="Box-sc-g0xbh4-0 hROlum"><span id=":Rql5b6n6:--label" class="Box-sc-g0xbh4-0 bmseMA">Apply recommended configuration</span></div></a></li><li class="Item__LiBox-sc-yeql7o-0 lnYQME"><a sx="[object Object]" tabindex="0" aria-labelledby=":R1al5b6n6:--label " id=":R1al5b6n6:" aria-current="false" class="Link__StyledLink-sc-14289xe-0 dibTck" href="/en/code-security/securing-your-organization/enabling-security-features-in-your-organization/creating-a-custom-security-configuration"><div data-component="ActionList.Item--DividerContainer" class="Box-sc-g0xbh4-0 hROlum"><span id=":R1al5b6n6:--label" class="Box-sc-g0xbh4-0 bmseMA">Create custom configuration</span></div></a></li><li class="Item__LiBox-sc-yeql7o-0 lnYQME"><a sx="[object Object]" tabindex="0" aria-labelledby=":R1ql5b6n6:--label " id=":R1ql5b6n6:" aria-current="false" class="Link__StyledLink-sc-14289xe-0 dibTck" href="/en/code-security/securing-your-organization/enabling-security-features-in-your-organization/applying-a-custom-security-configuration"><div data-component="ActionList.Item--DividerContainer" class="Box-sc-g0xbh4-0 hROlum"><span id=":R1ql5b6n6:--label" class="Box-sc-g0xbh4-0 bmseMA">Apply custom configuration</span></div></a></li><li class="Item__LiBox-sc-yeql7o-0 lnYQME"><a sx="[object Object]" tabindex="0" aria-labelledby=":R2al5b6n6:--label " id=":R2al5b6n6:" aria-current="false" class="Link__StyledLink-sc-14289xe-0 dibTck" href="/en/code-security/securing-your-organization/enabling-security-features-in-your-organization/configuring-global-security-settings-for-your-organization"><div data-component="ActionList.Item--DividerContainer" class="Box-sc-g0xbh4-0 hROlum"><span id=":R2al5b6n6:--label" class="Box-sc-g0xbh4-0 bmseMA">Configure global settings</span></div></a></li></ul></div></li><li aria-labelledby=":Rt5b6n6:" class="Box-sc-g0xbh4-0 Ywlla"><button tabindex="0" aria-labelledby=":Rt5b6n6:--label " id=":Rt5b6n6:" aria-expanded="false" aria-controls=":Rt5b6n6H1:" class="Item__LiBox-sc-yeql7o-0 kXKjOF"><div data-component="ActionList.Item--DividerContainer" class="Box-sc-g0xbh4-0 hROlum"><div class="Box-sc-g0xbh4-0 cUxMoC"><span id=":Rt5b6n6:--label" class="Box-sc-g0xbh4-0 bmseMA">Manage organization security</span><span class="Box-sc-g0xbh4-0 lmYNOb"><svg aria-hidden="true" focusable="false" class="Octicon-sc-9kayk9-0 daAEFx" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" style="display:inline-block;user-select:none;vertical-align:text-bottom;overflow:visible"><path d="M12.78 5.22a.749.749 0 0 1 0 1.06l-4.25 4.25a.749.749 0 0 1-1.06 0L3.22 6.28a.749.749 0 1 1 1.06-1.06L8 8.939l3.72-3.719a.749.749 0 0 1 1.06 0Z"></path></svg></span></div></div></button><div><ul id=":Rt5b6n6H1:" aria-labelledby=":Rt5b6n6:" class="Box-sc-g0xbh4-0 gMkIpo"><li class="Item__LiBox-sc-yeql7o-0 lnYQME"><a sx="[object Object]" tabindex="0" aria-labelledby=":Rqt5b6n6:--label " id=":Rqt5b6n6:" aria-current="false" class="Link__StyledLink-sc-14289xe-0 dibTck" href="/en/code-security/securing-your-organization/managing-the-security-of-your-organization/interpreting-security-findings"><div data-component="ActionList.Item--DividerContainer" class="Box-sc-g0xbh4-0 hROlum"><span id=":Rqt5b6n6:--label" class="Box-sc-g0xbh4-0 bmseMA">Interpret security data</span></div></a></li><li class="Item__LiBox-sc-yeql7o-0 lnYQME"><a sx="[object Object]" tabindex="0" aria-labelledby=":R1at5b6n6:--label " id=":R1at5b6n6:" aria-current="false" class="Link__StyledLink-sc-14289xe-0 dibTck" href="/en/code-security/securing-your-organization/managing-the-security-of-your-organization/filtering-repositories-in-your-organization-using-the-repository-table"><div data-component="ActionList.Item--DividerContainer" class="Box-sc-g0xbh4-0 hROlum"><span id=":R1at5b6n6:--label" class="Box-sc-g0xbh4-0 bmseMA">Filter repositories</span></div></a></li><li class="Item__LiBox-sc-yeql7o-0 lnYQME"><a sx="[object Object]" tabindex="0" aria-labelledby=":R1qt5b6n6:--label " id=":R1qt5b6n6:" aria-current="false" class="Link__StyledLink-sc-14289xe-0 dibTck" href="/en/code-security/securing-your-organization/managing-the-security-of-your-organization/editing-a-custom-security-configuration"><div data-component="ActionList.Item--DividerContainer" class="Box-sc-g0xbh4-0 hROlum"><span id=":R1qt5b6n6:--label" class="Box-sc-g0xbh4-0 bmseMA">Edit custom configuration</span></div></a></li><li class="Item__LiBox-sc-yeql7o-0 lnYQME"><a sx="[object Object]" tabindex="0" aria-labelledby=":R2at5b6n6:--label " id=":R2at5b6n6:" aria-current="false" class="Link__StyledLink-sc-14289xe-0 dibTck" href="/en/code-security/securing-your-organization/managing-the-security-of-your-organization/managing-your-github-advanced-security-license-usage"><div data-component="ActionList.Item--DividerContainer" class="Box-sc-g0xbh4-0 hROlum"><span id=":R2at5b6n6:--label" class="Box-sc-g0xbh4-0 bmseMA">Manage GHAS licenses</span></div></a></li><li class="Item__LiBox-sc-yeql7o-0 lnYQME"><a sx="[object Object]" tabindex="0" aria-labelledby=":R2qt5b6n6:--label " id=":R2qt5b6n6:" aria-current="false" class="Link__StyledLink-sc-14289xe-0 dibTck" href="/en/code-security/securing-your-organization/managing-the-security-of-your-organization/detaching-repositories-from-their-security-configurations"><div data-component="ActionList.Item--DividerContainer" class="Box-sc-g0xbh4-0 hROlum"><span id=":R2qt5b6n6:--label" class="Box-sc-g0xbh4-0 bmseMA">Detach security configuration</span></div></a></li><li class="Item__LiBox-sc-yeql7o-0 lnYQME"><a sx="[object Object]" tabindex="0" aria-labelledby=":R3at5b6n6:--label " id=":R3at5b6n6:" aria-current="false" class="Link__StyledLink-sc-14289xe-0 dibTck" href="/en/code-security/securing-your-organization/managing-the-security-of-your-organization/finding-repositories-with-attachment-failures"><div data-component="ActionList.Item--DividerContainer" class="Box-sc-g0xbh4-0 hROlum"><span id=":R3at5b6n6:--label" class="Box-sc-g0xbh4-0 bmseMA">Find attachment failures</span></div></a></li><li class="Item__LiBox-sc-yeql7o-0 lnYQME"><a sx="[object Object]" tabindex="0" aria-labelledby=":R3qt5b6n6:--label " id=":R3qt5b6n6:" aria-current="false" class="Link__StyledLink-sc-14289xe-0 dibTck" href="/en/code-security/securing-your-organization/managing-the-security-of-your-organization/deleting-a-custom-security-configuration"><div data-component="ActionList.Item--DividerContainer" class="Box-sc-g0xbh4-0 hROlum"><span id=":R3qt5b6n6:--label" class="Box-sc-g0xbh4-0 bmseMA">Delete custom configuration</span></div></a></li></ul></div></li><li aria-labelledby=":R155b6n6:" class="Box-sc-g0xbh4-0 Ywlla"><button tabindex="0" aria-labelledby=":R155b6n6:--label " id=":R155b6n6:" aria-expanded="false" aria-controls=":R155b6n6H1:" class="Item__LiBox-sc-yeql7o-0 kXKjOF"><div data-component="ActionList.Item--DividerContainer" class="Box-sc-g0xbh4-0 hROlum"><div class="Box-sc-g0xbh4-0 cUxMoC"><span id=":R155b6n6:--label" class="Box-sc-g0xbh4-0 bmseMA">Troubleshooting configurations</span><span class="Box-sc-g0xbh4-0 lmYNOb"><svg aria-hidden="true" focusable="false" class="Octicon-sc-9kayk9-0 daAEFx" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" style="display:inline-block;user-select:none;vertical-align:text-bottom;overflow:visible"><path d="M12.78 5.22a.749.749 0 0 1 0 1.06l-4.25 4.25a.749.749 0 0 1-1.06 0L3.22 6.28a.749.749 0 1 1 1.06-1.06L8 8.939l3.72-3.719a.749.749 0 0 1 1.06 0Z"></path></svg></span></div></div></button><div><ul id=":R155b6n6H1:" aria-labelledby=":R155b6n6:" class="Box-sc-g0xbh4-0 gMkIpo"><li class="Item__LiBox-sc-yeql7o-0 lnYQME"><a sx="[object Object]" tabindex="0" aria-labelledby=":Rr55b6n6:--label " id=":Rr55b6n6:" aria-current="false" class="Link__StyledLink-sc-14289xe-0 dibTck" href="/en/code-security/securing-your-organization/troubleshooting-security-configurations/a-repository-is-using-advanced-setup-for-code-scanning"><div data-component="ActionList.Item--DividerContainer" class="Box-sc-g0xbh4-0 hROlum"><span id=":Rr55b6n6:--label" class="Box-sc-g0xbh4-0 bmseMA">Active advanced setup</span></div></a></li><li class="Item__LiBox-sc-yeql7o-0 lnYQME"><a sx="[object Object]" tabindex="0" aria-labelledby=":R1b55b6n6:--label " id=":R1b55b6n6:" aria-current="false" class="Link__StyledLink-sc-14289xe-0 dibTck" href="/en/code-security/securing-your-organization/troubleshooting-security-configurations/not-enough-github-advanced-security-licenses"><div data-component="ActionList.Item--DividerContainer" class="Box-sc-g0xbh4-0 hROlum"><span id=":R1b55b6n6:--label" class="Box-sc-g0xbh4-0 bmseMA">Not enough GHAS licenses</span></div></a></li></ul></div></li></ul></div></li><li aria-labelledby=":R7b6n6:" class="Box-sc-g0xbh4-0 Ywlla"><button tabindex="0" aria-labelledby=":R7b6n6:--label " id=":R7b6n6:" aria-expanded="false" aria-controls=":R7b6n6H1:" class="Item__LiBox-sc-yeql7o-0 itjSOb"><div data-component="ActionList.Item--DividerContainer" class="Box-sc-g0xbh4-0 hROlum"><div class="Box-sc-g0xbh4-0 cUxMoC"><span id=":R7b6n6:--label" class="Box-sc-g0xbh4-0 bmseMA">Secret scanning</span><span class="Box-sc-g0xbh4-0 lmYNOb"><svg aria-hidden="true" focusable="false" class="Octicon-sc-9kayk9-0 daAEFx" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" style="display:inline-block;user-select:none;vertical-align:text-bottom;overflow:visible"><path d="M12.78 5.22a.749.749 0 0 1 0 1.06l-4.25 4.25a.749.749 0 0 1-1.06 0L3.22 6.28a.749.749 0 1 1 1.06-1.06L8 8.939l3.72-3.719a.749.749 0 0 1 1.06 0Z"></path></svg></span></div></div></button><div><ul id=":R7b6n6H1:" aria-labelledby=":R7b6n6:" class="Box-sc-g0xbh4-0 gMkIpo"><li aria-labelledby=":Rd7b6n6:" class="Box-sc-g0xbh4-0 Ywlla"><button tabindex="0" aria-labelledby=":Rd7b6n6:--label " id=":Rd7b6n6:" aria-expanded="false" aria-controls=":Rd7b6n6H1:" class="Item__LiBox-sc-yeql7o-0 kXKjOF"><div data-component="ActionList.Item--DividerContainer" class="Box-sc-g0xbh4-0 hROlum"><div class="Box-sc-g0xbh4-0 cUxMoC"><span id=":Rd7b6n6:--label" class="Box-sc-g0xbh4-0 bmseMA">Introduction</span><span class="Box-sc-g0xbh4-0 lmYNOb"><svg aria-hidden="true" focusable="false" class="Octicon-sc-9kayk9-0 daAEFx" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" style="display:inline-block;user-select:none;vertical-align:text-bottom;overflow:visible"><path d="M12.78 5.22a.749.749 0 0 1 0 1.06l-4.25 4.25a.749.749 0 0 1-1.06 0L3.22 6.28a.749.749 0 1 1 1.06-1.06L8 8.939l3.72-3.719a.749.749 0 0 1 1.06 0Z"></path></svg></span></div></div></button><div><ul id=":Rd7b6n6H1:" aria-labelledby=":Rd7b6n6:" class="Box-sc-g0xbh4-0 gMkIpo"><li class="Item__LiBox-sc-yeql7o-0 lnYQME"><a sx="[object Object]" tabindex="0" aria-labelledby=":R1kd7b6n6:--label " id=":R1kd7b6n6:" aria-current="false" class="Link__StyledLink-sc-14289xe-0 dibTck" href="/en/code-security/secret-scanning/introduction/about-secret-scanning"><div data-component="ActionList.Item--DividerContainer" class="Box-sc-g0xbh4-0 hROlum"><span id=":R1kd7b6n6:--label" class="Box-sc-g0xbh4-0 bmseMA">Secret scanning</span></div></a></li><li class="Item__LiBox-sc-yeql7o-0 lnYQME"><a sx="[object Object]" tabindex="0" aria-labelledby=":R2kd7b6n6:--label " id=":R2kd7b6n6:" aria-current="false" class="Link__StyledLink-sc-14289xe-0 dibTck" href="/en/code-security/secret-scanning/introduction/about-push-protection"><div data-component="ActionList.Item--DividerContainer" class="Box-sc-g0xbh4-0 hROlum"><span id=":R2kd7b6n6:--label" class="Box-sc-g0xbh4-0 bmseMA">Push protection</span></div></a></li><li class="Item__LiBox-sc-yeql7o-0 lnYQME"><a sx="[object Object]" tabindex="0" aria-labelledby=":R3kd7b6n6:--label " id=":R3kd7b6n6:" aria-current="false" class="Link__StyledLink-sc-14289xe-0 dibTck" href="/en/code-security/secret-scanning/introduction/about-secret-scanning-for-partners"><div data-component="ActionList.Item--DividerContainer" class="Box-sc-g0xbh4-0 hROlum"><span id=":R3kd7b6n6:--label" class="Box-sc-g0xbh4-0 bmseMA">Secret scanning for partners</span></div></a></li><li class="Item__LiBox-sc-yeql7o-0 lnYQME"><a sx="[object Object]" tabindex="0" aria-labelledby=":R4kd7b6n6:--label " id=":R4kd7b6n6:" aria-current="false" class="Link__StyledLink-sc-14289xe-0 dibTck" href="/en/code-security/secret-scanning/introduction/supported-secret-scanning-patterns"><div data-component="ActionList.Item--DividerContainer" class="Box-sc-g0xbh4-0 hROlum"><span id=":R4kd7b6n6:--label" class="Box-sc-g0xbh4-0 bmseMA">Supported patterns</span></div></a></li></ul></div></li><li aria-labelledby=":Rl7b6n6:" class="Box-sc-g0xbh4-0 Ywlla"><button tabindex="0" aria-labelledby=":Rl7b6n6:--label " id=":Rl7b6n6:" aria-expanded="false" aria-controls=":Rl7b6n6H1:" class="Item__LiBox-sc-yeql7o-0 kXKjOF"><div data-component="ActionList.Item--DividerContainer" class="Box-sc-g0xbh4-0 hROlum"><div class="Box-sc-g0xbh4-0 cUxMoC"><span id=":Rl7b6n6:--label" class="Box-sc-g0xbh4-0 bmseMA">Enable features</span><span class="Box-sc-g0xbh4-0 lmYNOb"><svg aria-hidden="true" focusable="false" class="Octicon-sc-9kayk9-0 daAEFx" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" style="display:inline-block;user-select:none;vertical-align:text-bottom;overflow:visible"><path d="M12.78 5.22a.749.749 0 0 1 0 1.06l-4.25 4.25a.749.749 0 0 1-1.06 0L3.22 6.28a.749.749 0 1 1 1.06-1.06L8 8.939l3.72-3.719a.749.749 0 0 1 1.06 0Z"></path></svg></span></div></div></button><div><ul id=":Rl7b6n6H1:" aria-labelledby=":Rl7b6n6:" class="Box-sc-g0xbh4-0 gMkIpo"><li class="Item__LiBox-sc-yeql7o-0 lnYQME"><a sx="[object Object]" tabindex="0" aria-labelledby=":R1kl7b6n6:--label " id=":R1kl7b6n6:" aria-current="false" class="Link__StyledLink-sc-14289xe-0 dibTck" href="/en/code-security/secret-scanning/enabling-secret-scanning-features/enabling-secret-scanning-for-your-repository"><div data-component="ActionList.Item--DividerContainer" class="Box-sc-g0xbh4-0 hROlum"><span id=":R1kl7b6n6:--label" class="Box-sc-g0xbh4-0 bmseMA">Enable secret scanning</span></div></a></li><li class="Item__LiBox-sc-yeql7o-0 lnYQME"><a sx="[object Object]" tabindex="0" aria-labelledby=":R2kl7b6n6:--label " id=":R2kl7b6n6:" aria-current="false" class="Link__StyledLink-sc-14289xe-0 dibTck" href="/en/code-security/secret-scanning/enabling-secret-scanning-features/enabling-push-protection-for-your-repository"><div data-component="ActionList.Item--DividerContainer" class="Box-sc-g0xbh4-0 hROlum"><span id=":R2kl7b6n6:--label" class="Box-sc-g0xbh4-0 bmseMA">Enable push protection</span></div></a></li></ul></div></li><li aria-labelledby=":Rt7b6n6:" class="Box-sc-g0xbh4-0 Ywlla"><button tabindex="0" aria-labelledby=":Rt7b6n6:--label " id=":Rt7b6n6:" aria-expanded="false" aria-controls=":Rt7b6n6H1:" class="Item__LiBox-sc-yeql7o-0 kXKjOF"><div data-component="ActionList.Item--DividerContainer" class="Box-sc-g0xbh4-0 hROlum"><div class="Box-sc-g0xbh4-0 cUxMoC"><span id=":Rt7b6n6:--label" class="Box-sc-g0xbh4-0 bmseMA">Manage alerts</span><span class="Box-sc-g0xbh4-0 lmYNOb"><svg aria-hidden="true" focusable="false" class="Octicon-sc-9kayk9-0 daAEFx" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" style="display:inline-block;user-select:none;vertical-align:text-bottom;overflow:visible"><path d="M12.78 5.22a.749.749 0 0 1 0 1.06l-4.25 4.25a.749.749 0 0 1-1.06 0L3.22 6.28a.749.749 0 1 1 1.06-1.06L8 8.939l3.72-3.719a.749.749 0 0 1 1.06 0Z"></path></svg></span></div></div></button><div><ul id=":Rt7b6n6H1:" aria-labelledby=":Rt7b6n6:" class="Box-sc-g0xbh4-0 gMkIpo"><li class="Item__LiBox-sc-yeql7o-0 lnYQME"><a sx="[object Object]" tabindex="0" aria-labelledby=":R1kt7b6n6:--label " id=":R1kt7b6n6:" aria-current="false" class="Link__StyledLink-sc-14289xe-0 dibTck" href="/en/code-security/secret-scanning/managing-alerts-from-secret-scanning/about-alerts"><div data-component="ActionList.Item--DividerContainer" class="Box-sc-g0xbh4-0 hROlum"><span id=":R1kt7b6n6:--label" class="Box-sc-g0xbh4-0 bmseMA">About alerts</span></div></a></li><li class="Item__LiBox-sc-yeql7o-0 lnYQME"><a sx="[object Object]" tabindex="0" aria-labelledby=":R2kt7b6n6:--label " id=":R2kt7b6n6:" aria-current="false" class="Link__StyledLink-sc-14289xe-0 dibTck" href="/en/code-security/secret-scanning/managing-alerts-from-secret-scanning/viewing-alerts"><div data-component="ActionList.Item--DividerContainer" class="Box-sc-g0xbh4-0 hROlum"><span id=":R2kt7b6n6:--label" class="Box-sc-g0xbh4-0 bmseMA">View alerts</span></div></a></li><li class="Item__LiBox-sc-yeql7o-0 lnYQME"><a sx="[object Object]" tabindex="0" aria-labelledby=":R3kt7b6n6:--label " id=":R3kt7b6n6:" aria-current="false" class="Link__StyledLink-sc-14289xe-0 dibTck" href="/en/code-security/secret-scanning/managing-alerts-from-secret-scanning/evaluating-alerts"><div data-component="ActionList.Item--DividerContainer" class="Box-sc-g0xbh4-0 hROlum"><span id=":R3kt7b6n6:--label" class="Box-sc-g0xbh4-0 bmseMA">Evaluate alerts</span></div></a></li><li class="Item__LiBox-sc-yeql7o-0 lnYQME"><a sx="[object Object]" tabindex="0" aria-labelledby=":R4kt7b6n6:--label " id=":R4kt7b6n6:" aria-current="false" class="Link__StyledLink-sc-14289xe-0 dibTck" href="/en/code-security/secret-scanning/managing-alerts-from-secret-scanning/resolving-alerts"><div data-component="ActionList.Item--DividerContainer" class="Box-sc-g0xbh4-0 hROlum"><span id=":R4kt7b6n6:--label" class="Box-sc-g0xbh4-0 bmseMA">Resolve alerts</span></div></a></li><li class="Item__LiBox-sc-yeql7o-0 lnYQME"><a sx="[object Object]" tabindex="0" aria-labelledby=":R5kt7b6n6:--label " id=":R5kt7b6n6:" aria-current="false" class="Link__StyledLink-sc-14289xe-0 dibTck" href="/en/code-security/secret-scanning/managing-alerts-from-secret-scanning/monitoring-alerts"><div data-component="ActionList.Item--DividerContainer" class="Box-sc-g0xbh4-0 hROlum"><span id=":R5kt7b6n6:--label" class="Box-sc-g0xbh4-0 bmseMA">Monitor alerts</span></div></a></li></ul></div></li><li aria-labelledby=":R157b6n6:" class="Box-sc-g0xbh4-0 Ywlla"><button tabindex="0" aria-labelledby=":R157b6n6:--label " id=":R157b6n6:" aria-expanded="false" aria-controls=":R157b6n6H1:" class="Item__LiBox-sc-yeql7o-0 kXKjOF"><div data-component="ActionList.Item--DividerContainer" class="Box-sc-g0xbh4-0 hROlum"><div class="Box-sc-g0xbh4-0 cUxMoC"><span id=":R157b6n6:--label" class="Box-sc-g0xbh4-0 bmseMA">Work with secret scanning</span><span class="Box-sc-g0xbh4-0 lmYNOb"><svg aria-hidden="true" focusable="false" class="Octicon-sc-9kayk9-0 daAEFx" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" style="display:inline-block;user-select:none;vertical-align:text-bottom;overflow:visible"><path d="M12.78 5.22a.749.749 0 0 1 0 1.06l-4.25 4.25a.749.749 0 0 1-1.06 0L3.22 6.28a.749.749 0 1 1 1.06-1.06L8 8.939l3.72-3.719a.749.749 0 0 1 1.06 0Z"></path></svg></span></div></div></button><div><ul id=":R157b6n6H1:" aria-labelledby=":R157b6n6:" class="Box-sc-g0xbh4-0 gMkIpo"><li class="Item__LiBox-sc-yeql7o-0 lnYQME"><a sx="[object Object]" tabindex="0" aria-labelledby=":R1l57b6n6:--label " id=":R1l57b6n6:" aria-current="false" class="Link__StyledLink-sc-14289xe-0 dibTck" href="/en/code-security/secret-scanning/working-with-secret-scanning-and-push-protection/push-protection-for-users"><div data-component="ActionList.Item--DividerContainer" class="Box-sc-g0xbh4-0 hROlum"><span id=":R1l57b6n6:--label" class="Box-sc-g0xbh4-0 bmseMA">Push protection for users</span></div></a></li><li class="Item__LiBox-sc-yeql7o-0 lnYQME"><a sx="[object Object]" tabindex="0" aria-labelledby=":R2l57b6n6:--label " id=":R2l57b6n6:" aria-current="false" class="Link__StyledLink-sc-14289xe-0 dibTck" href="/en/code-security/secret-scanning/working-with-secret-scanning-and-push-protection/working-with-push-protection-from-the-command-line"><div data-component="ActionList.Item--DividerContainer" class="Box-sc-g0xbh4-0 hROlum"><span id=":R2l57b6n6:--label" class="Box-sc-g0xbh4-0 bmseMA">Push protection on the command line</span></div></a></li><li class="Item__LiBox-sc-yeql7o-0 lnYQME"><a sx="[object Object]" tabindex="0" aria-labelledby=":R3l57b6n6:--label " id=":R3l57b6n6:" aria-current="false" class="Link__StyledLink-sc-14289xe-0 dibTck" href="/en/code-security/secret-scanning/working-with-secret-scanning-and-push-protection/working-with-push-protection-from-the-rest-api"><div data-component="ActionList.Item--DividerContainer" class="Box-sc-g0xbh4-0 hROlum"><span id=":R3l57b6n6:--label" class="Box-sc-g0xbh4-0 bmseMA">Push protection from the REST API</span></div></a></li><li class="Item__LiBox-sc-yeql7o-0 lnYQME"><a sx="[object Object]" tabindex="0" aria-labelledby=":R4l57b6n6:--label " id=":R4l57b6n6:" aria-current="false" class="Link__StyledLink-sc-14289xe-0 dibTck" href="/en/code-security/secret-scanning/working-with-secret-scanning-and-push-protection/working-with-push-protection-in-the-github-ui"><div data-component="ActionList.Item--DividerContainer" class="Box-sc-g0xbh4-0 hROlum"><span id=":R4l57b6n6:--label" class="Box-sc-g0xbh4-0 bmseMA">Push protection in the GitHub UI</span></div></a></li></ul></div></li><li aria-labelledby=":R1d7b6n6:" class="Box-sc-g0xbh4-0 Ywlla"><button tabindex="0" aria-labelledby=":R1d7b6n6:--label " id=":R1d7b6n6:" aria-expanded="false" aria-controls=":R1d7b6n6H1:" class="Item__LiBox-sc-yeql7o-0 kXKjOF"><div data-component="ActionList.Item--DividerContainer" class="Box-sc-g0xbh4-0 hROlum"><div class="Box-sc-g0xbh4-0 cUxMoC"><span id=":R1d7b6n6:--label" class="Box-sc-g0xbh4-0 bmseMA">Advanced features</span><span class="Box-sc-g0xbh4-0 lmYNOb"><svg aria-hidden="true" focusable="false" class="Octicon-sc-9kayk9-0 daAEFx" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" style="display:inline-block;user-select:none;vertical-align:text-bottom;overflow:visible"><path d="M12.78 5.22a.749.749 0 0 1 0 1.06l-4.25 4.25a.749.749 0 0 1-1.06 0L3.22 6.28a.749.749 0 1 1 1.06-1.06L8 8.939l3.72-3.719a.749.749 0 0 1 1.06 0Z"></path></svg></span></div></div></button><div><ul id=":R1d7b6n6H1:" aria-labelledby=":R1d7b6n6:" class="Box-sc-g0xbh4-0 gMkIpo"><li class="Item__LiBox-sc-yeql7o-0 lnYQME"><a sx="[object Object]" tabindex="0" aria-labelledby=":R1ld7b6n6:--label " id=":R1ld7b6n6:" aria-current="false" class="Link__StyledLink-sc-14289xe-0 dibTck" href="/en/code-security/secret-scanning/using-advanced-secret-scanning-and-push-protection-features/excluding-folders-and-files-from-secret-scanning"><div data-component="ActionList.Item--DividerContainer" class="Box-sc-g0xbh4-0 hROlum"><span id=":R1ld7b6n6:--label" class="Box-sc-g0xbh4-0 bmseMA">Exclude folders and files</span></div></a></li></ul></div></li><li aria-labelledby=":R1l7b6n6:" class="Box-sc-g0xbh4-0 Ywlla"><button tabindex="0" aria-labelledby=":R1l7b6n6:--label " id=":R1l7b6n6:" aria-expanded="false" aria-controls=":R1l7b6n6H1:" class="Item__LiBox-sc-yeql7o-0 kXKjOF"><div data-component="ActionList.Item--DividerContainer" class="Box-sc-g0xbh4-0 hROlum"><div class="Box-sc-g0xbh4-0 cUxMoC"><span id=":R1l7b6n6:--label" class="Box-sc-g0xbh4-0 bmseMA">Copilot secret scanning</span><span class="Box-sc-g0xbh4-0 lmYNOb"><svg aria-hidden="true" focusable="false" class="Octicon-sc-9kayk9-0 daAEFx" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" style="display:inline-block;user-select:none;vertical-align:text-bottom;overflow:visible"><path d="M12.78 5.22a.749.749 0 0 1 0 1.06l-4.25 4.25a.749.749 0 0 1-1.06 0L3.22 6.28a.749.749 0 1 1 1.06-1.06L8 8.939l3.72-3.719a.749.749 0 0 1 1.06 0Z"></path></svg></span></div></div></button><div><ul id=":R1l7b6n6H1:" aria-labelledby=":R1l7b6n6:" class="Box-sc-g0xbh4-0 gMkIpo"><li class="Item__LiBox-sc-yeql7o-0 lnYQME"><a sx="[object Object]" tabindex="0" aria-labelledby=":R1ll7b6n6:--label " id=":R1ll7b6n6:" aria-current="false" class="Link__StyledLink-sc-14289xe-0 dibTck" href="/en/code-security/secret-scanning/copilot-secret-scanning/responsible-ai-generic-secrets"><div data-component="ActionList.Item--DividerContainer" class="Box-sc-g0xbh4-0 hROlum"><span id=":R1ll7b6n6:--label" class="Box-sc-g0xbh4-0 bmseMA">Generic secret detection</span></div></a></li><li class="Item__LiBox-sc-yeql7o-0 lnYQME"><a sx="[object Object]" tabindex="0" aria-labelledby=":R2ll7b6n6:--label " id=":R2ll7b6n6:" aria-current="false" class="Link__StyledLink-sc-14289xe-0 dibTck" href="/en/code-security/secret-scanning/copilot-secret-scanning/responsible-ai-regex-generator"><div data-component="ActionList.Item--DividerContainer" class="Box-sc-g0xbh4-0 hROlum"><span id=":R2ll7b6n6:--label" class="Box-sc-g0xbh4-0 bmseMA">Generate regular expressions with AI</span></div></a></li></ul></div></li><li aria-labelledby=":R1t7b6n6:" class="Box-sc-g0xbh4-0 Ywlla"><button tabindex="0" aria-labelledby=":R1t7b6n6:--label " id=":R1t7b6n6:" aria-expanded="false" aria-controls=":R1t7b6n6H1:" class="Item__LiBox-sc-yeql7o-0 kXKjOF"><div data-component="ActionList.Item--DividerContainer" class="Box-sc-g0xbh4-0 hROlum"><div class="Box-sc-g0xbh4-0 cUxMoC"><span id=":R1t7b6n6:--label" class="Box-sc-g0xbh4-0 bmseMA">Troubleshoot</span><span class="Box-sc-g0xbh4-0 lmYNOb"><svg aria-hidden="true" focusable="false" class="Octicon-sc-9kayk9-0 daAEFx" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" style="display:inline-block;user-select:none;vertical-align:text-bottom;overflow:visible"><path d="M12.78 5.22a.749.749 0 0 1 0 1.06l-4.25 4.25a.749.749 0 0 1-1.06 0L3.22 6.28a.749.749 0 1 1 1.06-1.06L8 8.939l3.72-3.719a.749.749 0 0 1 1.06 0Z"></path></svg></span></div></div></button><div><ul id=":R1t7b6n6H1:" aria-labelledby=":R1t7b6n6:" class="Box-sc-g0xbh4-0 gMkIpo"><li class="Item__LiBox-sc-yeql7o-0 lnYQME"><a sx="[object Object]" tabindex="0" aria-labelledby=":R1lt7b6n6:--label " id=":R1lt7b6n6:" aria-current="false" class="Link__StyledLink-sc-14289xe-0 dibTck" href="/en/code-security/secret-scanning/troubleshooting-secret-scanning-and-push-protection/troubleshooting-secret-scanning"><div data-component="ActionList.Item--DividerContainer" class="Box-sc-g0xbh4-0 hROlum"><span id=":R1lt7b6n6:--label" class="Box-sc-g0xbh4-0 bmseMA">Troubleshoot secret scanning</span></div></a></li></ul></div></li><li aria-labelledby=":R257b6n6:" class="Box-sc-g0xbh4-0 Ywlla"><button tabindex="0" aria-labelledby=":R257b6n6:--label " id=":R257b6n6:" aria-expanded="false" aria-controls=":R257b6n6H1:" class="Item__LiBox-sc-yeql7o-0 kXKjOF"><div data-component="ActionList.Item--DividerContainer" class="Box-sc-g0xbh4-0 hROlum"><div class="Box-sc-g0xbh4-0 cUxMoC"><span id=":R257b6n6:--label" class="Box-sc-g0xbh4-0 bmseMA">Partner program</span><span class="Box-sc-g0xbh4-0 lmYNOb"><svg aria-hidden="true" focusable="false" class="Octicon-sc-9kayk9-0 daAEFx" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" style="display:inline-block;user-select:none;vertical-align:text-bottom;overflow:visible"><path d="M12.78 5.22a.749.749 0 0 1 0 1.06l-4.25 4.25a.749.749 0 0 1-1.06 0L3.22 6.28a.749.749 0 1 1 1.06-1.06L8 8.939l3.72-3.719a.749.749 0 0 1 1.06 0Z"></path></svg></span></div></div></button><div><ul id=":R257b6n6H1:" aria-labelledby=":R257b6n6:" class="Box-sc-g0xbh4-0 gMkIpo"><li class="Item__LiBox-sc-yeql7o-0 lnYQME"><a sx="[object Object]" tabindex="0" aria-labelledby=":R1m57b6n6:--label " id=":R1m57b6n6:" aria-current="false" class="Link__StyledLink-sc-14289xe-0 dibTck" href="/en/code-security/secret-scanning/secret-scanning-partnership-program/secret-scanning-partner-program"><div data-component="ActionList.Item--DividerContainer" class="Box-sc-g0xbh4-0 hROlum"><span id=":R1m57b6n6:--label" class="Box-sc-g0xbh4-0 bmseMA">Partner program</span></div></a></li></ul></div></li></ul></div></li><li aria-labelledby=":R9b6n6:" class="Box-sc-g0xbh4-0 Ywlla"><button tabindex="0" aria-labelledby=":R9b6n6:--label " id=":R9b6n6:" aria-expanded="true" aria-controls=":R9b6n6H1:" class="Item__LiBox-sc-yeql7o-0 itjSOb"><div data-component="ActionList.Item--DividerContainer" class="Box-sc-g0xbh4-0 hROlum"><div class="Box-sc-g0xbh4-0 cUxMoC"><span id=":R9b6n6:--label" class="Box-sc-g0xbh4-0 bmseMA">Code scanning</span><span class="Box-sc-g0xbh4-0 lmYNOb"><svg aria-hidden="true" focusable="false" class="Octicon-sc-9kayk9-0 gzcJGA" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" style="display:inline-block;user-select:none;vertical-align:text-bottom;overflow:visible"><path d="M12.78 5.22a.749.749 0 0 1 0 1.06l-4.25 4.25a.749.749 0 0 1-1.06 0L3.22 6.28a.749.749 0 1 1 1.06-1.06L8 8.939l3.72-3.719a.749.749 0 0 1 1.06 0Z"></path></svg></span></div></div></button><div><ul id=":R9b6n6H1:" aria-labelledby=":R9b6n6:" class="Box-sc-g0xbh4-0 enEvIH"><li aria-labelledby=":Rd9b6n6:" class="Box-sc-g0xbh4-0 Ywlla"><button tabindex="0" aria-labelledby=":Rd9b6n6:--label " id=":Rd9b6n6:" aria-expanded="false" aria-controls=":Rd9b6n6H1:" class="Item__LiBox-sc-yeql7o-0 kXKjOF"><div data-component="ActionList.Item--DividerContainer" class="Box-sc-g0xbh4-0 hROlum"><div class="Box-sc-g0xbh4-0 cUxMoC"><span id=":Rd9b6n6:--label" class="Box-sc-g0xbh4-0 bmseMA">Introduction</span><span class="Box-sc-g0xbh4-0 lmYNOb"><svg aria-hidden="true" focusable="false" class="Octicon-sc-9kayk9-0 daAEFx" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" style="display:inline-block;user-select:none;vertical-align:text-bottom;overflow:visible"><path d="M12.78 5.22a.749.749 0 0 1 0 1.06l-4.25 4.25a.749.749 0 0 1-1.06 0L3.22 6.28a.749.749 0 1 1 1.06-1.06L8 8.939l3.72-3.719a.749.749 0 0 1 1.06 0Z"></path></svg></span></div></div></button><div><ul id=":Rd9b6n6H1:" aria-labelledby=":Rd9b6n6:" class="Box-sc-g0xbh4-0 gMkIpo"><li class="Item__LiBox-sc-yeql7o-0 lnYQME"><a sx="[object Object]" tabindex="0" aria-labelledby=":R1kd9b6n6:--label " id=":R1kd9b6n6:" aria-current="false" class="Link__StyledLink-sc-14289xe-0 dibTck" href="/en/code-security/code-scanning/introduction-to-code-scanning/about-code-scanning"><div data-component="ActionList.Item--DividerContainer" class="Box-sc-g0xbh4-0 hROlum"><span id=":R1kd9b6n6:--label" class="Box-sc-g0xbh4-0 bmseMA">About code scanning</span></div></a></li><li class="Item__LiBox-sc-yeql7o-0 lnYQME"><a sx="[object Object]" tabindex="0" aria-labelledby=":R2kd9b6n6:--label " id=":R2kd9b6n6:" aria-current="false" class="Link__StyledLink-sc-14289xe-0 dibTck" href="/en/code-security/code-scanning/introduction-to-code-scanning/about-code-scanning-with-codeql"><div data-component="ActionList.Item--DividerContainer" class="Box-sc-g0xbh4-0 hROlum"><span id=":R2kd9b6n6:--label" class="Box-sc-g0xbh4-0 bmseMA">About CodeQL code scanning</span></div></a></li></ul></div></li><li aria-labelledby=":Rl9b6n6:" class="Box-sc-g0xbh4-0 Ywlla"><button tabindex="0" aria-labelledby=":Rl9b6n6:--label " id=":Rl9b6n6:" aria-expanded="false" aria-controls=":Rl9b6n6H1:" class="Item__LiBox-sc-yeql7o-0 kXKjOF"><div data-component="ActionList.Item--DividerContainer" class="Box-sc-g0xbh4-0 hROlum"><div class="Box-sc-g0xbh4-0 cUxMoC"><span id=":Rl9b6n6:--label" class="Box-sc-g0xbh4-0 bmseMA">Enable code scanning</span><span class="Box-sc-g0xbh4-0 lmYNOb"><svg aria-hidden="true" focusable="false" class="Octicon-sc-9kayk9-0 daAEFx" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" style="display:inline-block;user-select:none;vertical-align:text-bottom;overflow:visible"><path d="M12.78 5.22a.749.749 0 0 1 0 1.06l-4.25 4.25a.749.749 0 0 1-1.06 0L3.22 6.28a.749.749 0 1 1 1.06-1.06L8 8.939l3.72-3.719a.749.749 0 0 1 1.06 0Z"></path></svg></span></div></div></button><div><ul id=":Rl9b6n6H1:" aria-labelledby=":Rl9b6n6:" class="Box-sc-g0xbh4-0 gMkIpo"><li class="Item__LiBox-sc-yeql7o-0 lnYQME"><a sx="[object Object]" tabindex="0" aria-labelledby=":R1kl9b6n6:--label " id=":R1kl9b6n6:" aria-current="false" class="Link__StyledLink-sc-14289xe-0 dibTck" href="/en/code-security/code-scanning/enabling-code-scanning/configuring-default-setup-for-code-scanning"><div data-component="ActionList.Item--DividerContainer" class="Box-sc-g0xbh4-0 hROlum"><span id=":R1kl9b6n6:--label" class="Box-sc-g0xbh4-0 bmseMA">Configure code scanning</span></div></a></li><li class="Item__LiBox-sc-yeql7o-0 lnYQME"><a sx="[object Object]" tabindex="0" aria-labelledby=":R2kl9b6n6:--label " id=":R2kl9b6n6:" aria-current="false" class="Link__StyledLink-sc-14289xe-0 dibTck" href="/en/code-security/code-scanning/enabling-code-scanning/evaluating-default-setup-for-code-scanning"><div data-component="ActionList.Item--DividerContainer" class="Box-sc-g0xbh4-0 hROlum"><span id=":R2kl9b6n6:--label" class="Box-sc-g0xbh4-0 bmseMA">Evaluate code scanning</span></div></a></li><li class="Item__LiBox-sc-yeql7o-0 lnYQME"><a sx="[object Object]" tabindex="0" aria-labelledby=":R3kl9b6n6:--label " id=":R3kl9b6n6:" aria-current="false" class="Link__StyledLink-sc-14289xe-0 dibTck" href="/en/code-security/code-scanning/enabling-code-scanning/configuring-default-setup-for-code-scanning-at-scale"><div data-component="ActionList.Item--DividerContainer" class="Box-sc-g0xbh4-0 hROlum"><span id=":R3kl9b6n6:--label" class="Box-sc-g0xbh4-0 bmseMA">Code scanning at scale</span></div></a></li></ul></div></li><li aria-labelledby=":Rt9b6n6:" class="Box-sc-g0xbh4-0 Ywlla"><button tabindex="0" aria-labelledby=":Rt9b6n6:--label " id=":Rt9b6n6:" aria-expanded="true" aria-controls=":Rt9b6n6H1:" class="Item__LiBox-sc-yeql7o-0 kXKjOF"><div data-component="ActionList.Item--DividerContainer" class="Box-sc-g0xbh4-0 hROlum"><div class="Box-sc-g0xbh4-0 cUxMoC"><span id=":Rt9b6n6:--label" class="Box-sc-g0xbh4-0 bmseMA">Create advanced setup</span><span class="Box-sc-g0xbh4-0 lmYNOb"><svg aria-hidden="true" focusable="false" class="Octicon-sc-9kayk9-0 gzcJGA" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" style="display:inline-block;user-select:none;vertical-align:text-bottom;overflow:visible"><path d="M12.78 5.22a.749.749 0 0 1 0 1.06l-4.25 4.25a.749.749 0 0 1-1.06 0L3.22 6.28a.749.749 0 1 1 1.06-1.06L8 8.939l3.72-3.719a.749.749 0 0 1 1.06 0Z"></path></svg></span></div></div></button><div><ul id=":Rt9b6n6H1:" aria-labelledby=":Rt9b6n6:" class="Box-sc-g0xbh4-0 enEvIH"><li class="Item__LiBox-sc-yeql7o-0 lnYQME"><a sx="[object Object]" tabindex="0" aria-labelledby=":R1kt9b6n6:--label " id=":R1kt9b6n6:" aria-current="false" class="Link__StyledLink-sc-14289xe-0 dibTck" href="/en/code-security/code-scanning/creating-an-advanced-setup-for-code-scanning/configuring-advanced-setup-for-code-scanning"><div data-component="ActionList.Item--DividerContainer" class="Box-sc-g0xbh4-0 hROlum"><span id=":R1kt9b6n6:--label" class="Box-sc-g0xbh4-0 bmseMA">Configure advanced setup</span></div></a></li><li class="Item__LiBox-sc-yeql7o-0 lnYQME"><a sx="[object Object]" tabindex="0" aria-labelledby=":R2kt9b6n6:--label " id=":R2kt9b6n6:" aria-current="false" class="Link__StyledLink-sc-14289xe-0 dibTck" href="/en/code-security/code-scanning/creating-an-advanced-setup-for-code-scanning/customizing-your-advanced-setup-for-code-scanning"><div data-component="ActionList.Item--DividerContainer" class="Box-sc-g0xbh4-0 hROlum"><span id=":R2kt9b6n6:--label" class="Box-sc-g0xbh4-0 bmseMA">Customize advanced setup</span></div></a></li><li class="Item__LiBox-sc-yeql7o-0 hTSEii"><a sx="[object Object]" tabindex="0" aria-labelledby=":R3kt9b6n6:--label " id=":R3kt9b6n6:" aria-current="page" class="Link__StyledLink-sc-14289xe-0 dibTck" href="/en/code-security/code-scanning/creating-an-advanced-setup-for-code-scanning/codeql-code-scanning-for-compiled-languages"><div data-component="ActionList.Item--DividerContainer" class="Box-sc-g0xbh4-0 hROlum"><span id=":R3kt9b6n6:--label" class="Box-sc-g0xbh4-0 ivpQTm">CodeQL for compiled languages</span></div></a></li><li class="Item__LiBox-sc-yeql7o-0 lnYQME"><a sx="[object Object]" tabindex="0" aria-labelledby=":R4kt9b6n6:--label " id=":R4kt9b6n6:" aria-current="false" class="Link__StyledLink-sc-14289xe-0 dibTck" href="/en/code-security/code-scanning/creating-an-advanced-setup-for-code-scanning/configuring-advanced-setup-for-code-scanning-with-codeql-at-scale"><div data-component="ActionList.Item--DividerContainer" class="Box-sc-g0xbh4-0 hROlum"><span id=":R4kt9b6n6:--label" class="Box-sc-g0xbh4-0 bmseMA">CodeQL advanced setup at scale</span></div></a></li><li class="Item__LiBox-sc-yeql7o-0 lnYQME"><a sx="[object Object]" tabindex="0" aria-labelledby=":R5kt9b6n6:--label " id=":R5kt9b6n6:" aria-current="false" class="Link__StyledLink-sc-14289xe-0 dibTck" href="/en/code-security/code-scanning/creating-an-advanced-setup-for-code-scanning/recommended-hardware-resources-for-running-codeql"><div data-component="ActionList.Item--DividerContainer" class="Box-sc-g0xbh4-0 hROlum"><span id=":R5kt9b6n6:--label" class="Box-sc-g0xbh4-0 bmseMA">Hardware resources for CodeQL</span></div></a></li><li class="Item__LiBox-sc-yeql7o-0 lnYQME"><a sx="[object Object]" tabindex="0" aria-labelledby=":R6kt9b6n6:--label " id=":R6kt9b6n6:" aria-current="false" class="Link__StyledLink-sc-14289xe-0 dibTck" href="/en/code-security/code-scanning/creating-an-advanced-setup-for-code-scanning/running-codeql-code-scanning-in-a-container"><div data-component="ActionList.Item--DividerContainer" class="Box-sc-g0xbh4-0 hROlum"><span id=":R6kt9b6n6:--label" class="Box-sc-g0xbh4-0 bmseMA">Code scanning in a container</span></div></a></li></ul></div></li><li aria-labelledby=":R159b6n6:" class="Box-sc-g0xbh4-0 Ywlla"><button tabindex="0" aria-labelledby=":R159b6n6:--label " id=":R159b6n6:" aria-expanded="false" aria-controls=":R159b6n6H1:" class="Item__LiBox-sc-yeql7o-0 kXKjOF"><div data-component="ActionList.Item--DividerContainer" class="Box-sc-g0xbh4-0 hROlum"><div class="Box-sc-g0xbh4-0 cUxMoC"><span id=":R159b6n6:--label" class="Box-sc-g0xbh4-0 bmseMA">Manage alerts</span><span class="Box-sc-g0xbh4-0 lmYNOb"><svg aria-hidden="true" focusable="false" class="Octicon-sc-9kayk9-0 daAEFx" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" style="display:inline-block;user-select:none;vertical-align:text-bottom;overflow:visible"><path d="M12.78 5.22a.749.749 0 0 1 0 1.06l-4.25 4.25a.749.749 0 0 1-1.06 0L3.22 6.28a.749.749 0 1 1 1.06-1.06L8 8.939l3.72-3.719a.749.749 0 0 1 1.06 0Z"></path></svg></span></div></div></button><div><ul id=":R159b6n6H1:" aria-labelledby=":R159b6n6:" class="Box-sc-g0xbh4-0 gMkIpo"><li class="Item__LiBox-sc-yeql7o-0 lnYQME"><a sx="[object Object]" tabindex="0" aria-labelledby=":R1l59b6n6:--label " id=":R1l59b6n6:" aria-current="false" class="Link__StyledLink-sc-14289xe-0 dibTck" href="/en/code-security/code-scanning/managing-code-scanning-alerts/about-code-scanning-alerts"><div data-component="ActionList.Item--DividerContainer" class="Box-sc-g0xbh4-0 hROlum"><span id=":R1l59b6n6:--label" class="Box-sc-g0xbh4-0 bmseMA">About code scanning alerts</span></div></a></li><li class="Item__LiBox-sc-yeql7o-0 lnYQME"><a sx="[object Object]" tabindex="0" aria-labelledby=":R2l59b6n6:--label " id=":R2l59b6n6:" aria-current="false" class="Link__StyledLink-sc-14289xe-0 dibTck" href="/en/code-security/code-scanning/managing-code-scanning-alerts/responsible-use-autofix-code-scanning"><div data-component="ActionList.Item--DividerContainer" class="Box-sc-g0xbh4-0 hROlum"><span id=":R2l59b6n6:--label" class="Box-sc-g0xbh4-0 bmseMA">Copilot Autofix for code scanning</span></div></a></li><li class="Item__LiBox-sc-yeql7o-0 lnYQME"><a sx="[object Object]" tabindex="0" aria-labelledby=":R3l59b6n6:--label " id=":R3l59b6n6:" aria-current="false" class="Link__StyledLink-sc-14289xe-0 dibTck" href="/en/code-security/code-scanning/managing-code-scanning-alerts/disabling-autofix-for-code-scanning"><div data-component="ActionList.Item--DividerContainer" class="Box-sc-g0xbh4-0 hROlum"><span id=":R3l59b6n6:--label" class="Box-sc-g0xbh4-0 bmseMA">Disable Copilot Autofix</span></div></a></li><li class="Item__LiBox-sc-yeql7o-0 lnYQME"><a sx="[object Object]" tabindex="0" aria-labelledby=":R4l59b6n6:--label " id=":R4l59b6n6:" aria-current="false" class="Link__StyledLink-sc-14289xe-0 dibTck" href="/en/code-security/code-scanning/managing-code-scanning-alerts/assessing-code-scanning-alerts-for-your-repository"><div data-component="ActionList.Item--DividerContainer" class="Box-sc-g0xbh4-0 hROlum"><span id=":R4l59b6n6:--label" class="Box-sc-g0xbh4-0 bmseMA">Assess alerts</span></div></a></li><li class="Item__LiBox-sc-yeql7o-0 lnYQME"><a sx="[object Object]" tabindex="0" aria-labelledby=":R5l59b6n6:--label " id=":R5l59b6n6:" aria-current="false" class="Link__StyledLink-sc-14289xe-0 dibTck" href="/en/code-security/code-scanning/managing-code-scanning-alerts/resolving-code-scanning-alerts"><div data-component="ActionList.Item--DividerContainer" class="Box-sc-g0xbh4-0 hROlum"><span id=":R5l59b6n6:--label" class="Box-sc-g0xbh4-0 bmseMA">Resolve alerts</span></div></a></li><li class="Item__LiBox-sc-yeql7o-0 lnYQME"><a sx="[object Object]" tabindex="0" aria-labelledby=":R6l59b6n6:--label " id=":R6l59b6n6:" aria-current="false" class="Link__StyledLink-sc-14289xe-0 dibTck" href="/en/code-security/code-scanning/managing-code-scanning-alerts/triaging-code-scanning-alerts-in-pull-requests"><div data-component="ActionList.Item--DividerContainer" class="Box-sc-g0xbh4-0 hROlum"><span id=":R6l59b6n6:--label" class="Box-sc-g0xbh4-0 bmseMA">Triage alerts in pull requests</span></div></a></li><li class="Item__LiBox-sc-yeql7o-0 lnYQME"><a sx="[object Object]" tabindex="0" aria-labelledby=":R7l59b6n6:--label " id=":R7l59b6n6:" aria-current="false" class="Link__StyledLink-sc-14289xe-0 dibTck" href="/en/code-security/code-scanning/managing-code-scanning-alerts/tracking-code-scanning-alerts-in-issues-using-task-lists"><div data-component="ActionList.Item--DividerContainer" class="Box-sc-g0xbh4-0 hROlum"><span id=":R7l59b6n6:--label" class="Box-sc-g0xbh4-0 bmseMA">Track alerts in issues</span></div></a></li></ul></div></li><li aria-labelledby=":R1d9b6n6:" class="Box-sc-g0xbh4-0 Ywlla"><button tabindex="0" aria-labelledby=":R1d9b6n6:--label " id=":R1d9b6n6:" aria-expanded="false" aria-controls=":R1d9b6n6H1:" class="Item__LiBox-sc-yeql7o-0 kXKjOF"><div data-component="ActionList.Item--DividerContainer" class="Box-sc-g0xbh4-0 hROlum"><div class="Box-sc-g0xbh4-0 cUxMoC"><span id=":R1d9b6n6:--label" class="Box-sc-g0xbh4-0 bmseMA">Manage code scanning</span><span class="Box-sc-g0xbh4-0 lmYNOb"><svg aria-hidden="true" focusable="false" class="Octicon-sc-9kayk9-0 daAEFx" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" style="display:inline-block;user-select:none;vertical-align:text-bottom;overflow:visible"><path d="M12.78 5.22a.749.749 0 0 1 0 1.06l-4.25 4.25a.749.749 0 0 1-1.06 0L3.22 6.28a.749.749 0 1 1 1.06-1.06L8 8.939l3.72-3.719a.749.749 0 0 1 1.06 0Z"></path></svg></span></div></div></button><div><ul id=":R1d9b6n6H1:" aria-labelledby=":R1d9b6n6:" class="Box-sc-g0xbh4-0 gMkIpo"><li class="Item__LiBox-sc-yeql7o-0 lnYQME"><a sx="[object Object]" tabindex="0" aria-labelledby=":R1ld9b6n6:--label " id=":R1ld9b6n6:" aria-current="false" class="Link__StyledLink-sc-14289xe-0 dibTck" href="/en/code-security/code-scanning/managing-your-code-scanning-configuration/about-the-tool-status-page"><div data-component="ActionList.Item--DividerContainer" class="Box-sc-g0xbh4-0 hROlum"><span id=":R1ld9b6n6:--label" class="Box-sc-g0xbh4-0 bmseMA">Code scanning tool status</span></div></a></li><li class="Item__LiBox-sc-yeql7o-0 lnYQME"><a sx="[object Object]" tabindex="0" aria-labelledby=":R2ld9b6n6:--label " id=":R2ld9b6n6:" aria-current="false" class="Link__StyledLink-sc-14289xe-0 dibTck" href="/en/code-security/code-scanning/managing-your-code-scanning-configuration/editing-your-configuration-of-default-setup"><div data-component="ActionList.Item--DividerContainer" class="Box-sc-g0xbh4-0 hROlum"><span id=":R2ld9b6n6:--label" class="Box-sc-g0xbh4-0 bmseMA">Edit default setup</span></div></a></li><li class="Item__LiBox-sc-yeql7o-0 lnYQME"><a sx="[object Object]" tabindex="0" aria-labelledby=":R3ld9b6n6:--label " id=":R3ld9b6n6:" aria-current="false" class="Link__StyledLink-sc-14289xe-0 dibTck" href="/en/code-security/code-scanning/managing-your-code-scanning-configuration/set-code-scanning-merge-protection"><div data-component="ActionList.Item--DividerContainer" class="Box-sc-g0xbh4-0 hROlum"><span id=":R3ld9b6n6:--label" class="Box-sc-g0xbh4-0 bmseMA">Set merge protection</span></div></a></li><li class="Item__LiBox-sc-yeql7o-0 lnYQME"><a sx="[object Object]" tabindex="0" aria-labelledby=":R4ld9b6n6:--label " id=":R4ld9b6n6:" aria-current="false" class="Link__StyledLink-sc-14289xe-0 dibTck" href="/en/code-security/code-scanning/managing-your-code-scanning-configuration/codeql-query-suites"><div data-component="ActionList.Item--DividerContainer" class="Box-sc-g0xbh4-0 hROlum"><span id=":R4ld9b6n6:--label" class="Box-sc-g0xbh4-0 bmseMA">CodeQL query suites</span></div></a></li><li class="Item__LiBox-sc-yeql7o-0 lnYQME"><a sx="[object Object]" tabindex="0" aria-labelledby=":R5ld9b6n6:--label " id=":R5ld9b6n6:" aria-current="false" class="Link__StyledLink-sc-14289xe-0 dibTck" href="/en/code-security/code-scanning/managing-your-code-scanning-configuration/configuring-larger-runners-for-default-setup"><div data-component="ActionList.Item--DividerContainer" class="Box-sc-g0xbh4-0 hROlum"><span id=":R5ld9b6n6:--label" class="Box-sc-g0xbh4-0 bmseMA">Configure larger runners</span></div></a></li><li class="Item__LiBox-sc-yeql7o-0 lnYQME"><a sx="[object Object]" tabindex="0" aria-labelledby=":R6ld9b6n6:--label " id=":R6ld9b6n6:" aria-current="false" class="Link__StyledLink-sc-14289xe-0 dibTck" href="/en/code-security/code-scanning/managing-your-code-scanning-configuration/viewing-code-scanning-logs"><div data-component="ActionList.Item--DividerContainer" class="Box-sc-g0xbh4-0 hROlum"><span id=":R6ld9b6n6:--label" class="Box-sc-g0xbh4-0 bmseMA">View code scanning logs</span></div></a></li><li class="Item__LiBox-sc-yeql7o-0 lnYQME"><a sx="[object Object]" tabindex="0" aria-labelledby=":R7ld9b6n6:--label " id=":R7ld9b6n6:" aria-current="false" class="Link__StyledLink-sc-14289xe-0 dibTck" href="/en/code-security/code-scanning/managing-your-code-scanning-configuration/c-cpp-built-in-queries"><div data-component="ActionList.Item--DividerContainer" class="Box-sc-g0xbh4-0 hROlum"><span id=":R7ld9b6n6:--label" class="Box-sc-g0xbh4-0 bmseMA">C and C++ CodeQL queries</span></div></a></li><li class="Item__LiBox-sc-yeql7o-0 lnYQME"><a sx="[object Object]" tabindex="0" aria-labelledby=":R8ld9b6n6:--label " id=":R8ld9b6n6:" aria-current="false" class="Link__StyledLink-sc-14289xe-0 dibTck" href="/en/code-security/code-scanning/managing-your-code-scanning-configuration/csharp-built-in-queries"><div data-component="ActionList.Item--DividerContainer" class="Box-sc-g0xbh4-0 hROlum"><span id=":R8ld9b6n6:--label" class="Box-sc-g0xbh4-0 bmseMA">C# CodeQL queries</span></div></a></li><li class="Item__LiBox-sc-yeql7o-0 lnYQME"><a sx="[object Object]" tabindex="0" aria-labelledby=":R9ld9b6n6:--label " id=":R9ld9b6n6:" aria-current="false" class="Link__StyledLink-sc-14289xe-0 dibTck" href="/en/code-security/code-scanning/managing-your-code-scanning-configuration/go-built-in-queries"><div data-component="ActionList.Item--DividerContainer" class="Box-sc-g0xbh4-0 hROlum"><span id=":R9ld9b6n6:--label" class="Box-sc-g0xbh4-0 bmseMA">Go CodeQL queries</span></div></a></li><li class="Item__LiBox-sc-yeql7o-0 lnYQME"><a sx="[object Object]" tabindex="0" aria-labelledby=":Rald9b6n6:--label " id=":Rald9b6n6:" aria-current="false" class="Link__StyledLink-sc-14289xe-0 dibTck" href="/en/code-security/code-scanning/managing-your-code-scanning-configuration/java-kotlin-built-in-queries"><div data-component="ActionList.Item--DividerContainer" class="Box-sc-g0xbh4-0 hROlum"><span id=":Rald9b6n6:--label" class="Box-sc-g0xbh4-0 bmseMA">Java and Kotlin CodeQL queries</span></div></a></li><li class="Item__LiBox-sc-yeql7o-0 lnYQME"><a sx="[object Object]" tabindex="0" aria-labelledby=":Rbld9b6n6:--label " id=":Rbld9b6n6:" aria-current="false" class="Link__StyledLink-sc-14289xe-0 dibTck" href="/en/code-security/code-scanning/managing-your-code-scanning-configuration/javascript-typescript-built-in-queries"><div data-component="ActionList.Item--DividerContainer" class="Box-sc-g0xbh4-0 hROlum"><span id=":Rbld9b6n6:--label" class="Box-sc-g0xbh4-0 bmseMA">JavaScript and TypeScript queries</span></div></a></li><li class="Item__LiBox-sc-yeql7o-0 lnYQME"><a sx="[object Object]" tabindex="0" aria-labelledby=":Rcld9b6n6:--label " id=":Rcld9b6n6:" aria-current="false" class="Link__StyledLink-sc-14289xe-0 dibTck" href="/en/code-security/code-scanning/managing-your-code-scanning-configuration/python-built-in-queries"><div data-component="ActionList.Item--DividerContainer" class="Box-sc-g0xbh4-0 hROlum"><span id=":Rcld9b6n6:--label" class="Box-sc-g0xbh4-0 bmseMA">Python CodeQL queries</span></div></a></li><li class="Item__LiBox-sc-yeql7o-0 lnYQME"><a sx="[object Object]" tabindex="0" aria-labelledby=":Rdld9b6n6:--label " id=":Rdld9b6n6:" aria-current="false" class="Link__StyledLink-sc-14289xe-0 dibTck" href="/en/code-security/code-scanning/managing-your-code-scanning-configuration/ruby-built-in-queries"><div data-component="ActionList.Item--DividerContainer" class="Box-sc-g0xbh4-0 hROlum"><span id=":Rdld9b6n6:--label" class="Box-sc-g0xbh4-0 bmseMA">Ruby CodeQL queries</span></div></a></li><li class="Item__LiBox-sc-yeql7o-0 lnYQME"><a sx="[object Object]" tabindex="0" aria-labelledby=":Reld9b6n6:--label " id=":Reld9b6n6:" aria-current="false" class="Link__StyledLink-sc-14289xe-0 dibTck" href="/en/code-security/code-scanning/managing-your-code-scanning-configuration/swift-built-in-queries"><div data-component="ActionList.Item--DividerContainer" class="Box-sc-g0xbh4-0 hROlum"><span id=":Reld9b6n6:--label" class="Box-sc-g0xbh4-0 bmseMA">Swift CodeQL queries</span></div></a></li></ul></div></li><li aria-labelledby=":R1l9b6n6:" class="Box-sc-g0xbh4-0 Ywlla"><button tabindex="0" aria-labelledby=":R1l9b6n6:--label " id=":R1l9b6n6:" aria-expanded="false" aria-controls=":R1l9b6n6H1:" class="Item__LiBox-sc-yeql7o-0 kXKjOF"><div data-component="ActionList.Item--DividerContainer" class="Box-sc-g0xbh4-0 hROlum"><div class="Box-sc-g0xbh4-0 cUxMoC"><span id=":R1l9b6n6:--label" class="Box-sc-g0xbh4-0 bmseMA">Integrate with code scanning</span><span class="Box-sc-g0xbh4-0 lmYNOb"><svg aria-hidden="true" focusable="false" class="Octicon-sc-9kayk9-0 daAEFx" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" style="display:inline-block;user-select:none;vertical-align:text-bottom;overflow:visible"><path d="M12.78 5.22a.749.749 0 0 1 0 1.06l-4.25 4.25a.749.749 0 0 1-1.06 0L3.22 6.28a.749.749 0 1 1 1.06-1.06L8 8.939l3.72-3.719a.749.749 0 0 1 1.06 0Z"></path></svg></span></div></div></button><div><ul id=":R1l9b6n6H1:" aria-labelledby=":R1l9b6n6:" class="Box-sc-g0xbh4-0 gMkIpo"><li class="Item__LiBox-sc-yeql7o-0 lnYQME"><a sx="[object Object]" tabindex="0" aria-labelledby=":R1ll9b6n6:--label " id=":R1ll9b6n6:" aria-current="false" class="Link__StyledLink-sc-14289xe-0 dibTck" href="/en/code-security/code-scanning/integrating-with-code-scanning/about-integration-with-code-scanning"><div data-component="ActionList.Item--DividerContainer" class="Box-sc-g0xbh4-0 hROlum"><span id=":R1ll9b6n6:--label" class="Box-sc-g0xbh4-0 bmseMA">About integration</span></div></a></li><li class="Item__LiBox-sc-yeql7o-0 lnYQME"><a sx="[object Object]" tabindex="0" aria-labelledby=":R2ll9b6n6:--label " id=":R2ll9b6n6:" aria-current="false" class="Link__StyledLink-sc-14289xe-0 dibTck" href="/en/code-security/code-scanning/integrating-with-code-scanning/using-code-scanning-with-your-existing-ci-system"><div data-component="ActionList.Item--DividerContainer" class="Box-sc-g0xbh4-0 hROlum"><span id=":R2ll9b6n6:--label" class="Box-sc-g0xbh4-0 bmseMA">Using code scanning with your existing CI system</span></div></a></li><li class="Item__LiBox-sc-yeql7o-0 lnYQME"><a sx="[object Object]" tabindex="0" aria-labelledby=":R3ll9b6n6:--label " id=":R3ll9b6n6:" aria-current="false" class="Link__StyledLink-sc-14289xe-0 dibTck" href="/en/code-security/code-scanning/integrating-with-code-scanning/uploading-a-sarif-file-to-github"><div data-component="ActionList.Item--DividerContainer" class="Box-sc-g0xbh4-0 hROlum"><span id=":R3ll9b6n6:--label" class="Box-sc-g0xbh4-0 bmseMA">Upload a SARIF file</span></div></a></li><li class="Item__LiBox-sc-yeql7o-0 lnYQME"><a sx="[object Object]" tabindex="0" aria-labelledby=":R4ll9b6n6:--label " id=":R4ll9b6n6:" aria-current="false" class="Link__StyledLink-sc-14289xe-0 dibTck" href="/en/code-security/code-scanning/integrating-with-code-scanning/sarif-support-for-code-scanning"><div data-component="ActionList.Item--DividerContainer" class="Box-sc-g0xbh4-0 hROlum"><span id=":R4ll9b6n6:--label" class="Box-sc-g0xbh4-0 bmseMA">SARIF support</span></div></a></li></ul></div></li><li aria-labelledby=":R1t9b6n6:" class="Box-sc-g0xbh4-0 Ywlla"><button tabindex="0" aria-labelledby=":R1t9b6n6:--label " id=":R1t9b6n6:" aria-expanded="false" aria-controls=":R1t9b6n6H1:" class="Item__LiBox-sc-yeql7o-0 kXKjOF"><div data-component="ActionList.Item--DividerContainer" class="Box-sc-g0xbh4-0 hROlum"><div class="Box-sc-g0xbh4-0 cUxMoC"><span id=":R1t9b6n6:--label" class="Box-sc-g0xbh4-0 bmseMA">Troubleshooting code scanning</span><span class="Box-sc-g0xbh4-0 lmYNOb"><svg aria-hidden="true" focusable="false" class="Octicon-sc-9kayk9-0 daAEFx" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" style="display:inline-block;user-select:none;vertical-align:text-bottom;overflow:visible"><path d="M12.78 5.22a.749.749 0 0 1 0 1.06l-4.25 4.25a.749.749 0 0 1-1.06 0L3.22 6.28a.749.749 0 1 1 1.06-1.06L8 8.939l3.72-3.719a.749.749 0 0 1 1.06 0Z"></path></svg></span></div></div></button><div><ul id=":R1t9b6n6H1:" aria-labelledby=":R1t9b6n6:" class="Box-sc-g0xbh4-0 gMkIpo"><li class="Item__LiBox-sc-yeql7o-0 lnYQME"><a sx="[object Object]" tabindex="0" aria-labelledby=":R1lt9b6n6:--label " id=":R1lt9b6n6:" aria-current="false" class="Link__StyledLink-sc-14289xe-0 dibTck" href="/en/code-security/code-scanning/troubleshooting-code-scanning/advanced-security-must-be-enabled"><div data-component="ActionList.Item--DividerContainer" class="Box-sc-g0xbh4-0 hROlum"><span id=":R1lt9b6n6:--label" class="Box-sc-g0xbh4-0 bmseMA">Advanced Security must be enabled</span></div></a></li><li class="Item__LiBox-sc-yeql7o-0 lnYQME"><a sx="[object Object]" tabindex="0" aria-labelledby=":R2lt9b6n6:--label " id=":R2lt9b6n6:" aria-current="false" class="Link__StyledLink-sc-14289xe-0 dibTck" href="/en/code-security/code-scanning/troubleshooting-code-scanning/alerts-in-generated-code"><div data-component="ActionList.Item--DividerContainer" class="Box-sc-g0xbh4-0 hROlum"><span id=":R2lt9b6n6:--label" class="Box-sc-g0xbh4-0 bmseMA">Alerts in generated code</span></div></a></li><li class="Item__LiBox-sc-yeql7o-0 lnYQME"><a sx="[object Object]" tabindex="0" aria-labelledby=":R3lt9b6n6:--label " id=":R3lt9b6n6:" aria-current="false" class="Link__StyledLink-sc-14289xe-0 dibTck" href="/en/code-security/code-scanning/troubleshooting-code-scanning/analysis-takes-too-long"><div data-component="ActionList.Item--DividerContainer" class="Box-sc-g0xbh4-0 hROlum"><span id=":R3lt9b6n6:--label" class="Box-sc-g0xbh4-0 bmseMA">Analysis takes too long</span></div></a></li><li class="Item__LiBox-sc-yeql7o-0 lnYQME"><a sx="[object Object]" tabindex="0" aria-labelledby=":R4lt9b6n6:--label " id=":R4lt9b6n6:" aria-current="false" class="Link__StyledLink-sc-14289xe-0 dibTck" href="/en/code-security/code-scanning/troubleshooting-code-scanning/automatic-build-failed"><div data-component="ActionList.Item--DividerContainer" class="Box-sc-g0xbh4-0 hROlum"><span id=":R4lt9b6n6:--label" class="Box-sc-g0xbh4-0 bmseMA">Automatic build failed</span></div></a></li><li class="Item__LiBox-sc-yeql7o-0 lnYQME"><a sx="[object Object]" tabindex="0" aria-labelledby=":R5lt9b6n6:--label " id=":R5lt9b6n6:" aria-current="false" class="Link__StyledLink-sc-14289xe-0 dibTck" href="/en/code-security/code-scanning/troubleshooting-code-scanning/c-sharp-compiler-unexpectedly-failing"><div data-component="ActionList.Item--DividerContainer" class="Box-sc-g0xbh4-0 hROlum"><span id=":R5lt9b6n6:--label" class="Box-sc-g0xbh4-0 bmseMA">C# compiler failing</span></div></a></li><li class="Item__LiBox-sc-yeql7o-0 lnYQME"><a sx="[object Object]" tabindex="0" aria-labelledby=":R6lt9b6n6:--label " id=":R6lt9b6n6:" aria-current="false" class="Link__StyledLink-sc-14289xe-0 dibTck" href="/en/code-security/code-scanning/troubleshooting-code-scanning/cannot-enable-codeql-in-a-private-repository"><div data-component="ActionList.Item--DividerContainer" class="Box-sc-g0xbh4-0 hROlum"><span id=":R6lt9b6n6:--label" class="Box-sc-g0xbh4-0 bmseMA">Cannot enable CodeQL in a private repository</span></div></a></li><li class="Item__LiBox-sc-yeql7o-0 lnYQME"><a sx="[object Object]" tabindex="0" aria-labelledby=":R7lt9b6n6:--label " id=":R7lt9b6n6:" aria-current="false" class="Link__StyledLink-sc-14289xe-0 dibTck" href="/en/code-security/code-scanning/troubleshooting-code-scanning/enabling-default-setup-takes-too-long"><div data-component="ActionList.Item--DividerContainer" class="Box-sc-g0xbh4-0 hROlum"><span id=":R7lt9b6n6:--label" class="Box-sc-g0xbh4-0 bmseMA">Enabling default setup takes too long</span></div></a></li><li class="Item__LiBox-sc-yeql7o-0 lnYQME"><a sx="[object Object]" tabindex="0" aria-labelledby=":R8lt9b6n6:--label " id=":R8lt9b6n6:" aria-current="false" class="Link__StyledLink-sc-14289xe-0 dibTck" href="/en/code-security/code-scanning/troubleshooting-code-scanning/extraction-errors-in-the-database"><div data-component="ActionList.Item--DividerContainer" class="Box-sc-g0xbh4-0 hROlum"><span id=":R8lt9b6n6:--label" class="Box-sc-g0xbh4-0 bmseMA">Extraction errors in the database</span></div></a></li><li class="Item__LiBox-sc-yeql7o-0 lnYQME"><a sx="[object Object]" tabindex="0" aria-labelledby=":R9lt9b6n6:--label " id=":R9lt9b6n6:" aria-current="false" class="Link__StyledLink-sc-14289xe-0 dibTck" href="/en/code-security/code-scanning/troubleshooting-code-scanning/fewer-lines-scanned-than-expected"><div data-component="ActionList.Item--DividerContainer" class="Box-sc-g0xbh4-0 hROlum"><span id=":R9lt9b6n6:--label" class="Box-sc-g0xbh4-0 bmseMA">Fewer lines scanned than expected</span></div></a></li><li class="Item__LiBox-sc-yeql7o-0 lnYQME"><a sx="[object Object]" tabindex="0" aria-labelledby=":Ralt9b6n6:--label " id=":Ralt9b6n6:" aria-current="false" class="Link__StyledLink-sc-14289xe-0 dibTck" href="/en/code-security/code-scanning/troubleshooting-code-scanning/logs-not-detailed-enough"><div data-component="ActionList.Item--DividerContainer" class="Box-sc-g0xbh4-0 hROlum"><span id=":Ralt9b6n6:--label" class="Box-sc-g0xbh4-0 bmseMA">Logs not detailed enough</span></div></a></li><li class="Item__LiBox-sc-yeql7o-0 lnYQME"><a sx="[object Object]" tabindex="0" aria-labelledby=":Rblt9b6n6:--label " id=":Rblt9b6n6:" aria-current="false" class="Link__StyledLink-sc-14289xe-0 dibTck" href="/en/code-security/code-scanning/troubleshooting-code-scanning/no-source-code-seen-during-build"><div data-component="ActionList.Item--DividerContainer" class="Box-sc-g0xbh4-0 hROlum"><span id=":Rblt9b6n6:--label" class="Box-sc-g0xbh4-0 bmseMA">No source code seen during build</span></div></a></li><li class="Item__LiBox-sc-yeql7o-0 lnYQME"><a sx="[object Object]" tabindex="0" aria-labelledby=":Rclt9b6n6:--label " id=":Rclt9b6n6:" aria-current="false" class="Link__StyledLink-sc-14289xe-0 dibTck" href="/en/code-security/code-scanning/troubleshooting-code-scanning/not-recognized"><div data-component="ActionList.Item--DividerContainer" class="Box-sc-g0xbh4-0 hROlum"><span id=":Rclt9b6n6:--label" class="Box-sc-g0xbh4-0 bmseMA">Not recognized</span></div></a></li><li class="Item__LiBox-sc-yeql7o-0 lnYQME"><a sx="[object Object]" tabindex="0" aria-labelledby=":Rdlt9b6n6:--label " id=":Rdlt9b6n6:" aria-current="false" class="Link__StyledLink-sc-14289xe-0 dibTck" href="/en/code-security/code-scanning/troubleshooting-code-scanning/out-of-disk-or-memory"><div data-component="ActionList.Item--DividerContainer" class="Box-sc-g0xbh4-0 hROlum"><span id=":Rdlt9b6n6:--label" class="Box-sc-g0xbh4-0 bmseMA">Out of disk or memory</span></div></a></li><li class="Item__LiBox-sc-yeql7o-0 lnYQME"><a sx="[object Object]" tabindex="0" aria-labelledby=":Relt9b6n6:--label " id=":Relt9b6n6:" aria-current="false" class="Link__StyledLink-sc-14289xe-0 dibTck" href="/en/code-security/code-scanning/troubleshooting-code-scanning/resource-not-accessible"><div data-component="ActionList.Item--DividerContainer" class="Box-sc-g0xbh4-0 hROlum"><span id=":Relt9b6n6:--label" class="Box-sc-g0xbh4-0 bmseMA">Resource not accessible</span></div></a></li><li class="Item__LiBox-sc-yeql7o-0 lnYQME"><a sx="[object Object]" tabindex="0" aria-labelledby=":Rflt9b6n6:--label " id=":Rflt9b6n6:" aria-current="false" class="Link__StyledLink-sc-14289xe-0 dibTck" href="/en/code-security/code-scanning/troubleshooting-code-scanning/results-different-than-expected"><div data-component="ActionList.Item--DividerContainer" class="Box-sc-g0xbh4-0 hROlum"><span id=":Rflt9b6n6:--label" class="Box-sc-g0xbh4-0 bmseMA">Results different than expected</span></div></a></li><li class="Item__LiBox-sc-yeql7o-0 lnYQME"><a sx="[object Object]" tabindex="0" aria-labelledby=":Rglt9b6n6:--label " id=":Rglt9b6n6:" aria-current="false" class="Link__StyledLink-sc-14289xe-0 dibTck" href="/en/code-security/code-scanning/troubleshooting-code-scanning/server-error"><div data-component="ActionList.Item--DividerContainer" class="Box-sc-g0xbh4-0 hROlum"><span id=":Rglt9b6n6:--label" class="Box-sc-g0xbh4-0 bmseMA">Server error</span></div></a></li><li class="Item__LiBox-sc-yeql7o-0 lnYQME"><a sx="[object Object]" tabindex="0" aria-labelledby=":Rhlt9b6n6:--label " id=":Rhlt9b6n6:" aria-current="false" class="Link__StyledLink-sc-14289xe-0 dibTck" href="/en/code-security/code-scanning/troubleshooting-code-scanning/some-languages-not-analyzed"><div data-component="ActionList.Item--DividerContainer" class="Box-sc-g0xbh4-0 hROlum"><span id=":Rhlt9b6n6:--label" class="Box-sc-g0xbh4-0 bmseMA">Some languages not analyzed</span></div></a></li><li class="Item__LiBox-sc-yeql7o-0 lnYQME"><a sx="[object Object]" tabindex="0" aria-labelledby=":Rilt9b6n6:--label " id=":Rilt9b6n6:" aria-current="false" class="Link__StyledLink-sc-14289xe-0 dibTck" href="/en/code-security/code-scanning/troubleshooting-code-scanning/two-codeql-workflows"><div data-component="ActionList.Item--DividerContainer" class="Box-sc-g0xbh4-0 hROlum"><span id=":Rilt9b6n6:--label" class="Box-sc-g0xbh4-0 bmseMA">Two CodeQL workflows</span></div></a></li><li class="Item__LiBox-sc-yeql7o-0 lnYQME"><a sx="[object Object]" tabindex="0" aria-labelledby=":Rjlt9b6n6:--label " id=":Rjlt9b6n6:" aria-current="false" class="Link__StyledLink-sc-14289xe-0 dibTck" href="/en/code-security/code-scanning/troubleshooting-code-scanning/unclear-what-triggered-a-workflow"><div data-component="ActionList.Item--DividerContainer" class="Box-sc-g0xbh4-0 hROlum"><span id=":Rjlt9b6n6:--label" class="Box-sc-g0xbh4-0 bmseMA">Unclear what triggered a workflow</span></div></a></li><li class="Item__LiBox-sc-yeql7o-0 lnYQME"><a sx="[object Object]" tabindex="0" aria-labelledby=":Rklt9b6n6:--label " id=":Rklt9b6n6:" aria-current="false" class="Link__StyledLink-sc-14289xe-0 dibTck" href="/en/code-security/code-scanning/troubleshooting-code-scanning/unnecessary-step-found"><div data-component="ActionList.Item--DividerContainer" class="Box-sc-g0xbh4-0 hROlum"><span id=":Rklt9b6n6:--label" class="Box-sc-g0xbh4-0 bmseMA">Unnecessary step found</span></div></a></li><li class="Item__LiBox-sc-yeql7o-0 lnYQME"><a sx="[object Object]" tabindex="0" aria-labelledby=":Rllt9b6n6:--label " id=":Rllt9b6n6:" aria-current="false" class="Link__StyledLink-sc-14289xe-0 dibTck" href="/en/code-security/code-scanning/troubleshooting-code-scanning/kotlin-detected-in-no-build"><div data-component="ActionList.Item--DividerContainer" class="Box-sc-g0xbh4-0 hROlum"><span id=":Rllt9b6n6:--label" class="Box-sc-g0xbh4-0 bmseMA">Kotlin detected in no build</span></div></a></li></ul></div></li><li aria-labelledby=":R259b6n6:" class="Box-sc-g0xbh4-0 Ywlla"><button tabindex="0" aria-labelledby=":R259b6n6:--label " id=":R259b6n6:" aria-expanded="false" aria-controls=":R259b6n6H1:" class="Item__LiBox-sc-yeql7o-0 kXKjOF"><div data-component="ActionList.Item--DividerContainer" class="Box-sc-g0xbh4-0 hROlum"><div class="Box-sc-g0xbh4-0 cUxMoC"><span id=":R259b6n6:--label" class="Box-sc-g0xbh4-0 bmseMA">Troubleshooting SARIF uploads</span><span class="Box-sc-g0xbh4-0 lmYNOb"><svg aria-hidden="true" focusable="false" class="Octicon-sc-9kayk9-0 daAEFx" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" style="display:inline-block;user-select:none;vertical-align:text-bottom;overflow:visible"><path d="M12.78 5.22a.749.749 0 0 1 0 1.06l-4.25 4.25a.749.749 0 0 1-1.06 0L3.22 6.28a.749.749 0 1 1 1.06-1.06L8 8.939l3.72-3.719a.749.749 0 0 1 1.06 0Z"></path></svg></span></div></div></button><div><ul id=":R259b6n6H1:" aria-labelledby=":R259b6n6:" class="Box-sc-g0xbh4-0 gMkIpo"><li class="Item__LiBox-sc-yeql7o-0 lnYQME"><a sx="[object Object]" tabindex="0" aria-labelledby=":R1m59b6n6:--label " id=":R1m59b6n6:" aria-current="false" class="Link__StyledLink-sc-14289xe-0 dibTck" href="/en/code-security/code-scanning/troubleshooting-sarif-uploads/ghas-required"><div data-component="ActionList.Item--DividerContainer" class="Box-sc-g0xbh4-0 hROlum"><span id=":R1m59b6n6:--label" class="Box-sc-g0xbh4-0 bmseMA">GitHub Advanced Security disabled</span></div></a></li><li class="Item__LiBox-sc-yeql7o-0 lnYQME"><a sx="[object Object]" tabindex="0" aria-labelledby=":R2m59b6n6:--label " id=":R2m59b6n6:" aria-current="false" class="Link__StyledLink-sc-14289xe-0 dibTck" href="/en/code-security/code-scanning/troubleshooting-sarif-uploads/default-setup-enabled"><div data-component="ActionList.Item--DividerContainer" class="Box-sc-g0xbh4-0 hROlum"><span id=":R2m59b6n6:--label" class="Box-sc-g0xbh4-0 bmseMA">Default setup is enabled</span></div></a></li><li class="Item__LiBox-sc-yeql7o-0 lnYQME"><a sx="[object Object]" tabindex="0" aria-labelledby=":R3m59b6n6:--label " id=":R3m59b6n6:" aria-current="false" class="Link__StyledLink-sc-14289xe-0 dibTck" href="/en/code-security/code-scanning/troubleshooting-sarif-uploads/missing-token"><div data-component="ActionList.Item--DividerContainer" class="Box-sc-g0xbh4-0 hROlum"><span id=":R3m59b6n6:--label" class="Box-sc-g0xbh4-0 bmseMA">GitHub token missing</span></div></a></li><li class="Item__LiBox-sc-yeql7o-0 lnYQME"><a sx="[object Object]" tabindex="0" aria-labelledby=":R4m59b6n6:--label " id=":R4m59b6n6:" aria-current="false" class="Link__StyledLink-sc-14289xe-0 dibTck" href="/en/code-security/code-scanning/troubleshooting-sarif-uploads/sarif-invalid"><div data-component="ActionList.Item--DividerContainer" class="Box-sc-g0xbh4-0 hROlum"><span id=":R4m59b6n6:--label" class="Box-sc-g0xbh4-0 bmseMA">SARIF file invalid</span></div></a></li><li class="Item__LiBox-sc-yeql7o-0 lnYQME"><a sx="[object Object]" tabindex="0" aria-labelledby=":R5m59b6n6:--label " id=":R5m59b6n6:" aria-current="false" class="Link__StyledLink-sc-14289xe-0 dibTck" href="/en/code-security/code-scanning/troubleshooting-sarif-uploads/file-too-large"><div data-component="ActionList.Item--DividerContainer" class="Box-sc-g0xbh4-0 hROlum"><span id=":R5m59b6n6:--label" class="Box-sc-g0xbh4-0 bmseMA">Results file too large</span></div></a></li><li class="Item__LiBox-sc-yeql7o-0 lnYQME"><a sx="[object Object]" tabindex="0" aria-labelledby=":R6m59b6n6:--label " id=":R6m59b6n6:" aria-current="false" class="Link__StyledLink-sc-14289xe-0 dibTck" href="/en/code-security/code-scanning/troubleshooting-sarif-uploads/results-exceed-limit"><div data-component="ActionList.Item--DividerContainer" class="Box-sc-g0xbh4-0 hROlum"><span id=":R6m59b6n6:--label" class="Box-sc-g0xbh4-0 bmseMA">Results exceed limits</span></div></a></li></ul></div></li></ul></div></li><li aria-labelledby=":Rbb6n6:" class="Box-sc-g0xbh4-0 Ywlla"><button tabindex="0" aria-labelledby=":Rbb6n6:--label " id=":Rbb6n6:" aria-expanded="false" aria-controls=":Rbb6n6H1:" class="Item__LiBox-sc-yeql7o-0 itjSOb"><div data-component="ActionList.Item--DividerContainer" class="Box-sc-g0xbh4-0 hROlum"><div class="Box-sc-g0xbh4-0 cUxMoC"><span id=":Rbb6n6:--label" class="Box-sc-g0xbh4-0 bmseMA">CodeQL CLI</span><span class="Box-sc-g0xbh4-0 lmYNOb"><svg aria-hidden="true" focusable="false" class="Octicon-sc-9kayk9-0 daAEFx" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" style="display:inline-block;user-select:none;vertical-align:text-bottom;overflow:visible"><path d="M12.78 5.22a.749.749 0 0 1 0 1.06l-4.25 4.25a.749.749 0 0 1-1.06 0L3.22 6.28a.749.749 0 1 1 1.06-1.06L8 8.939l3.72-3.719a.749.749 0 0 1 1.06 0Z"></path></svg></span></div></div></button><div><ul id=":Rbb6n6H1:" aria-labelledby=":Rbb6n6:" class="Box-sc-g0xbh4-0 gMkIpo"><li aria-labelledby=":Rdbb6n6:" class="Box-sc-g0xbh4-0 Ywlla"><button tabindex="0" aria-labelledby=":Rdbb6n6:--label " id=":Rdbb6n6:" aria-expanded="false" aria-controls=":Rdbb6n6H1:" class="Item__LiBox-sc-yeql7o-0 kXKjOF"><div data-component="ActionList.Item--DividerContainer" class="Box-sc-g0xbh4-0 hROlum"><div class="Box-sc-g0xbh4-0 cUxMoC"><span id=":Rdbb6n6:--label" class="Box-sc-g0xbh4-0 bmseMA">Getting started</span><span class="Box-sc-g0xbh4-0 lmYNOb"><svg aria-hidden="true" focusable="false" class="Octicon-sc-9kayk9-0 daAEFx" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" style="display:inline-block;user-select:none;vertical-align:text-bottom;overflow:visible"><path d="M12.78 5.22a.749.749 0 0 1 0 1.06l-4.25 4.25a.749.749 0 0 1-1.06 0L3.22 6.28a.749.749 0 1 1 1.06-1.06L8 8.939l3.72-3.719a.749.749 0 0 1 1.06 0Z"></path></svg></span></div></div></button><div><ul id=":Rdbb6n6H1:" aria-labelledby=":Rdbb6n6:" class="Box-sc-g0xbh4-0 gMkIpo"><li class="Item__LiBox-sc-yeql7o-0 lnYQME"><a sx="[object Object]" tabindex="0" aria-labelledby=":Rddbb6n6:--label " id=":Rddbb6n6:" aria-current="false" class="Link__StyledLink-sc-14289xe-0 dibTck" href="/en/code-security/codeql-cli/getting-started-with-the-codeql-cli/about-the-codeql-cli"><div data-component="ActionList.Item--DividerContainer" class="Box-sc-g0xbh4-0 hROlum"><span id=":Rddbb6n6:--label" class="Box-sc-g0xbh4-0 bmseMA">About the CodeQL CLI</span></div></a></li><li class="Item__LiBox-sc-yeql7o-0 lnYQME"><a sx="[object Object]" tabindex="0" aria-labelledby=":Rldbb6n6:--label " id=":Rldbb6n6:" aria-current="false" class="Link__StyledLink-sc-14289xe-0 dibTck" href="/en/code-security/codeql-cli/getting-started-with-the-codeql-cli/setting-up-the-codeql-cli"><div data-component="ActionList.Item--DividerContainer" class="Box-sc-g0xbh4-0 hROlum"><span id=":Rldbb6n6:--label" class="Box-sc-g0xbh4-0 bmseMA">Setting up the CodeQL CLI</span></div></a></li><li class="Item__LiBox-sc-yeql7o-0 lnYQME"><a sx="[object Object]" tabindex="0" aria-labelledby=":Rtdbb6n6:--label " id=":Rtdbb6n6:" aria-current="false" class="Link__StyledLink-sc-14289xe-0 dibTck" href="/en/code-security/codeql-cli/getting-started-with-the-codeql-cli/preparing-your-code-for-codeql-analysis"><div data-component="ActionList.Item--DividerContainer" class="Box-sc-g0xbh4-0 hROlum"><span id=":Rtdbb6n6:--label" class="Box-sc-g0xbh4-0 bmseMA">Preparing code for analysis</span></div></a></li><li class="Item__LiBox-sc-yeql7o-0 lnYQME"><a sx="[object Object]" tabindex="0" aria-labelledby=":R15dbb6n6:--label " id=":R15dbb6n6:" aria-current="false" class="Link__StyledLink-sc-14289xe-0 dibTck" href="/en/code-security/codeql-cli/getting-started-with-the-codeql-cli/analyzing-your-code-with-codeql-queries"><div data-component="ActionList.Item--DividerContainer" class="Box-sc-g0xbh4-0 hROlum"><span id=":R15dbb6n6:--label" class="Box-sc-g0xbh4-0 bmseMA">Analyzing code</span></div></a></li><li class="Item__LiBox-sc-yeql7o-0 lnYQME"><a sx="[object Object]" tabindex="0" aria-labelledby=":R1ddbb6n6:--label " id=":R1ddbb6n6:" aria-current="false" class="Link__StyledLink-sc-14289xe-0 dibTck" href="/en/code-security/codeql-cli/getting-started-with-the-codeql-cli/uploading-codeql-analysis-results-to-github"><div data-component="ActionList.Item--DividerContainer" class="Box-sc-g0xbh4-0 hROlum"><span id=":R1ddbb6n6:--label" class="Box-sc-g0xbh4-0 bmseMA">Uploading results to GitHub</span></div></a></li><li class="Item__LiBox-sc-yeql7o-0 lnYQME"><a sx="[object Object]" tabindex="0" aria-labelledby=":R1ldbb6n6:--label " id=":R1ldbb6n6:" aria-current="false" class="Link__StyledLink-sc-14289xe-0 dibTck" href="/en/code-security/codeql-cli/getting-started-with-the-codeql-cli/customizing-analysis-with-codeql-packs"><div data-component="ActionList.Item--DividerContainer" class="Box-sc-g0xbh4-0 hROlum"><span id=":R1ldbb6n6:--label" class="Box-sc-g0xbh4-0 bmseMA">Customizing analysis</span></div></a></li></ul></div></li><li aria-labelledby=":Rlbb6n6:" class="Box-sc-g0xbh4-0 Ywlla"><button tabindex="0" aria-labelledby=":Rlbb6n6:--label " id=":Rlbb6n6:" aria-expanded="false" aria-controls=":Rlbb6n6H1:" class="Item__LiBox-sc-yeql7o-0 kXKjOF"><div data-component="ActionList.Item--DividerContainer" class="Box-sc-g0xbh4-0 hROlum"><div class="Box-sc-g0xbh4-0 cUxMoC"><span id=":Rlbb6n6:--label" class="Box-sc-g0xbh4-0 bmseMA">Advanced functionality</span><span class="Box-sc-g0xbh4-0 lmYNOb"><svg aria-hidden="true" focusable="false" class="Octicon-sc-9kayk9-0 daAEFx" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" style="display:inline-block;user-select:none;vertical-align:text-bottom;overflow:visible"><path d="M12.78 5.22a.749.749 0 0 1 0 1.06l-4.25 4.25a.749.749 0 0 1-1.06 0L3.22 6.28a.749.749 0 1 1 1.06-1.06L8 8.939l3.72-3.719a.749.749 0 0 1 1.06 0Z"></path></svg></span></div></div></button><div><ul id=":Rlbb6n6H1:" aria-labelledby=":Rlbb6n6:" class="Box-sc-g0xbh4-0 gMkIpo"><li class="Item__LiBox-sc-yeql7o-0 lnYQME"><a sx="[object Object]" tabindex="0" aria-labelledby=":Rdlbb6n6:--label " id=":Rdlbb6n6:" aria-current="false" class="Link__StyledLink-sc-14289xe-0 dibTck" href="/en/code-security/codeql-cli/using-the-advanced-functionality-of-the-codeql-cli/advanced-setup-of-the-codeql-cli"><div data-component="ActionList.Item--DividerContainer" class="Box-sc-g0xbh4-0 hROlum"><span id=":Rdlbb6n6:--label" class="Box-sc-g0xbh4-0 bmseMA">Advanced setup of the CodeQL CLI</span></div></a></li><li class="Item__LiBox-sc-yeql7o-0 lnYQME"><a sx="[object Object]" tabindex="0" aria-labelledby=":Rllbb6n6:--label " id=":Rllbb6n6:" aria-current="false" class="Link__StyledLink-sc-14289xe-0 dibTck" href="/en/code-security/codeql-cli/using-the-advanced-functionality-of-the-codeql-cli/about-codeql-workspaces"><div data-component="ActionList.Item--DividerContainer" class="Box-sc-g0xbh4-0 hROlum"><span id=":Rllbb6n6:--label" class="Box-sc-g0xbh4-0 bmseMA">About CodeQL workspaces</span></div></a></li><li class="Item__LiBox-sc-yeql7o-0 lnYQME"><a sx="[object Object]" tabindex="0" aria-labelledby=":Rtlbb6n6:--label " id=":Rtlbb6n6:" aria-current="false" class="Link__StyledLink-sc-14289xe-0 dibTck" href="/en/code-security/codeql-cli/using-the-advanced-functionality-of-the-codeql-cli/using-custom-queries-with-the-codeql-cli"><div data-component="ActionList.Item--DividerContainer" class="Box-sc-g0xbh4-0 hROlum"><span id=":Rtlbb6n6:--label" class="Box-sc-g0xbh4-0 bmseMA">Using custom queries with the CodeQL CLI</span></div></a></li><li class="Item__LiBox-sc-yeql7o-0 lnYQME"><a sx="[object Object]" tabindex="0" aria-labelledby=":R15lbb6n6:--label " id=":R15lbb6n6:" aria-current="false" class="Link__StyledLink-sc-14289xe-0 dibTck" href="/en/code-security/codeql-cli/using-the-advanced-functionality-of-the-codeql-cli/creating-codeql-query-suites"><div data-component="ActionList.Item--DividerContainer" class="Box-sc-g0xbh4-0 hROlum"><span id=":R15lbb6n6:--label" class="Box-sc-g0xbh4-0 bmseMA">Creating CodeQL query suites</span></div></a></li><li class="Item__LiBox-sc-yeql7o-0 lnYQME"><a sx="[object Object]" tabindex="0" aria-labelledby=":R1dlbb6n6:--label " id=":R1dlbb6n6:" aria-current="false" class="Link__StyledLink-sc-14289xe-0 dibTck" href="/en/code-security/codeql-cli/using-the-advanced-functionality-of-the-codeql-cli/testing-custom-queries"><div data-component="ActionList.Item--DividerContainer" class="Box-sc-g0xbh4-0 hROlum"><span id=":R1dlbb6n6:--label" class="Box-sc-g0xbh4-0 bmseMA">Testing custom queries</span></div></a></li><li class="Item__LiBox-sc-yeql7o-0 lnYQME"><a sx="[object Object]" tabindex="0" aria-labelledby=":R1llbb6n6:--label " id=":R1llbb6n6:" aria-current="false" class="Link__StyledLink-sc-14289xe-0 dibTck" href="/en/code-security/codeql-cli/using-the-advanced-functionality-of-the-codeql-cli/testing-query-help-files"><div data-component="ActionList.Item--DividerContainer" class="Box-sc-g0xbh4-0 hROlum"><span id=":R1llbb6n6:--label" class="Box-sc-g0xbh4-0 bmseMA">Testing query help files</span></div></a></li><li class="Item__LiBox-sc-yeql7o-0 lnYQME"><a sx="[object Object]" tabindex="0" aria-labelledby=":R1tlbb6n6:--label " id=":R1tlbb6n6:" aria-current="false" class="Link__StyledLink-sc-14289xe-0 dibTck" href="/en/code-security/codeql-cli/using-the-advanced-functionality-of-the-codeql-cli/creating-and-working-with-codeql-packs"><div data-component="ActionList.Item--DividerContainer" class="Box-sc-g0xbh4-0 hROlum"><span id=":R1tlbb6n6:--label" class="Box-sc-g0xbh4-0 bmseMA">Creating and working with CodeQL packs</span></div></a></li><li class="Item__LiBox-sc-yeql7o-0 lnYQME"><a sx="[object Object]" tabindex="0" aria-labelledby=":R25lbb6n6:--label " id=":R25lbb6n6:" aria-current="false" class="Link__StyledLink-sc-14289xe-0 dibTck" href="/en/code-security/codeql-cli/using-the-advanced-functionality-of-the-codeql-cli/publishing-and-using-codeql-packs"><div data-component="ActionList.Item--DividerContainer" class="Box-sc-g0xbh4-0 hROlum"><span id=":R25lbb6n6:--label" class="Box-sc-g0xbh4-0 bmseMA">Publishing and using CodeQL packs</span></div></a></li><li class="Item__LiBox-sc-yeql7o-0 lnYQME"><a sx="[object Object]" tabindex="0" aria-labelledby=":R2dlbb6n6:--label " id=":R2dlbb6n6:" aria-current="false" class="Link__StyledLink-sc-14289xe-0 dibTck" href="/en/code-security/codeql-cli/using-the-advanced-functionality-of-the-codeql-cli/specifying-command-options-in-a-codeql-configuration-file"><div data-component="ActionList.Item--DividerContainer" class="Box-sc-g0xbh4-0 hROlum"><span id=":R2dlbb6n6:--label" class="Box-sc-g0xbh4-0 bmseMA">Specifying command options in a CodeQL configuration file</span></div></a></li><li class="Item__LiBox-sc-yeql7o-0 lnYQME"><a sx="[object Object]" tabindex="0" aria-labelledby=":R2llbb6n6:--label " id=":R2llbb6n6:" aria-current="false" class="Link__StyledLink-sc-14289xe-0 dibTck" href="/en/code-security/codeql-cli/using-the-advanced-functionality-of-the-codeql-cli/query-reference-files"><div data-component="ActionList.Item--DividerContainer" class="Box-sc-g0xbh4-0 hROlum"><span id=":R2llbb6n6:--label" class="Box-sc-g0xbh4-0 bmseMA">Query reference files</span></div></a></li><li class="Item__LiBox-sc-yeql7o-0 lnYQME"><a sx="[object Object]" tabindex="0" aria-labelledby=":R2tlbb6n6:--label " id=":R2tlbb6n6:" aria-current="false" class="Link__StyledLink-sc-14289xe-0 dibTck" href="/en/code-security/codeql-cli/using-the-advanced-functionality-of-the-codeql-cli/sarif-output"><div data-component="ActionList.Item--DividerContainer" class="Box-sc-g0xbh4-0 hROlum"><span id=":R2tlbb6n6:--label" class="Box-sc-g0xbh4-0 bmseMA">CodeQL CLI SARIF output</span></div></a></li><li class="Item__LiBox-sc-yeql7o-0 lnYQME"><a sx="[object Object]" tabindex="0" aria-labelledby=":R35lbb6n6:--label " id=":R35lbb6n6:" aria-current="false" class="Link__StyledLink-sc-14289xe-0 dibTck" href="/en/code-security/codeql-cli/using-the-advanced-functionality-of-the-codeql-cli/csv-output"><div data-component="ActionList.Item--DividerContainer" class="Box-sc-g0xbh4-0 hROlum"><span id=":R35lbb6n6:--label" class="Box-sc-g0xbh4-0 bmseMA">CodeQL CLI CSV output</span></div></a></li><li class="Item__LiBox-sc-yeql7o-0 lnYQME"><a sx="[object Object]" tabindex="0" aria-labelledby=":R3dlbb6n6:--label " id=":R3dlbb6n6:" aria-current="false" class="Link__StyledLink-sc-14289xe-0 dibTck" href="/en/code-security/codeql-cli/using-the-advanced-functionality-of-the-codeql-cli/extractor-options"><div data-component="ActionList.Item--DividerContainer" class="Box-sc-g0xbh4-0 hROlum"><span id=":R3dlbb6n6:--label" class="Box-sc-g0xbh4-0 bmseMA">Extractor options</span></div></a></li><li class="Item__LiBox-sc-yeql7o-0 lnYQME"><a sx="[object Object]" tabindex="0" aria-labelledby=":R3llbb6n6:--label " id=":R3llbb6n6:" aria-current="false" class="Link__StyledLink-sc-14289xe-0 dibTck" href="/en/code-security/codeql-cli/using-the-advanced-functionality-of-the-codeql-cli/exit-codes"><div data-component="ActionList.Item--DividerContainer" class="Box-sc-g0xbh4-0 hROlum"><span id=":R3llbb6n6:--label" class="Box-sc-g0xbh4-0 bmseMA">Exit codes</span></div></a></li></ul></div></li><li aria-labelledby=":Rtbb6n6:" class="Box-sc-g0xbh4-0 Ywlla"><button tabindex="0" aria-labelledby=":Rtbb6n6:--label " id=":Rtbb6n6:" aria-expanded="false" aria-controls=":Rtbb6n6H1:" class="Item__LiBox-sc-yeql7o-0 kXKjOF"><div data-component="ActionList.Item--DividerContainer" class="Box-sc-g0xbh4-0 hROlum"><div class="Box-sc-g0xbh4-0 cUxMoC"><span id=":Rtbb6n6:--label" class="Box-sc-g0xbh4-0 bmseMA">CodeQL CLI manual</span><span class="Box-sc-g0xbh4-0 lmYNOb"><svg aria-hidden="true" focusable="false" class="Octicon-sc-9kayk9-0 daAEFx" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" style="display:inline-block;user-select:none;vertical-align:text-bottom;overflow:visible"><path d="M12.78 5.22a.749.749 0 0 1 0 1.06l-4.25 4.25a.749.749 0 0 1-1.06 0L3.22 6.28a.749.749 0 1 1 1.06-1.06L8 8.939l3.72-3.719a.749.749 0 0 1 1.06 0Z"></path></svg></span></div></div></button><div><ul id=":Rtbb6n6H1:" aria-labelledby=":Rtbb6n6:" class="Box-sc-g0xbh4-0 gMkIpo"><li class="Item__LiBox-sc-yeql7o-0 lnYQME"><a sx="[object Object]" tabindex="0" aria-labelledby=":Rdtbb6n6:--label " id=":Rdtbb6n6:" aria-current="false" class="Link__StyledLink-sc-14289xe-0 dibTck" href="/en/code-security/codeql-cli/codeql-cli-manual/bqrs-decode"><div data-component="ActionList.Item--DividerContainer" class="Box-sc-g0xbh4-0 hROlum"><span id=":Rdtbb6n6:--label" class="Box-sc-g0xbh4-0 bmseMA">bqrs decode</span></div></a></li><li class="Item__LiBox-sc-yeql7o-0 lnYQME"><a sx="[object Object]" tabindex="0" aria-labelledby=":Rltbb6n6:--label " id=":Rltbb6n6:" aria-current="false" class="Link__StyledLink-sc-14289xe-0 dibTck" href="/en/code-security/codeql-cli/codeql-cli-manual/bqrs-diff"><div data-component="ActionList.Item--DividerContainer" class="Box-sc-g0xbh4-0 hROlum"><span id=":Rltbb6n6:--label" class="Box-sc-g0xbh4-0 bmseMA">bqrs diff</span></div></a></li><li class="Item__LiBox-sc-yeql7o-0 lnYQME"><a sx="[object Object]" tabindex="0" aria-labelledby=":Rttbb6n6:--label " id=":Rttbb6n6:" aria-current="false" class="Link__StyledLink-sc-14289xe-0 dibTck" href="/en/code-security/codeql-cli/codeql-cli-manual/bqrs-hash"><div data-component="ActionList.Item--DividerContainer" class="Box-sc-g0xbh4-0 hROlum"><span id=":Rttbb6n6:--label" class="Box-sc-g0xbh4-0 bmseMA">bqrs hash</span></div></a></li><li class="Item__LiBox-sc-yeql7o-0 lnYQME"><a sx="[object Object]" tabindex="0" aria-labelledby=":R15tbb6n6:--label " id=":R15tbb6n6:" aria-current="false" class="Link__StyledLink-sc-14289xe-0 dibTck" href="/en/code-security/codeql-cli/codeql-cli-manual/bqrs-info"><div data-component="ActionList.Item--DividerContainer" class="Box-sc-g0xbh4-0 hROlum"><span id=":R15tbb6n6:--label" class="Box-sc-g0xbh4-0 bmseMA">bqrs info</span></div></a></li><li class="Item__LiBox-sc-yeql7o-0 lnYQME"><a sx="[object Object]" tabindex="0" aria-labelledby=":R1dtbb6n6:--label " id=":R1dtbb6n6:" aria-current="false" class="Link__StyledLink-sc-14289xe-0 dibTck" href="/en/code-security/codeql-cli/codeql-cli-manual/bqrs-interpret"><div data-component="ActionList.Item--DividerContainer" class="Box-sc-g0xbh4-0 hROlum"><span id=":R1dtbb6n6:--label" class="Box-sc-g0xbh4-0 bmseMA">bqrs interpret</span></div></a></li><li class="Item__LiBox-sc-yeql7o-0 lnYQME"><a sx="[object Object]" tabindex="0" aria-labelledby=":R1ltbb6n6:--label " id=":R1ltbb6n6:" aria-current="false" class="Link__StyledLink-sc-14289xe-0 dibTck" href="/en/code-security/codeql-cli/codeql-cli-manual/database-add-diagnostic"><div data-component="ActionList.Item--DividerContainer" class="Box-sc-g0xbh4-0 hROlum"><span id=":R1ltbb6n6:--label" class="Box-sc-g0xbh4-0 bmseMA">database add-diagnostic</span></div></a></li><li class="Item__LiBox-sc-yeql7o-0 lnYQME"><a sx="[object Object]" tabindex="0" aria-labelledby=":R1ttbb6n6:--label " id=":R1ttbb6n6:" aria-current="false" class="Link__StyledLink-sc-14289xe-0 dibTck" href="/en/code-security/codeql-cli/codeql-cli-manual/database-analyze"><div data-component="ActionList.Item--DividerContainer" class="Box-sc-g0xbh4-0 hROlum"><span id=":R1ttbb6n6:--label" class="Box-sc-g0xbh4-0 bmseMA">database analyze</span></div></a></li><li class="Item__LiBox-sc-yeql7o-0 lnYQME"><a sx="[object Object]" tabindex="0" aria-labelledby=":R25tbb6n6:--label " id=":R25tbb6n6:" aria-current="false" class="Link__StyledLink-sc-14289xe-0 dibTck" href="/en/code-security/codeql-cli/codeql-cli-manual/database-bundle"><div data-component="ActionList.Item--DividerContainer" class="Box-sc-g0xbh4-0 hROlum"><span id=":R25tbb6n6:--label" class="Box-sc-g0xbh4-0 bmseMA">database bundle</span></div></a></li><li class="Item__LiBox-sc-yeql7o-0 lnYQME"><a sx="[object Object]" tabindex="0" aria-labelledby=":R2dtbb6n6:--label " id=":R2dtbb6n6:" aria-current="false" class="Link__StyledLink-sc-14289xe-0 dibTck" href="/en/code-security/codeql-cli/codeql-cli-manual/database-cleanup"><div data-component="ActionList.Item--DividerContainer" class="Box-sc-g0xbh4-0 hROlum"><span id=":R2dtbb6n6:--label" class="Box-sc-g0xbh4-0 bmseMA">database cleanup</span></div></a></li><li class="Item__LiBox-sc-yeql7o-0 lnYQME"><a sx="[object Object]" tabindex="0" aria-labelledby=":R2ltbb6n6:--label " id=":R2ltbb6n6:" aria-current="false" class="Link__StyledLink-sc-14289xe-0 dibTck" href="/en/code-security/codeql-cli/codeql-cli-manual/database-create"><div data-component="ActionList.Item--DividerContainer" class="Box-sc-g0xbh4-0 hROlum"><span id=":R2ltbb6n6:--label" class="Box-sc-g0xbh4-0 bmseMA">database create</span></div></a></li><li class="Item__LiBox-sc-yeql7o-0 lnYQME"><a sx="[object Object]" tabindex="0" aria-labelledby=":R2ttbb6n6:--label " id=":R2ttbb6n6:" aria-current="false" class="Link__StyledLink-sc-14289xe-0 dibTck" href="/en/code-security/codeql-cli/codeql-cli-manual/database-export-diagnostics"><div data-component="ActionList.Item--DividerContainer" class="Box-sc-g0xbh4-0 hROlum"><span id=":R2ttbb6n6:--label" class="Box-sc-g0xbh4-0 bmseMA">database export-diagnostics</span></div></a></li><li class="Item__LiBox-sc-yeql7o-0 lnYQME"><a sx="[object Object]" tabindex="0" aria-labelledby=":R35tbb6n6:--label " id=":R35tbb6n6:" aria-current="false" class="Link__StyledLink-sc-14289xe-0 dibTck" href="/en/code-security/codeql-cli/codeql-cli-manual/database-finalize"><div data-component="ActionList.Item--DividerContainer" class="Box-sc-g0xbh4-0 hROlum"><span id=":R35tbb6n6:--label" class="Box-sc-g0xbh4-0 bmseMA">database finalize</span></div></a></li><li class="Item__LiBox-sc-yeql7o-0 lnYQME"><a sx="[object Object]" tabindex="0" aria-labelledby=":R3dtbb6n6:--label " id=":R3dtbb6n6:" aria-current="false" class="Link__StyledLink-sc-14289xe-0 dibTck" href="/en/code-security/codeql-cli/codeql-cli-manual/database-import"><div data-component="ActionList.Item--DividerContainer" class="Box-sc-g0xbh4-0 hROlum"><span id=":R3dtbb6n6:--label" class="Box-sc-g0xbh4-0 bmseMA">database import</span></div></a></li><li class="Item__LiBox-sc-yeql7o-0 lnYQME"><a sx="[object Object]" tabindex="0" aria-labelledby=":R3ltbb6n6:--label " id=":R3ltbb6n6:" aria-current="false" class="Link__StyledLink-sc-14289xe-0 dibTck" href="/en/code-security/codeql-cli/codeql-cli-manual/database-index-files"><div data-component="ActionList.Item--DividerContainer" class="Box-sc-g0xbh4-0 hROlum"><span id=":R3ltbb6n6:--label" class="Box-sc-g0xbh4-0 bmseMA">database index-files</span></div></a></li><li class="Item__LiBox-sc-yeql7o-0 lnYQME"><a sx="[object Object]" tabindex="0" aria-labelledby=":R3ttbb6n6:--label " id=":R3ttbb6n6:" aria-current="false" class="Link__StyledLink-sc-14289xe-0 dibTck" href="/en/code-security/codeql-cli/codeql-cli-manual/database-init"><div data-component="ActionList.Item--DividerContainer" class="Box-sc-g0xbh4-0 hROlum"><span id=":R3ttbb6n6:--label" class="Box-sc-g0xbh4-0 bmseMA">database init</span></div></a></li><li class="Item__LiBox-sc-yeql7o-0 lnYQME"><a sx="[object Object]" tabindex="0" aria-labelledby=":R45tbb6n6:--label " id=":R45tbb6n6:" aria-current="false" class="Link__StyledLink-sc-14289xe-0 dibTck" href="/en/code-security/codeql-cli/codeql-cli-manual/database-interpret-results"><div data-component="ActionList.Item--DividerContainer" class="Box-sc-g0xbh4-0 hROlum"><span id=":R45tbb6n6:--label" class="Box-sc-g0xbh4-0 bmseMA">database interpret-results</span></div></a></li><li class="Item__LiBox-sc-yeql7o-0 lnYQME"><a sx="[object Object]" tabindex="0" aria-labelledby=":R4dtbb6n6:--label " id=":R4dtbb6n6:" aria-current="false" class="Link__StyledLink-sc-14289xe-0 dibTck" href="/en/code-security/codeql-cli/codeql-cli-manual/database-print-baseline"><div data-component="ActionList.Item--DividerContainer" class="Box-sc-g0xbh4-0 hROlum"><span id=":R4dtbb6n6:--label" class="Box-sc-g0xbh4-0 bmseMA">database print-baseline</span></div></a></li><li class="Item__LiBox-sc-yeql7o-0 lnYQME"><a sx="[object Object]" tabindex="0" aria-labelledby=":R4ltbb6n6:--label " id=":R4ltbb6n6:" aria-current="false" class="Link__StyledLink-sc-14289xe-0 dibTck" href="/en/code-security/codeql-cli/codeql-cli-manual/database-run-queries"><div data-component="ActionList.Item--DividerContainer" class="Box-sc-g0xbh4-0 hROlum"><span id=":R4ltbb6n6:--label" class="Box-sc-g0xbh4-0 bmseMA">database run-queries</span></div></a></li><li class="Item__LiBox-sc-yeql7o-0 lnYQME"><a sx="[object Object]" tabindex="0" aria-labelledby=":R4ttbb6n6:--label " id=":R4ttbb6n6:" aria-current="false" class="Link__StyledLink-sc-14289xe-0 dibTck" href="/en/code-security/codeql-cli/codeql-cli-manual/database-trace-command"><div data-component="ActionList.Item--DividerContainer" class="Box-sc-g0xbh4-0 hROlum"><span id=":R4ttbb6n6:--label" class="Box-sc-g0xbh4-0 bmseMA">database trace-command</span></div></a></li><li class="Item__LiBox-sc-yeql7o-0 lnYQME"><a sx="[object Object]" tabindex="0" aria-labelledby=":R55tbb6n6:--label " id=":R55tbb6n6:" aria-current="false" class="Link__StyledLink-sc-14289xe-0 dibTck" href="/en/code-security/codeql-cli/codeql-cli-manual/database-unbundle"><div data-component="ActionList.Item--DividerContainer" class="Box-sc-g0xbh4-0 hROlum"><span id=":R55tbb6n6:--label" class="Box-sc-g0xbh4-0 bmseMA">database unbundle</span></div></a></li><li class="Item__LiBox-sc-yeql7o-0 lnYQME"><a sx="[object Object]" tabindex="0" aria-labelledby=":R5dtbb6n6:--label " id=":R5dtbb6n6:" aria-current="false" class="Link__StyledLink-sc-14289xe-0 dibTck" href="/en/code-security/codeql-cli/codeql-cli-manual/database-upgrade"><div data-component="ActionList.Item--DividerContainer" class="Box-sc-g0xbh4-0 hROlum"><span id=":R5dtbb6n6:--label" class="Box-sc-g0xbh4-0 bmseMA">database upgrade</span></div></a></li><li class="Item__LiBox-sc-yeql7o-0 lnYQME"><a sx="[object Object]" tabindex="0" aria-labelledby=":R5ltbb6n6:--label " id=":R5ltbb6n6:" aria-current="false" class="Link__StyledLink-sc-14289xe-0 dibTck" href="/en/code-security/codeql-cli/codeql-cli-manual/dataset-check"><div data-component="ActionList.Item--DividerContainer" class="Box-sc-g0xbh4-0 hROlum"><span id=":R5ltbb6n6:--label" class="Box-sc-g0xbh4-0 bmseMA">dataset check</span></div></a></li><li class="Item__LiBox-sc-yeql7o-0 lnYQME"><a sx="[object Object]" tabindex="0" aria-labelledby=":R5ttbb6n6:--label " id=":R5ttbb6n6:" aria-current="false" class="Link__StyledLink-sc-14289xe-0 dibTck" href="/en/code-security/codeql-cli/codeql-cli-manual/dataset-cleanup"><div data-component="ActionList.Item--DividerContainer" class="Box-sc-g0xbh4-0 hROlum"><span id=":R5ttbb6n6:--label" class="Box-sc-g0xbh4-0 bmseMA">dataset cleanup</span></div></a></li><li class="Item__LiBox-sc-yeql7o-0 lnYQME"><a sx="[object Object]" tabindex="0" aria-labelledby=":R65tbb6n6:--label " id=":R65tbb6n6:" aria-current="false" class="Link__StyledLink-sc-14289xe-0 dibTck" href="/en/code-security/codeql-cli/codeql-cli-manual/dataset-import"><div data-component="ActionList.Item--DividerContainer" class="Box-sc-g0xbh4-0 hROlum"><span id=":R65tbb6n6:--label" class="Box-sc-g0xbh4-0 bmseMA">dataset import</span></div></a></li><li class="Item__LiBox-sc-yeql7o-0 lnYQME"><a sx="[object Object]" tabindex="0" aria-labelledby=":R6dtbb6n6:--label " id=":R6dtbb6n6:" aria-current="false" class="Link__StyledLink-sc-14289xe-0 dibTck" href="/en/code-security/codeql-cli/codeql-cli-manual/dataset-measure"><div data-component="ActionList.Item--DividerContainer" class="Box-sc-g0xbh4-0 hROlum"><span id=":R6dtbb6n6:--label" class="Box-sc-g0xbh4-0 bmseMA">dataset measure</span></div></a></li><li class="Item__LiBox-sc-yeql7o-0 lnYQME"><a sx="[object Object]" tabindex="0" aria-labelledby=":R6ltbb6n6:--label " id=":R6ltbb6n6:" aria-current="false" class="Link__StyledLink-sc-14289xe-0 dibTck" href="/en/code-security/codeql-cli/codeql-cli-manual/dataset-upgrade"><div data-component="ActionList.Item--DividerContainer" class="Box-sc-g0xbh4-0 hROlum"><span id=":R6ltbb6n6:--label" class="Box-sc-g0xbh4-0 bmseMA">dataset upgrade</span></div></a></li><li class="Item__LiBox-sc-yeql7o-0 lnYQME"><a sx="[object Object]" tabindex="0" aria-labelledby=":R6ttbb6n6:--label " id=":R6ttbb6n6:" aria-current="false" class="Link__StyledLink-sc-14289xe-0 dibTck" href="/en/code-security/codeql-cli/codeql-cli-manual/diagnostic-add"><div data-component="ActionList.Item--DividerContainer" class="Box-sc-g0xbh4-0 hROlum"><span id=":R6ttbb6n6:--label" class="Box-sc-g0xbh4-0 bmseMA">diagnostic add</span></div></a></li><li class="Item__LiBox-sc-yeql7o-0 lnYQME"><a sx="[object Object]" tabindex="0" aria-labelledby=":R75tbb6n6:--label " id=":R75tbb6n6:" aria-current="false" class="Link__StyledLink-sc-14289xe-0 dibTck" href="/en/code-security/codeql-cli/codeql-cli-manual/diagnostic-export"><div data-component="ActionList.Item--DividerContainer" class="Box-sc-g0xbh4-0 hROlum"><span id=":R75tbb6n6:--label" class="Box-sc-g0xbh4-0 bmseMA">diagnostic export</span></div></a></li><li class="Item__LiBox-sc-yeql7o-0 lnYQME"><a sx="[object Object]" tabindex="0" aria-labelledby=":R7dtbb6n6:--label " id=":R7dtbb6n6:" aria-current="false" class="Link__StyledLink-sc-14289xe-0 dibTck" href="/en/code-security/codeql-cli/codeql-cli-manual/execute-cli-server"><div data-component="ActionList.Item--DividerContainer" class="Box-sc-g0xbh4-0 hROlum"><span id=":R7dtbb6n6:--label" class="Box-sc-g0xbh4-0 bmseMA">execute cli-server</span></div></a></li><li class="Item__LiBox-sc-yeql7o-0 lnYQME"><a sx="[object Object]" tabindex="0" aria-labelledby=":R7ltbb6n6:--label " id=":R7ltbb6n6:" aria-current="false" class="Link__StyledLink-sc-14289xe-0 dibTck" href="/en/code-security/codeql-cli/codeql-cli-manual/execute-language-server"><div data-component="ActionList.Item--DividerContainer" class="Box-sc-g0xbh4-0 hROlum"><span id=":R7ltbb6n6:--label" class="Box-sc-g0xbh4-0 bmseMA">execute language-server</span></div></a></li><li class="Item__LiBox-sc-yeql7o-0 lnYQME"><a sx="[object Object]" tabindex="0" aria-labelledby=":R7ttbb6n6:--label " id=":R7ttbb6n6:" aria-current="false" class="Link__StyledLink-sc-14289xe-0 dibTck" href="/en/code-security/codeql-cli/codeql-cli-manual/execute-queries"><div data-component="ActionList.Item--DividerContainer" class="Box-sc-g0xbh4-0 hROlum"><span id=":R7ttbb6n6:--label" class="Box-sc-g0xbh4-0 bmseMA">execute queries</span></div></a></li><li class="Item__LiBox-sc-yeql7o-0 lnYQME"><a sx="[object Object]" tabindex="0" aria-labelledby=":R85tbb6n6:--label " id=":R85tbb6n6:" aria-current="false" class="Link__StyledLink-sc-14289xe-0 dibTck" href="/en/code-security/codeql-cli/codeql-cli-manual/execute-query-server"><div data-component="ActionList.Item--DividerContainer" class="Box-sc-g0xbh4-0 hROlum"><span id=":R85tbb6n6:--label" class="Box-sc-g0xbh4-0 bmseMA">execute query-server</span></div></a></li><li class="Item__LiBox-sc-yeql7o-0 lnYQME"><a sx="[object Object]" tabindex="0" aria-labelledby=":R8dtbb6n6:--label " id=":R8dtbb6n6:" aria-current="false" class="Link__StyledLink-sc-14289xe-0 dibTck" href="/en/code-security/codeql-cli/codeql-cli-manual/execute-query-server2"><div data-component="ActionList.Item--DividerContainer" class="Box-sc-g0xbh4-0 hROlum"><span id=":R8dtbb6n6:--label" class="Box-sc-g0xbh4-0 bmseMA">execute query-server2</span></div></a></li><li class="Item__LiBox-sc-yeql7o-0 lnYQME"><a sx="[object Object]" tabindex="0" aria-labelledby=":R8ltbb6n6:--label " id=":R8ltbb6n6:" aria-current="false" class="Link__StyledLink-sc-14289xe-0 dibTck" href="/en/code-security/codeql-cli/codeql-cli-manual/execute-upgrades"><div data-component="ActionList.Item--DividerContainer" class="Box-sc-g0xbh4-0 hROlum"><span id=":R8ltbb6n6:--label" class="Box-sc-g0xbh4-0 bmseMA">execute upgrades</span></div></a></li><li class="Item__LiBox-sc-yeql7o-0 lnYQME"><a sx="[object Object]" tabindex="0" aria-labelledby=":R8ttbb6n6:--label " id=":R8ttbb6n6:" aria-current="false" class="Link__StyledLink-sc-14289xe-0 dibTck" href="/en/code-security/codeql-cli/codeql-cli-manual/generate-extensible-predicate-metadata"><div data-component="ActionList.Item--DividerContainer" class="Box-sc-g0xbh4-0 hROlum"><span id=":R8ttbb6n6:--label" class="Box-sc-g0xbh4-0 bmseMA">generate extensible-predicate-metadata</span></div></a></li><li class="Item__LiBox-sc-yeql7o-0 lnYQME"><a sx="[object Object]" tabindex="0" aria-labelledby=":R95tbb6n6:--label " id=":R95tbb6n6:" aria-current="false" class="Link__StyledLink-sc-14289xe-0 dibTck" href="/en/code-security/codeql-cli/codeql-cli-manual/generate-log-summary"><div data-component="ActionList.Item--DividerContainer" class="Box-sc-g0xbh4-0 hROlum"><span id=":R95tbb6n6:--label" class="Box-sc-g0xbh4-0 bmseMA">generate log-summary</span></div></a></li><li class="Item__LiBox-sc-yeql7o-0 lnYQME"><a sx="[object Object]" tabindex="0" aria-labelledby=":R9dtbb6n6:--label " id=":R9dtbb6n6:" aria-current="false" class="Link__StyledLink-sc-14289xe-0 dibTck" href="/en/code-security/codeql-cli/codeql-cli-manual/generate-query-help"><div data-component="ActionList.Item--DividerContainer" class="Box-sc-g0xbh4-0 hROlum"><span id=":R9dtbb6n6:--label" class="Box-sc-g0xbh4-0 bmseMA">generate query-help</span></div></a></li><li class="Item__LiBox-sc-yeql7o-0 lnYQME"><a sx="[object Object]" tabindex="0" aria-labelledby=":R9ltbb6n6:--label " id=":R9ltbb6n6:" aria-current="false" class="Link__StyledLink-sc-14289xe-0 dibTck" href="/en/code-security/codeql-cli/codeql-cli-manual/github-merge-results"><div data-component="ActionList.Item--DividerContainer" class="Box-sc-g0xbh4-0 hROlum"><span id=":R9ltbb6n6:--label" class="Box-sc-g0xbh4-0 bmseMA">github merge-results</span></div></a></li><li class="Item__LiBox-sc-yeql7o-0 lnYQME"><a sx="[object Object]" tabindex="0" aria-labelledby=":R9ttbb6n6:--label " id=":R9ttbb6n6:" aria-current="false" class="Link__StyledLink-sc-14289xe-0 dibTck" href="/en/code-security/codeql-cli/codeql-cli-manual/github-upload-results"><div data-component="ActionList.Item--DividerContainer" class="Box-sc-g0xbh4-0 hROlum"><span id=":R9ttbb6n6:--label" class="Box-sc-g0xbh4-0 bmseMA">github upload-results</span></div></a></li><li class="Item__LiBox-sc-yeql7o-0 lnYQME"><a sx="[object Object]" tabindex="0" aria-labelledby=":Ra5tbb6n6:--label " id=":Ra5tbb6n6:" aria-current="false" class="Link__StyledLink-sc-14289xe-0 dibTck" href="/en/code-security/codeql-cli/codeql-cli-manual/pack-add"><div data-component="ActionList.Item--DividerContainer" class="Box-sc-g0xbh4-0 hROlum"><span id=":Ra5tbb6n6:--label" class="Box-sc-g0xbh4-0 bmseMA">pack add</span></div></a></li><li class="Item__LiBox-sc-yeql7o-0 lnYQME"><a sx="[object Object]" tabindex="0" aria-labelledby=":Radtbb6n6:--label " id=":Radtbb6n6:" aria-current="false" class="Link__StyledLink-sc-14289xe-0 dibTck" href="/en/code-security/codeql-cli/codeql-cli-manual/pack-bundle"><div data-component="ActionList.Item--DividerContainer" class="Box-sc-g0xbh4-0 hROlum"><span id=":Radtbb6n6:--label" class="Box-sc-g0xbh4-0 bmseMA">pack bundle</span></div></a></li><li class="Item__LiBox-sc-yeql7o-0 lnYQME"><a sx="[object Object]" tabindex="0" aria-labelledby=":Raltbb6n6:--label " id=":Raltbb6n6:" aria-current="false" class="Link__StyledLink-sc-14289xe-0 dibTck" href="/en/code-security/codeql-cli/codeql-cli-manual/pack-ci"><div data-component="ActionList.Item--DividerContainer" class="Box-sc-g0xbh4-0 hROlum"><span id=":Raltbb6n6:--label" class="Box-sc-g0xbh4-0 bmseMA">pack ci</span></div></a></li><li class="Item__LiBox-sc-yeql7o-0 lnYQME"><a sx="[object Object]" tabindex="0" aria-labelledby=":Rattbb6n6:--label " id=":Rattbb6n6:" aria-current="false" class="Link__StyledLink-sc-14289xe-0 dibTck" href="/en/code-security/codeql-cli/codeql-cli-manual/pack-create"><div data-component="ActionList.Item--DividerContainer" class="Box-sc-g0xbh4-0 hROlum"><span id=":Rattbb6n6:--label" class="Box-sc-g0xbh4-0 bmseMA">pack create</span></div></a></li><li class="Item__LiBox-sc-yeql7o-0 lnYQME"><a sx="[object Object]" tabindex="0" aria-labelledby=":Rb5tbb6n6:--label " id=":Rb5tbb6n6:" aria-current="false" class="Link__StyledLink-sc-14289xe-0 dibTck" href="/en/code-security/codeql-cli/codeql-cli-manual/pack-download"><div data-component="ActionList.Item--DividerContainer" class="Box-sc-g0xbh4-0 hROlum"><span id=":Rb5tbb6n6:--label" class="Box-sc-g0xbh4-0 bmseMA">pack download</span></div></a></li><li class="Item__LiBox-sc-yeql7o-0 lnYQME"><a sx="[object Object]" tabindex="0" aria-labelledby=":Rbdtbb6n6:--label " id=":Rbdtbb6n6:" aria-current="false" class="Link__StyledLink-sc-14289xe-0 dibTck" href="/en/code-security/codeql-cli/codeql-cli-manual/pack-init"><div data-component="ActionList.Item--DividerContainer" class="Box-sc-g0xbh4-0 hROlum"><span id=":Rbdtbb6n6:--label" class="Box-sc-g0xbh4-0 bmseMA">pack init</span></div></a></li><li class="Item__LiBox-sc-yeql7o-0 lnYQME"><a sx="[object Object]" tabindex="0" aria-labelledby=":Rbltbb6n6:--label " id=":Rbltbb6n6:" aria-current="false" class="Link__StyledLink-sc-14289xe-0 dibTck" href="/en/code-security/codeql-cli/codeql-cli-manual/pack-install"><div data-component="ActionList.Item--DividerContainer" class="Box-sc-g0xbh4-0 hROlum"><span id=":Rbltbb6n6:--label" class="Box-sc-g0xbh4-0 bmseMA">pack install</span></div></a></li><li class="Item__LiBox-sc-yeql7o-0 lnYQME"><a sx="[object Object]" tabindex="0" aria-labelledby=":Rbttbb6n6:--label " id=":Rbttbb6n6:" aria-current="false" class="Link__StyledLink-sc-14289xe-0 dibTck" href="/en/code-security/codeql-cli/codeql-cli-manual/pack-ls"><div data-component="ActionList.Item--DividerContainer" class="Box-sc-g0xbh4-0 hROlum"><span id=":Rbttbb6n6:--label" class="Box-sc-g0xbh4-0 bmseMA">pack ls</span></div></a></li><li class="Item__LiBox-sc-yeql7o-0 lnYQME"><a sx="[object Object]" tabindex="0" aria-labelledby=":Rc5tbb6n6:--label " id=":Rc5tbb6n6:" aria-current="false" class="Link__StyledLink-sc-14289xe-0 dibTck" href="/en/code-security/codeql-cli/codeql-cli-manual/pack-packlist"><div data-component="ActionList.Item--DividerContainer" class="Box-sc-g0xbh4-0 hROlum"><span id=":Rc5tbb6n6:--label" class="Box-sc-g0xbh4-0 bmseMA">pack packlist</span></div></a></li><li class="Item__LiBox-sc-yeql7o-0 lnYQME"><a sx="[object Object]" tabindex="0" aria-labelledby=":Rcdtbb6n6:--label " id=":Rcdtbb6n6:" aria-current="false" class="Link__StyledLink-sc-14289xe-0 dibTck" href="/en/code-security/codeql-cli/codeql-cli-manual/pack-publish"><div data-component="ActionList.Item--DividerContainer" class="Box-sc-g0xbh4-0 hROlum"><span id=":Rcdtbb6n6:--label" class="Box-sc-g0xbh4-0 bmseMA">pack publish</span></div></a></li><li class="Item__LiBox-sc-yeql7o-0 lnYQME"><a sx="[object Object]" tabindex="0" aria-labelledby=":Rcltbb6n6:--label " id=":Rcltbb6n6:" aria-current="false" class="Link__StyledLink-sc-14289xe-0 dibTck" href="/en/code-security/codeql-cli/codeql-cli-manual/pack-resolve-dependencies"><div data-component="ActionList.Item--DividerContainer" class="Box-sc-g0xbh4-0 hROlum"><span id=":Rcltbb6n6:--label" class="Box-sc-g0xbh4-0 bmseMA">pack resolve-dependencies</span></div></a></li><li class="Item__LiBox-sc-yeql7o-0 lnYQME"><a sx="[object Object]" tabindex="0" aria-labelledby=":Rcttbb6n6:--label " id=":Rcttbb6n6:" aria-current="false" class="Link__StyledLink-sc-14289xe-0 dibTck" href="/en/code-security/codeql-cli/codeql-cli-manual/pack-upgrade"><div data-component="ActionList.Item--DividerContainer" class="Box-sc-g0xbh4-0 hROlum"><span id=":Rcttbb6n6:--label" class="Box-sc-g0xbh4-0 bmseMA">pack upgrade</span></div></a></li><li class="Item__LiBox-sc-yeql7o-0 lnYQME"><a sx="[object Object]" tabindex="0" aria-labelledby=":Rd5tbb6n6:--label " id=":Rd5tbb6n6:" aria-current="false" class="Link__StyledLink-sc-14289xe-0 dibTck" href="/en/code-security/codeql-cli/codeql-cli-manual/query-compile"><div data-component="ActionList.Item--DividerContainer" class="Box-sc-g0xbh4-0 hROlum"><span id=":Rd5tbb6n6:--label" class="Box-sc-g0xbh4-0 bmseMA">query compile</span></div></a></li><li class="Item__LiBox-sc-yeql7o-0 lnYQME"><a sx="[object Object]" tabindex="0" aria-labelledby=":Rddtbb6n6:--label " id=":Rddtbb6n6:" aria-current="false" class="Link__StyledLink-sc-14289xe-0 dibTck" href="/en/code-security/codeql-cli/codeql-cli-manual/query-decompile"><div data-component="ActionList.Item--DividerContainer" class="Box-sc-g0xbh4-0 hROlum"><span id=":Rddtbb6n6:--label" class="Box-sc-g0xbh4-0 bmseMA">query decompile</span></div></a></li><li class="Item__LiBox-sc-yeql7o-0 lnYQME"><a sx="[object Object]" tabindex="0" aria-labelledby=":Rdltbb6n6:--label " id=":Rdltbb6n6:" aria-current="false" class="Link__StyledLink-sc-14289xe-0 dibTck" href="/en/code-security/codeql-cli/codeql-cli-manual/query-format"><div data-component="ActionList.Item--DividerContainer" class="Box-sc-g0xbh4-0 hROlum"><span id=":Rdltbb6n6:--label" class="Box-sc-g0xbh4-0 bmseMA">query format</span></div></a></li><li class="Item__LiBox-sc-yeql7o-0 lnYQME"><a sx="[object Object]" tabindex="0" aria-labelledby=":Rdttbb6n6:--label " id=":Rdttbb6n6:" aria-current="false" class="Link__StyledLink-sc-14289xe-0 dibTck" href="/en/code-security/codeql-cli/codeql-cli-manual/query-run"><div data-component="ActionList.Item--DividerContainer" class="Box-sc-g0xbh4-0 hROlum"><span id=":Rdttbb6n6:--label" class="Box-sc-g0xbh4-0 bmseMA">query run</span></div></a></li><li class="Item__LiBox-sc-yeql7o-0 lnYQME"><a sx="[object Object]" tabindex="0" aria-labelledby=":Re5tbb6n6:--label " id=":Re5tbb6n6:" aria-current="false" class="Link__StyledLink-sc-14289xe-0 dibTck" href="/en/code-security/codeql-cli/codeql-cli-manual/resolve-database"><div data-component="ActionList.Item--DividerContainer" class="Box-sc-g0xbh4-0 hROlum"><span id=":Re5tbb6n6:--label" class="Box-sc-g0xbh4-0 bmseMA">resolve database</span></div></a></li><li class="Item__LiBox-sc-yeql7o-0 lnYQME"><a sx="[object Object]" tabindex="0" aria-labelledby=":Redtbb6n6:--label " id=":Redtbb6n6:" aria-current="false" class="Link__StyledLink-sc-14289xe-0 dibTck" href="/en/code-security/codeql-cli/codeql-cli-manual/resolve-extensions"><div data-component="ActionList.Item--DividerContainer" class="Box-sc-g0xbh4-0 hROlum"><span id=":Redtbb6n6:--label" class="Box-sc-g0xbh4-0 bmseMA">resolve extensions</span></div></a></li><li class="Item__LiBox-sc-yeql7o-0 lnYQME"><a sx="[object Object]" tabindex="0" aria-labelledby=":Reltbb6n6:--label " id=":Reltbb6n6:" aria-current="false" class="Link__StyledLink-sc-14289xe-0 dibTck" href="/en/code-security/codeql-cli/codeql-cli-manual/resolve-extensions-by-pack"><div data-component="ActionList.Item--DividerContainer" class="Box-sc-g0xbh4-0 hROlum"><span id=":Reltbb6n6:--label" class="Box-sc-g0xbh4-0 bmseMA">resolve extensions-by-pack</span></div></a></li><li class="Item__LiBox-sc-yeql7o-0 lnYQME"><a sx="[object Object]" tabindex="0" aria-labelledby=":Rettbb6n6:--label " id=":Rettbb6n6:" aria-current="false" class="Link__StyledLink-sc-14289xe-0 dibTck" href="/en/code-security/codeql-cli/codeql-cli-manual/resolve-extractor"><div data-component="ActionList.Item--DividerContainer" class="Box-sc-g0xbh4-0 hROlum"><span id=":Rettbb6n6:--label" class="Box-sc-g0xbh4-0 bmseMA">resolve extractor</span></div></a></li><li class="Item__LiBox-sc-yeql7o-0 lnYQME"><a sx="[object Object]" tabindex="0" aria-labelledby=":Rf5tbb6n6:--label " id=":Rf5tbb6n6:" aria-current="false" class="Link__StyledLink-sc-14289xe-0 dibTck" href="/en/code-security/codeql-cli/codeql-cli-manual/resolve-files"><div data-component="ActionList.Item--DividerContainer" class="Box-sc-g0xbh4-0 hROlum"><span id=":Rf5tbb6n6:--label" class="Box-sc-g0xbh4-0 bmseMA">resolve files</span></div></a></li><li class="Item__LiBox-sc-yeql7o-0 lnYQME"><a sx="[object Object]" tabindex="0" aria-labelledby=":Rfdtbb6n6:--label " id=":Rfdtbb6n6:" aria-current="false" class="Link__StyledLink-sc-14289xe-0 dibTck" href="/en/code-security/codeql-cli/codeql-cli-manual/resolve-languages"><div data-component="ActionList.Item--DividerContainer" class="Box-sc-g0xbh4-0 hROlum"><span id=":Rfdtbb6n6:--label" class="Box-sc-g0xbh4-0 bmseMA">resolve languages</span></div></a></li><li class="Item__LiBox-sc-yeql7o-0 lnYQME"><a sx="[object Object]" tabindex="0" aria-labelledby=":Rfltbb6n6:--label " id=":Rfltbb6n6:" aria-current="false" class="Link__StyledLink-sc-14289xe-0 dibTck" href="/en/code-security/codeql-cli/codeql-cli-manual/resolve-library-path"><div data-component="ActionList.Item--DividerContainer" class="Box-sc-g0xbh4-0 hROlum"><span id=":Rfltbb6n6:--label" class="Box-sc-g0xbh4-0 bmseMA">resolve library-path</span></div></a></li><li class="Item__LiBox-sc-yeql7o-0 lnYQME"><a sx="[object Object]" tabindex="0" aria-labelledby=":Rfttbb6n6:--label " id=":Rfttbb6n6:" aria-current="false" class="Link__StyledLink-sc-14289xe-0 dibTck" href="/en/code-security/codeql-cli/codeql-cli-manual/resolve-metadata"><div data-component="ActionList.Item--DividerContainer" class="Box-sc-g0xbh4-0 hROlum"><span id=":Rfttbb6n6:--label" class="Box-sc-g0xbh4-0 bmseMA">resolve metadata</span></div></a></li><li class="Item__LiBox-sc-yeql7o-0 lnYQME"><a sx="[object Object]" tabindex="0" aria-labelledby=":Rg5tbb6n6:--label " id=":Rg5tbb6n6:" aria-current="false" class="Link__StyledLink-sc-14289xe-0 dibTck" href="/en/code-security/codeql-cli/codeql-cli-manual/resolve-ml-models"><div data-component="ActionList.Item--DividerContainer" class="Box-sc-g0xbh4-0 hROlum"><span id=":Rg5tbb6n6:--label" class="Box-sc-g0xbh4-0 bmseMA">resolve ml-models</span></div></a></li><li class="Item__LiBox-sc-yeql7o-0 lnYQME"><a sx="[object Object]" tabindex="0" aria-labelledby=":Rgdtbb6n6:--label " id=":Rgdtbb6n6:" aria-current="false" class="Link__StyledLink-sc-14289xe-0 dibTck" href="/en/code-security/codeql-cli/codeql-cli-manual/resolve-packs"><div data-component="ActionList.Item--DividerContainer" class="Box-sc-g0xbh4-0 hROlum"><span id=":Rgdtbb6n6:--label" class="Box-sc-g0xbh4-0 bmseMA">resolve packs</span></div></a></li><li class="Item__LiBox-sc-yeql7o-0 lnYQME"><a sx="[object Object]" tabindex="0" aria-labelledby=":Rgltbb6n6:--label " id=":Rgltbb6n6:" aria-current="false" class="Link__StyledLink-sc-14289xe-0 dibTck" href="/en/code-security/codeql-cli/codeql-cli-manual/resolve-qlpacks"><div data-component="ActionList.Item--DividerContainer" class="Box-sc-g0xbh4-0 hROlum"><span id=":Rgltbb6n6:--label" class="Box-sc-g0xbh4-0 bmseMA">resolve qlpacks</span></div></a></li><li class="Item__LiBox-sc-yeql7o-0 lnYQME"><a sx="[object Object]" tabindex="0" aria-labelledby=":Rgttbb6n6:--label " id=":Rgttbb6n6:" aria-current="false" class="Link__StyledLink-sc-14289xe-0 dibTck" href="/en/code-security/codeql-cli/codeql-cli-manual/resolve-qlref"><div data-component="ActionList.Item--DividerContainer" class="Box-sc-g0xbh4-0 hROlum"><span id=":Rgttbb6n6:--label" class="Box-sc-g0xbh4-0 bmseMA">resolve qlref</span></div></a></li><li class="Item__LiBox-sc-yeql7o-0 lnYQME"><a sx="[object Object]" tabindex="0" aria-labelledby=":Rh5tbb6n6:--label " id=":Rh5tbb6n6:" aria-current="false" class="Link__StyledLink-sc-14289xe-0 dibTck" href="/en/code-security/codeql-cli/codeql-cli-manual/resolve-queries"><div data-component="ActionList.Item--DividerContainer" class="Box-sc-g0xbh4-0 hROlum"><span id=":Rh5tbb6n6:--label" class="Box-sc-g0xbh4-0 bmseMA">resolve queries</span></div></a></li><li class="Item__LiBox-sc-yeql7o-0 lnYQME"><a sx="[object Object]" tabindex="0" aria-labelledby=":Rhdtbb6n6:--label " id=":Rhdtbb6n6:" aria-current="false" class="Link__StyledLink-sc-14289xe-0 dibTck" href="/en/code-security/codeql-cli/codeql-cli-manual/resolve-ram"><div data-component="ActionList.Item--DividerContainer" class="Box-sc-g0xbh4-0 hROlum"><span id=":Rhdtbb6n6:--label" class="Box-sc-g0xbh4-0 bmseMA">resolve ram</span></div></a></li><li class="Item__LiBox-sc-yeql7o-0 lnYQME"><a sx="[object Object]" tabindex="0" aria-labelledby=":Rhltbb6n6:--label " id=":Rhltbb6n6:" aria-current="false" class="Link__StyledLink-sc-14289xe-0 dibTck" href="/en/code-security/codeql-cli/codeql-cli-manual/resolve-tests"><div data-component="ActionList.Item--DividerContainer" class="Box-sc-g0xbh4-0 hROlum"><span id=":Rhltbb6n6:--label" class="Box-sc-g0xbh4-0 bmseMA">resolve tests</span></div></a></li><li class="Item__LiBox-sc-yeql7o-0 lnYQME"><a sx="[object Object]" tabindex="0" aria-labelledby=":Rhttbb6n6:--label " id=":Rhttbb6n6:" aria-current="false" class="Link__StyledLink-sc-14289xe-0 dibTck" href="/en/code-security/codeql-cli/codeql-cli-manual/resolve-upgrades"><div data-component="ActionList.Item--DividerContainer" class="Box-sc-g0xbh4-0 hROlum"><span id=":Rhttbb6n6:--label" class="Box-sc-g0xbh4-0 bmseMA">resolve upgrades</span></div></a></li><li class="Item__LiBox-sc-yeql7o-0 lnYQME"><a sx="[object Object]" tabindex="0" aria-labelledby=":Ri5tbb6n6:--label " id=":Ri5tbb6n6:" aria-current="false" class="Link__StyledLink-sc-14289xe-0 dibTck" href="/en/code-security/codeql-cli/codeql-cli-manual/test-accept"><div data-component="ActionList.Item--DividerContainer" class="Box-sc-g0xbh4-0 hROlum"><span id=":Ri5tbb6n6:--label" class="Box-sc-g0xbh4-0 bmseMA">test accept</span></div></a></li><li class="Item__LiBox-sc-yeql7o-0 lnYQME"><a sx="[object Object]" tabindex="0" aria-labelledby=":Ridtbb6n6:--label " id=":Ridtbb6n6:" aria-current="false" class="Link__StyledLink-sc-14289xe-0 dibTck" href="/en/code-security/codeql-cli/codeql-cli-manual/test-extract"><div data-component="ActionList.Item--DividerContainer" class="Box-sc-g0xbh4-0 hROlum"><span id=":Ridtbb6n6:--label" class="Box-sc-g0xbh4-0 bmseMA">test extract</span></div></a></li><li class="Item__LiBox-sc-yeql7o-0 lnYQME"><a sx="[object Object]" tabindex="0" aria-labelledby=":Riltbb6n6:--label " id=":Riltbb6n6:" aria-current="false" class="Link__StyledLink-sc-14289xe-0 dibTck" href="/en/code-security/codeql-cli/codeql-cli-manual/test-run"><div data-component="ActionList.Item--DividerContainer" class="Box-sc-g0xbh4-0 hROlum"><span id=":Riltbb6n6:--label" class="Box-sc-g0xbh4-0 bmseMA">test run</span></div></a></li><li class="Item__LiBox-sc-yeql7o-0 lnYQME"><a sx="[object Object]" tabindex="0" aria-labelledby=":Rittbb6n6:--label " id=":Rittbb6n6:" aria-current="false" class="Link__StyledLink-sc-14289xe-0 dibTck" href="/en/code-security/codeql-cli/codeql-cli-manual/version"><div data-component="ActionList.Item--DividerContainer" class="Box-sc-g0xbh4-0 hROlum"><span id=":Rittbb6n6:--label" class="Box-sc-g0xbh4-0 bmseMA">version</span></div></a></li></ul></div></li></ul></div></li><li aria-labelledby=":Rdb6n6:" class="Box-sc-g0xbh4-0 Ywlla"><button tabindex="0" aria-labelledby=":Rdb6n6:--label " id=":Rdb6n6:" aria-expanded="false" aria-controls=":Rdb6n6H1:" class="Item__LiBox-sc-yeql7o-0 itjSOb"><div data-component="ActionList.Item--DividerContainer" class="Box-sc-g0xbh4-0 hROlum"><div class="Box-sc-g0xbh4-0 cUxMoC"><span id=":Rdb6n6:--label" class="Box-sc-g0xbh4-0 bmseMA">CodeQL for VS Code</span><span class="Box-sc-g0xbh4-0 lmYNOb"><svg aria-hidden="true" focusable="false" class="Octicon-sc-9kayk9-0 daAEFx" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" style="display:inline-block;user-select:none;vertical-align:text-bottom;overflow:visible"><path d="M12.78 5.22a.749.749 0 0 1 0 1.06l-4.25 4.25a.749.749 0 0 1-1.06 0L3.22 6.28a.749.749 0 1 1 1.06-1.06L8 8.939l3.72-3.719a.749.749 0 0 1 1.06 0Z"></path></svg></span></div></div></button><div><ul id=":Rdb6n6H1:" aria-labelledby=":Rdb6n6:" class="Box-sc-g0xbh4-0 gMkIpo"><li aria-labelledby=":Rddb6n6:" class="Box-sc-g0xbh4-0 Ywlla"><button tabindex="0" aria-labelledby=":Rddb6n6:--label " id=":Rddb6n6:" aria-expanded="false" aria-controls=":Rddb6n6H1:" class="Item__LiBox-sc-yeql7o-0 kXKjOF"><div data-component="ActionList.Item--DividerContainer" class="Box-sc-g0xbh4-0 hROlum"><div class="Box-sc-g0xbh4-0 cUxMoC"><span id=":Rddb6n6:--label" class="Box-sc-g0xbh4-0 bmseMA">Getting started</span><span class="Box-sc-g0xbh4-0 lmYNOb"><svg aria-hidden="true" focusable="false" class="Octicon-sc-9kayk9-0 daAEFx" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" style="display:inline-block;user-select:none;vertical-align:text-bottom;overflow:visible"><path d="M12.78 5.22a.749.749 0 0 1 0 1.06l-4.25 4.25a.749.749 0 0 1-1.06 0L3.22 6.28a.749.749 0 1 1 1.06-1.06L8 8.939l3.72-3.719a.749.749 0 0 1 1.06 0Z"></path></svg></span></div></div></button><div><ul id=":Rddb6n6H1:" aria-labelledby=":Rddb6n6:" class="Box-sc-g0xbh4-0 gMkIpo"><li class="Item__LiBox-sc-yeql7o-0 lnYQME"><a sx="[object Object]" tabindex="0" aria-labelledby=":Rdddb6n6:--label " id=":Rdddb6n6:" aria-current="false" class="Link__StyledLink-sc-14289xe-0 dibTck" href="/en/code-security/codeql-for-vs-code/getting-started-with-codeql-for-vs-code/about-codeql-for-vs-code"><div data-component="ActionList.Item--DividerContainer" class="Box-sc-g0xbh4-0 hROlum"><span id=":Rdddb6n6:--label" class="Box-sc-g0xbh4-0 bmseMA">About the extension</span></div></a></li><li class="Item__LiBox-sc-yeql7o-0 lnYQME"><a sx="[object Object]" tabindex="0" aria-labelledby=":Rlddb6n6:--label " id=":Rlddb6n6:" aria-current="false" class="Link__StyledLink-sc-14289xe-0 dibTck" href="/en/code-security/codeql-for-vs-code/getting-started-with-codeql-for-vs-code/installing-codeql-for-vs-code"><div data-component="ActionList.Item--DividerContainer" class="Box-sc-g0xbh4-0 hROlum"><span id=":Rlddb6n6:--label" class="Box-sc-g0xbh4-0 bmseMA">Extension installation</span></div></a></li><li class="Item__LiBox-sc-yeql7o-0 lnYQME"><a sx="[object Object]" tabindex="0" aria-labelledby=":Rtddb6n6:--label " id=":Rtddb6n6:" aria-current="false" class="Link__StyledLink-sc-14289xe-0 dibTck" href="/en/code-security/codeql-for-vs-code/getting-started-with-codeql-for-vs-code/managing-codeql-databases"><div data-component="ActionList.Item--DividerContainer" class="Box-sc-g0xbh4-0 hROlum"><span id=":Rtddb6n6:--label" class="Box-sc-g0xbh4-0 bmseMA">Manage CodeQL databases</span></div></a></li><li class="Item__LiBox-sc-yeql7o-0 lnYQME"><a sx="[object Object]" tabindex="0" aria-labelledby=":R15ddb6n6:--label " id=":R15ddb6n6:" aria-current="false" class="Link__StyledLink-sc-14289xe-0 dibTck" href="/en/code-security/codeql-for-vs-code/getting-started-with-codeql-for-vs-code/running-codeql-queries"><div data-component="ActionList.Item--DividerContainer" class="Box-sc-g0xbh4-0 hROlum"><span id=":R15ddb6n6:--label" class="Box-sc-g0xbh4-0 bmseMA">Run CodeQL queries</span></div></a></li><li class="Item__LiBox-sc-yeql7o-0 lnYQME"><a sx="[object Object]" tabindex="0" aria-labelledby=":R1dddb6n6:--label " id=":R1dddb6n6:" aria-current="false" class="Link__StyledLink-sc-14289xe-0 dibTck" href="/en/code-security/codeql-for-vs-code/getting-started-with-codeql-for-vs-code/exploring-data-flow-with-path-queries"><div data-component="ActionList.Item--DividerContainer" class="Box-sc-g0xbh4-0 hROlum"><span id=":R1dddb6n6:--label" class="Box-sc-g0xbh4-0 bmseMA">Explore data flow</span></div></a></li><li class="Item__LiBox-sc-yeql7o-0 lnYQME"><a sx="[object Object]" tabindex="0" aria-labelledby=":R1lddb6n6:--label " id=":R1lddb6n6:" aria-current="false" class="Link__StyledLink-sc-14289xe-0 dibTck" href="/en/code-security/codeql-for-vs-code/getting-started-with-codeql-for-vs-code/running-codeql-queries-at-scale-with-multi-repository-variant-analysis"><div data-component="ActionList.Item--DividerContainer" class="Box-sc-g0xbh4-0 hROlum"><span id=":R1lddb6n6:--label" class="Box-sc-g0xbh4-0 bmseMA">Queries at scale</span></div></a></li></ul></div></li><li aria-labelledby=":Rldb6n6:" class="Box-sc-g0xbh4-0 Ywlla"><button tabindex="0" aria-labelledby=":Rldb6n6:--label " id=":Rldb6n6:" aria-expanded="false" aria-controls=":Rldb6n6H1:" class="Item__LiBox-sc-yeql7o-0 kXKjOF"><div data-component="ActionList.Item--DividerContainer" class="Box-sc-g0xbh4-0 hROlum"><div class="Box-sc-g0xbh4-0 cUxMoC"><span id=":Rldb6n6:--label" class="Box-sc-g0xbh4-0 bmseMA">Advanced functionality</span><span class="Box-sc-g0xbh4-0 lmYNOb"><svg aria-hidden="true" focusable="false" class="Octicon-sc-9kayk9-0 daAEFx" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" style="display:inline-block;user-select:none;vertical-align:text-bottom;overflow:visible"><path d="M12.78 5.22a.749.749 0 0 1 0 1.06l-4.25 4.25a.749.749 0 0 1-1.06 0L3.22 6.28a.749.749 0 1 1 1.06-1.06L8 8.939l3.72-3.719a.749.749 0 0 1 1.06 0Z"></path></svg></span></div></div></button><div><ul id=":Rldb6n6H1:" aria-labelledby=":Rldb6n6:" class="Box-sc-g0xbh4-0 gMkIpo"><li class="Item__LiBox-sc-yeql7o-0 lnYQME"><a sx="[object Object]" tabindex="0" aria-labelledby=":Rdldb6n6:--label " id=":Rdldb6n6:" aria-current="false" class="Link__StyledLink-sc-14289xe-0 dibTck" href="/en/code-security/codeql-for-vs-code/using-the-advanced-functionality-of-the-codeql-for-vs-code-extension/using-the-codeql-model-editor"><div data-component="ActionList.Item--DividerContainer" class="Box-sc-g0xbh4-0 hROlum"><span id=":Rdldb6n6:--label" class="Box-sc-g0xbh4-0 bmseMA">CodeQL model editor</span></div></a></li><li class="Item__LiBox-sc-yeql7o-0 lnYQME"><a sx="[object Object]" tabindex="0" aria-labelledby=":Rlldb6n6:--label " id=":Rlldb6n6:" aria-current="false" class="Link__StyledLink-sc-14289xe-0 dibTck" href="/en/code-security/codeql-for-vs-code/using-the-advanced-functionality-of-the-codeql-for-vs-code-extension/creating-a-custom-query"><div data-component="ActionList.Item--DividerContainer" class="Box-sc-g0xbh4-0 hROlum"><span id=":Rlldb6n6:--label" class="Box-sc-g0xbh4-0 bmseMA">Custom query creation</span></div></a></li><li class="Item__LiBox-sc-yeql7o-0 lnYQME"><a sx="[object Object]" tabindex="0" aria-labelledby=":Rtldb6n6:--label " id=":Rtldb6n6:" aria-current="false" class="Link__StyledLink-sc-14289xe-0 dibTck" href="/en/code-security/codeql-for-vs-code/using-the-advanced-functionality-of-the-codeql-for-vs-code-extension/managing-codeql-packs"><div data-component="ActionList.Item--DividerContainer" class="Box-sc-g0xbh4-0 hROlum"><span id=":Rtldb6n6:--label" class="Box-sc-g0xbh4-0 bmseMA">Manage CodeQL packs</span></div></a></li><li class="Item__LiBox-sc-yeql7o-0 lnYQME"><a sx="[object Object]" tabindex="0" aria-labelledby=":R15ldb6n6:--label " id=":R15ldb6n6:" aria-current="false" class="Link__StyledLink-sc-14289xe-0 dibTck" href="/en/code-security/codeql-for-vs-code/using-the-advanced-functionality-of-the-codeql-for-vs-code-extension/exploring-the-structure-of-your-source-code"><div data-component="ActionList.Item--DividerContainer" class="Box-sc-g0xbh4-0 hROlum"><span id=":R15ldb6n6:--label" class="Box-sc-g0xbh4-0 bmseMA">Explore code structure</span></div></a></li><li class="Item__LiBox-sc-yeql7o-0 lnYQME"><a sx="[object Object]" tabindex="0" aria-labelledby=":R1dldb6n6:--label " id=":R1dldb6n6:" aria-current="false" class="Link__StyledLink-sc-14289xe-0 dibTck" href="/en/code-security/codeql-for-vs-code/using-the-advanced-functionality-of-the-codeql-for-vs-code-extension/testing-codeql-queries-in-vs-code"><div data-component="ActionList.Item--DividerContainer" class="Box-sc-g0xbh4-0 hROlum"><span id=":R1dldb6n6:--label" class="Box-sc-g0xbh4-0 bmseMA">Test CodeQL queries</span></div></a></li><li class="Item__LiBox-sc-yeql7o-0 lnYQME"><a sx="[object Object]" tabindex="0" aria-labelledby=":R1lldb6n6:--label " id=":R1lldb6n6:" aria-current="false" class="Link__StyledLink-sc-14289xe-0 dibTck" href="/en/code-security/codeql-for-vs-code/using-the-advanced-functionality-of-the-codeql-for-vs-code-extension/customizing-settings"><div data-component="ActionList.Item--DividerContainer" class="Box-sc-g0xbh4-0 hROlum"><span id=":R1lldb6n6:--label" class="Box-sc-g0xbh4-0 bmseMA">Customize settings</span></div></a></li><li class="Item__LiBox-sc-yeql7o-0 lnYQME"><a sx="[object Object]" tabindex="0" aria-labelledby=":R1tldb6n6:--label " id=":R1tldb6n6:" aria-current="false" class="Link__StyledLink-sc-14289xe-0 dibTck" href="/en/code-security/codeql-for-vs-code/using-the-advanced-functionality-of-the-codeql-for-vs-code-extension/setting-up-a-codeql-workspace"><div data-component="ActionList.Item--DividerContainer" class="Box-sc-g0xbh4-0 hROlum"><span id=":R1tldb6n6:--label" class="Box-sc-g0xbh4-0 bmseMA">CodeQL workspace setup</span></div></a></li><li class="Item__LiBox-sc-yeql7o-0 lnYQME"><a sx="[object Object]" tabindex="0" aria-labelledby=":R25ldb6n6:--label " id=":R25ldb6n6:" aria-current="false" class="Link__StyledLink-sc-14289xe-0 dibTck" href="/en/code-security/codeql-for-vs-code/using-the-advanced-functionality-of-the-codeql-for-vs-code-extension/configuring-access-to-the-codeql-cli"><div data-component="ActionList.Item--DividerContainer" class="Box-sc-g0xbh4-0 hROlum"><span id=":R25ldb6n6:--label" class="Box-sc-g0xbh4-0 bmseMA">CodeQL CLI access</span></div></a></li><li class="Item__LiBox-sc-yeql7o-0 lnYQME"><a sx="[object Object]" tabindex="0" aria-labelledby=":R2dldb6n6:--label " id=":R2dldb6n6:" aria-current="false" class="Link__StyledLink-sc-14289xe-0 dibTck" href="/en/code-security/codeql-for-vs-code/using-the-advanced-functionality-of-the-codeql-for-vs-code-extension/telemetry-in-codeql-for-visual-studio-code"><div data-component="ActionList.Item--DividerContainer" class="Box-sc-g0xbh4-0 hROlum"><span id=":R2dldb6n6:--label" class="Box-sc-g0xbh4-0 bmseMA">Telemetry</span></div></a></li></ul></div></li><li aria-labelledby=":Rtdb6n6:" class="Box-sc-g0xbh4-0 Ywlla"><button tabindex="0" aria-labelledby=":Rtdb6n6:--label " id=":Rtdb6n6:" aria-expanded="false" aria-controls=":Rtdb6n6H1:" class="Item__LiBox-sc-yeql7o-0 kXKjOF"><div data-component="ActionList.Item--DividerContainer" class="Box-sc-g0xbh4-0 hROlum"><div class="Box-sc-g0xbh4-0 cUxMoC"><span id=":Rtdb6n6:--label" class="Box-sc-g0xbh4-0 bmseMA">Troubleshooting CodeQL for VS Code</span><span class="Box-sc-g0xbh4-0 lmYNOb"><svg aria-hidden="true" focusable="false" class="Octicon-sc-9kayk9-0 daAEFx" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" style="display:inline-block;user-select:none;vertical-align:text-bottom;overflow:visible"><path d="M12.78 5.22a.749.749 0 0 1 0 1.06l-4.25 4.25a.749.749 0 0 1-1.06 0L3.22 6.28a.749.749 0 1 1 1.06-1.06L8 8.939l3.72-3.719a.749.749 0 0 1 1.06 0Z"></path></svg></span></div></div></button><div><ul id=":Rtdb6n6H1:" aria-labelledby=":Rtdb6n6:" class="Box-sc-g0xbh4-0 gMkIpo"><li class="Item__LiBox-sc-yeql7o-0 lnYQME"><a sx="[object Object]" tabindex="0" aria-labelledby=":Rdtdb6n6:--label " id=":Rdtdb6n6:" aria-current="false" class="Link__StyledLink-sc-14289xe-0 dibTck" href="/en/code-security/codeql-for-vs-code/troubleshooting-codeql-for-vs-code/accessing-logs"><div data-component="ActionList.Item--DividerContainer" class="Box-sc-g0xbh4-0 hROlum"><span id=":Rdtdb6n6:--label" class="Box-sc-g0xbh4-0 bmseMA">Access logs</span></div></a></li><li class="Item__LiBox-sc-yeql7o-0 lnYQME"><a sx="[object Object]" tabindex="0" aria-labelledby=":Rltdb6n6:--label " id=":Rltdb6n6:" aria-current="false" class="Link__StyledLink-sc-14289xe-0 dibTck" href="/en/code-security/codeql-for-vs-code/troubleshooting-codeql-for-vs-code/warning-problem-with-controller-repository"><div data-component="ActionList.Item--DividerContainer" class="Box-sc-g0xbh4-0 hROlum"><span id=":Rltdb6n6:--label" class="Box-sc-g0xbh4-0 bmseMA">Problem with controller repository</span></div></a></li></ul></div></li></ul></div></li><li aria-labelledby=":Rfb6n6:" class="Box-sc-g0xbh4-0 Ywlla"><button tabindex="0" aria-labelledby=":Rfb6n6:--label " id=":Rfb6n6:" aria-expanded="false" aria-controls=":Rfb6n6H1:" class="Item__LiBox-sc-yeql7o-0 itjSOb"><div data-component="ActionList.Item--DividerContainer" class="Box-sc-g0xbh4-0 hROlum"><div class="Box-sc-g0xbh4-0 cUxMoC"><span id=":Rfb6n6:--label" class="Box-sc-g0xbh4-0 bmseMA">Security advisories</span><span class="Box-sc-g0xbh4-0 lmYNOb"><svg aria-hidden="true" focusable="false" class="Octicon-sc-9kayk9-0 daAEFx" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" style="display:inline-block;user-select:none;vertical-align:text-bottom;overflow:visible"><path d="M12.78 5.22a.749.749 0 0 1 0 1.06l-4.25 4.25a.749.749 0 0 1-1.06 0L3.22 6.28a.749.749 0 1 1 1.06-1.06L8 8.939l3.72-3.719a.749.749 0 0 1 1.06 0Z"></path></svg></span></div></div></button><div><ul id=":Rfb6n6H1:" aria-labelledby=":Rfb6n6:" class="Box-sc-g0xbh4-0 gMkIpo"><li aria-labelledby=":Rdfb6n6:" class="Box-sc-g0xbh4-0 Ywlla"><button tabindex="0" aria-labelledby=":Rdfb6n6:--label " id=":Rdfb6n6:" aria-expanded="false" aria-controls=":Rdfb6n6H1:" class="Item__LiBox-sc-yeql7o-0 kXKjOF"><div data-component="ActionList.Item--DividerContainer" class="Box-sc-g0xbh4-0 hROlum"><div class="Box-sc-g0xbh4-0 cUxMoC"><span id=":Rdfb6n6:--label" class="Box-sc-g0xbh4-0 bmseMA">Global security advisories</span><span class="Box-sc-g0xbh4-0 lmYNOb"><svg aria-hidden="true" focusable="false" class="Octicon-sc-9kayk9-0 daAEFx" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" style="display:inline-block;user-select:none;vertical-align:text-bottom;overflow:visible"><path d="M12.78 5.22a.749.749 0 0 1 0 1.06l-4.25 4.25a.749.749 0 0 1-1.06 0L3.22 6.28a.749.749 0 1 1 1.06-1.06L8 8.939l3.72-3.719a.749.749 0 0 1 1.06 0Z"></path></svg></span></div></div></button><div><ul id=":Rdfb6n6H1:" aria-labelledby=":Rdfb6n6:" class="Box-sc-g0xbh4-0 gMkIpo"><li class="Item__LiBox-sc-yeql7o-0 lnYQME"><a sx="[object Object]" tabindex="0" aria-labelledby=":Rddfb6n6:--label " id=":Rddfb6n6:" aria-current="false" class="Link__StyledLink-sc-14289xe-0 dibTck" href="/en/code-security/security-advisories/working-with-global-security-advisories-from-the-github-advisory-database/about-the-github-advisory-database"><div data-component="ActionList.Item--DividerContainer" class="Box-sc-g0xbh4-0 hROlum"><span id=":Rddfb6n6:--label" class="Box-sc-g0xbh4-0 bmseMA">About the GitHub Advisory database</span></div></a></li><li class="Item__LiBox-sc-yeql7o-0 lnYQME"><a sx="[object Object]" tabindex="0" aria-labelledby=":Rldfb6n6:--label " id=":Rldfb6n6:" aria-current="false" class="Link__StyledLink-sc-14289xe-0 dibTck" href="/en/code-security/security-advisories/working-with-global-security-advisories-from-the-github-advisory-database/about-global-security-advisories"><div data-component="ActionList.Item--DividerContainer" class="Box-sc-g0xbh4-0 hROlum"><span id=":Rldfb6n6:--label" class="Box-sc-g0xbh4-0 bmseMA">About global security advisories</span></div></a></li><li class="Item__LiBox-sc-yeql7o-0 lnYQME"><a sx="[object Object]" tabindex="0" aria-labelledby=":Rtdfb6n6:--label " id=":Rtdfb6n6:" aria-current="false" class="Link__StyledLink-sc-14289xe-0 dibTck" href="/en/code-security/security-advisories/working-with-global-security-advisories-from-the-github-advisory-database/browsing-security-advisories-in-the-github-advisory-database"><div data-component="ActionList.Item--DividerContainer" class="Box-sc-g0xbh4-0 hROlum"><span id=":Rtdfb6n6:--label" class="Box-sc-g0xbh4-0 bmseMA">Browse Advisory Database</span></div></a></li><li class="Item__LiBox-sc-yeql7o-0 lnYQME"><a sx="[object Object]" tabindex="0" aria-labelledby=":R15dfb6n6:--label " id=":R15dfb6n6:" aria-current="false" class="Link__StyledLink-sc-14289xe-0 dibTck" href="/en/code-security/security-advisories/working-with-global-security-advisories-from-the-github-advisory-database/editing-security-advisories-in-the-github-advisory-database"><div data-component="ActionList.Item--DividerContainer" class="Box-sc-g0xbh4-0 hROlum"><span id=":R15dfb6n6:--label" class="Box-sc-g0xbh4-0 bmseMA">Edit Advisory Database</span></div></a></li></ul></div></li><li aria-labelledby=":Rlfb6n6:" class="Box-sc-g0xbh4-0 Ywlla"><button tabindex="0" aria-labelledby=":Rlfb6n6:--label " id=":Rlfb6n6:" aria-expanded="false" aria-controls=":Rlfb6n6H1:" class="Item__LiBox-sc-yeql7o-0 kXKjOF"><div data-component="ActionList.Item--DividerContainer" class="Box-sc-g0xbh4-0 hROlum"><div class="Box-sc-g0xbh4-0 cUxMoC"><span id=":Rlfb6n6:--label" class="Box-sc-g0xbh4-0 bmseMA">Repository security advisories</span><span class="Box-sc-g0xbh4-0 lmYNOb"><svg aria-hidden="true" focusable="false" class="Octicon-sc-9kayk9-0 daAEFx" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" style="display:inline-block;user-select:none;vertical-align:text-bottom;overflow:visible"><path d="M12.78 5.22a.749.749 0 0 1 0 1.06l-4.25 4.25a.749.749 0 0 1-1.06 0L3.22 6.28a.749.749 0 1 1 1.06-1.06L8 8.939l3.72-3.719a.749.749 0 0 1 1.06 0Z"></path></svg></span></div></div></button><div><ul id=":Rlfb6n6H1:" aria-labelledby=":Rlfb6n6:" class="Box-sc-g0xbh4-0 gMkIpo"><li class="Item__LiBox-sc-yeql7o-0 lnYQME"><a sx="[object Object]" tabindex="0" aria-labelledby=":Rdlfb6n6:--label " id=":Rdlfb6n6:" aria-current="false" class="Link__StyledLink-sc-14289xe-0 dibTck" href="/en/code-security/security-advisories/working-with-repository-security-advisories/about-repository-security-advisories"><div data-component="ActionList.Item--DividerContainer" class="Box-sc-g0xbh4-0 hROlum"><span id=":Rdlfb6n6:--label" class="Box-sc-g0xbh4-0 bmseMA">About repository security advisories</span></div></a></li><li class="Item__LiBox-sc-yeql7o-0 lnYQME"><a sx="[object Object]" tabindex="0" aria-labelledby=":Rllfb6n6:--label " id=":Rllfb6n6:" aria-current="false" class="Link__StyledLink-sc-14289xe-0 dibTck" href="/en/code-security/security-advisories/working-with-repository-security-advisories/permission-levels-for-repository-security-advisories"><div data-component="ActionList.Item--DividerContainer" class="Box-sc-g0xbh4-0 hROlum"><span id=":Rllfb6n6:--label" class="Box-sc-g0xbh4-0 bmseMA">Permission levels</span></div></a></li><li class="Item__LiBox-sc-yeql7o-0 lnYQME"><a sx="[object Object]" tabindex="0" aria-labelledby=":Rtlfb6n6:--label " id=":Rtlfb6n6:" aria-current="false" class="Link__StyledLink-sc-14289xe-0 dibTck" href="/en/code-security/security-advisories/working-with-repository-security-advisories/configuring-private-vulnerability-reporting-for-a-repository"><div data-component="ActionList.Item--DividerContainer" class="Box-sc-g0xbh4-0 hROlum"><span id=":Rtlfb6n6:--label" class="Box-sc-g0xbh4-0 bmseMA">Configure for a repository</span></div></a></li><li class="Item__LiBox-sc-yeql7o-0 lnYQME"><a sx="[object Object]" tabindex="0" aria-labelledby=":R15lfb6n6:--label " id=":R15lfb6n6:" aria-current="false" class="Link__StyledLink-sc-14289xe-0 dibTck" href="/en/code-security/security-advisories/working-with-repository-security-advisories/configuring-private-vulnerability-reporting-for-an-organization"><div data-component="ActionList.Item--DividerContainer" class="Box-sc-g0xbh4-0 hROlum"><span id=":R15lfb6n6:--label" class="Box-sc-g0xbh4-0 bmseMA">Configure for an organization</span></div></a></li><li class="Item__LiBox-sc-yeql7o-0 lnYQME"><a sx="[object Object]" tabindex="0" aria-labelledby=":R1dlfb6n6:--label " id=":R1dlfb6n6:" aria-current="false" class="Link__StyledLink-sc-14289xe-0 dibTck" href="/en/code-security/security-advisories/working-with-repository-security-advisories/creating-a-repository-security-advisory"><div data-component="ActionList.Item--DividerContainer" class="Box-sc-g0xbh4-0 hROlum"><span id=":R1dlfb6n6:--label" class="Box-sc-g0xbh4-0 bmseMA">Create repository advisories</span></div></a></li><li class="Item__LiBox-sc-yeql7o-0 lnYQME"><a sx="[object Object]" tabindex="0" aria-labelledby=":R1llfb6n6:--label " id=":R1llfb6n6:" aria-current="false" class="Link__StyledLink-sc-14289xe-0 dibTck" href="/en/code-security/security-advisories/working-with-repository-security-advisories/editing-a-repository-security-advisory"><div data-component="ActionList.Item--DividerContainer" class="Box-sc-g0xbh4-0 hROlum"><span id=":R1llfb6n6:--label" class="Box-sc-g0xbh4-0 bmseMA">Edit repository advisories</span></div></a></li><li class="Item__LiBox-sc-yeql7o-0 lnYQME"><a sx="[object Object]" tabindex="0" aria-labelledby=":R1tlfb6n6:--label " id=":R1tlfb6n6:" aria-current="false" class="Link__StyledLink-sc-14289xe-0 dibTck" href="/en/code-security/security-advisories/working-with-repository-security-advisories/evaluating-the-security-settings-of-a-repository"><div data-component="ActionList.Item--DividerContainer" class="Box-sc-g0xbh4-0 hROlum"><span id=":R1tlfb6n6:--label" class="Box-sc-g0xbh4-0 bmseMA">Evaluate repository security</span></div></a></li><li class="Item__LiBox-sc-yeql7o-0 lnYQME"><a sx="[object Object]" tabindex="0" aria-labelledby=":R25lfb6n6:--label " id=":R25lfb6n6:" aria-current="false" class="Link__StyledLink-sc-14289xe-0 dibTck" href="/en/code-security/security-advisories/working-with-repository-security-advisories/collaborating-in-a-temporary-private-fork-to-resolve-a-repository-security-vulnerability"><div data-component="ActionList.Item--DividerContainer" class="Box-sc-g0xbh4-0 hROlum"><span id=":R25lfb6n6:--label" class="Box-sc-g0xbh4-0 bmseMA">Temporary private forks</span></div></a></li><li class="Item__LiBox-sc-yeql7o-0 lnYQME"><a sx="[object Object]" tabindex="0" aria-labelledby=":R2dlfb6n6:--label " id=":R2dlfb6n6:" aria-current="false" class="Link__StyledLink-sc-14289xe-0 dibTck" href="/en/code-security/security-advisories/working-with-repository-security-advisories/publishing-a-repository-security-advisory"><div data-component="ActionList.Item--DividerContainer" class="Box-sc-g0xbh4-0 hROlum"><span id=":R2dlfb6n6:--label" class="Box-sc-g0xbh4-0 bmseMA">Publish repository advisories</span></div></a></li><li class="Item__LiBox-sc-yeql7o-0 lnYQME"><a sx="[object Object]" tabindex="0" aria-labelledby=":R2llfb6n6:--label " id=":R2llfb6n6:" aria-current="false" class="Link__StyledLink-sc-14289xe-0 dibTck" href="/en/code-security/security-advisories/working-with-repository-security-advisories/adding-a-collaborator-to-a-repository-security-advisory"><div data-component="ActionList.Item--DividerContainer" class="Box-sc-g0xbh4-0 hROlum"><span id=":R2llfb6n6:--label" class="Box-sc-g0xbh4-0 bmseMA">Add collaborators</span></div></a></li><li class="Item__LiBox-sc-yeql7o-0 lnYQME"><a sx="[object Object]" tabindex="0" aria-labelledby=":R2tlfb6n6:--label " id=":R2tlfb6n6:" aria-current="false" class="Link__StyledLink-sc-14289xe-0 dibTck" href="/en/code-security/security-advisories/working-with-repository-security-advisories/removing-a-collaborator-from-a-repository-security-advisory"><div data-component="ActionList.Item--DividerContainer" class="Box-sc-g0xbh4-0 hROlum"><span id=":R2tlfb6n6:--label" class="Box-sc-g0xbh4-0 bmseMA">Remove collaborators</span></div></a></li><li class="Item__LiBox-sc-yeql7o-0 lnYQME"><a sx="[object Object]" tabindex="0" aria-labelledby=":R35lfb6n6:--label " id=":R35lfb6n6:" aria-current="false" class="Link__StyledLink-sc-14289xe-0 dibTck" href="/en/code-security/security-advisories/working-with-repository-security-advisories/deleting-a-repository-security-advisory"><div data-component="ActionList.Item--DividerContainer" class="Box-sc-g0xbh4-0 hROlum"><span id=":R35lfb6n6:--label" class="Box-sc-g0xbh4-0 bmseMA">Delete repository advisories</span></div></a></li></ul></div></li><li aria-labelledby=":Rtfb6n6:" class="Box-sc-g0xbh4-0 Ywlla"><button tabindex="0" aria-labelledby=":Rtfb6n6:--label " id=":Rtfb6n6:" aria-expanded="false" aria-controls=":Rtfb6n6H1:" class="Item__LiBox-sc-yeql7o-0 kXKjOF"><div data-component="ActionList.Item--DividerContainer" class="Box-sc-g0xbh4-0 hROlum"><div class="Box-sc-g0xbh4-0 cUxMoC"><span id=":Rtfb6n6:--label" class="Box-sc-g0xbh4-0 bmseMA">Guidance on reporting and writing</span><span class="Box-sc-g0xbh4-0 lmYNOb"><svg aria-hidden="true" focusable="false" class="Octicon-sc-9kayk9-0 daAEFx" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" style="display:inline-block;user-select:none;vertical-align:text-bottom;overflow:visible"><path d="M12.78 5.22a.749.749 0 0 1 0 1.06l-4.25 4.25a.749.749 0 0 1-1.06 0L3.22 6.28a.749.749 0 1 1 1.06-1.06L8 8.939l3.72-3.719a.749.749 0 0 1 1.06 0Z"></path></svg></span></div></div></button><div><ul id=":Rtfb6n6H1:" aria-labelledby=":Rtfb6n6:" class="Box-sc-g0xbh4-0 gMkIpo"><li class="Item__LiBox-sc-yeql7o-0 lnYQME"><a sx="[object Object]" tabindex="0" aria-labelledby=":Rdtfb6n6:--label " id=":Rdtfb6n6:" aria-current="false" class="Link__StyledLink-sc-14289xe-0 dibTck" href="/en/code-security/security-advisories/guidance-on-reporting-and-writing-information-about-vulnerabilities/about-coordinated-disclosure-of-security-vulnerabilities"><div data-component="ActionList.Item--DividerContainer" class="Box-sc-g0xbh4-0 hROlum"><span id=":Rdtfb6n6:--label" class="Box-sc-g0xbh4-0 bmseMA">Coordinated disclosure</span></div></a></li><li class="Item__LiBox-sc-yeql7o-0 lnYQME"><a sx="[object Object]" tabindex="0" aria-labelledby=":Rltfb6n6:--label " id=":Rltfb6n6:" aria-current="false" class="Link__StyledLink-sc-14289xe-0 dibTck" href="/en/code-security/security-advisories/guidance-on-reporting-and-writing-information-about-vulnerabilities/best-practices-for-writing-repository-security-advisories"><div data-component="ActionList.Item--DividerContainer" class="Box-sc-g0xbh4-0 hROlum"><span id=":Rltfb6n6:--label" class="Box-sc-g0xbh4-0 bmseMA">Best practices</span></div></a></li><li class="Item__LiBox-sc-yeql7o-0 lnYQME"><a sx="[object Object]" tabindex="0" aria-labelledby=":Rttfb6n6:--label " id=":Rttfb6n6:" aria-current="false" class="Link__StyledLink-sc-14289xe-0 dibTck" href="/en/code-security/security-advisories/guidance-on-reporting-and-writing-information-about-vulnerabilities/privately-reporting-a-security-vulnerability"><div data-component="ActionList.Item--DividerContainer" class="Box-sc-g0xbh4-0 hROlum"><span id=":Rttfb6n6:--label" class="Box-sc-g0xbh4-0 bmseMA">Privately reporting</span></div></a></li><li class="Item__LiBox-sc-yeql7o-0 lnYQME"><a sx="[object Object]" tabindex="0" aria-labelledby=":R15tfb6n6:--label " id=":R15tfb6n6:" aria-current="false" class="Link__StyledLink-sc-14289xe-0 dibTck" href="/en/code-security/security-advisories/guidance-on-reporting-and-writing-information-about-vulnerabilities/managing-privately-reported-security-vulnerabilities"><div data-component="ActionList.Item--DividerContainer" class="Box-sc-g0xbh4-0 hROlum"><span id=":R15tfb6n6:--label" class="Box-sc-g0xbh4-0 bmseMA">Manage vulnerability reports</span></div></a></li></ul></div></li></ul></div></li><li aria-labelledby=":Rhb6n6:" class="Box-sc-g0xbh4-0 Ywlla"><button tabindex="0" aria-labelledby=":Rhb6n6:--label " id=":Rhb6n6:" aria-expanded="false" aria-controls=":Rhb6n6H1:" class="Item__LiBox-sc-yeql7o-0 itjSOb"><div data-component="ActionList.Item--DividerContainer" class="Box-sc-g0xbh4-0 hROlum"><div class="Box-sc-g0xbh4-0 cUxMoC"><span id=":Rhb6n6:--label" class="Box-sc-g0xbh4-0 bmseMA">Supply chain security</span><span class="Box-sc-g0xbh4-0 lmYNOb"><svg aria-hidden="true" focusable="false" class="Octicon-sc-9kayk9-0 daAEFx" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" style="display:inline-block;user-select:none;vertical-align:text-bottom;overflow:visible"><path d="M12.78 5.22a.749.749 0 0 1 0 1.06l-4.25 4.25a.749.749 0 0 1-1.06 0L3.22 6.28a.749.749 0 1 1 1.06-1.06L8 8.939l3.72-3.719a.749.749 0 0 1 1.06 0Z"></path></svg></span></div></div></button><div><ul id=":Rhb6n6H1:" aria-labelledby=":Rhb6n6:" class="Box-sc-g0xbh4-0 gMkIpo"><li aria-labelledby=":Rdhb6n6:" class="Box-sc-g0xbh4-0 Ywlla"><button tabindex="0" aria-labelledby=":Rdhb6n6:--label " id=":Rdhb6n6:" aria-expanded="false" aria-controls=":Rdhb6n6H1:" class="Item__LiBox-sc-yeql7o-0 kXKjOF"><div data-component="ActionList.Item--DividerContainer" class="Box-sc-g0xbh4-0 hROlum"><div class="Box-sc-g0xbh4-0 cUxMoC"><span id=":Rdhb6n6:--label" class="Box-sc-g0xbh4-0 bmseMA">Understand your supply chain</span><span class="Box-sc-g0xbh4-0 lmYNOb"><svg aria-hidden="true" focusable="false" class="Octicon-sc-9kayk9-0 daAEFx" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" style="display:inline-block;user-select:none;vertical-align:text-bottom;overflow:visible"><path d="M12.78 5.22a.749.749 0 0 1 0 1.06l-4.25 4.25a.749.749 0 0 1-1.06 0L3.22 6.28a.749.749 0 1 1 1.06-1.06L8 8.939l3.72-3.719a.749.749 0 0 1 1.06 0Z"></path></svg></span></div></div></button><div><ul id=":Rdhb6n6H1:" aria-labelledby=":Rdhb6n6:" class="Box-sc-g0xbh4-0 gMkIpo"><li class="Item__LiBox-sc-yeql7o-0 lnYQME"><a sx="[object Object]" tabindex="0" aria-labelledby=":Rddhb6n6:--label " id=":Rddhb6n6:" aria-current="false" class="Link__StyledLink-sc-14289xe-0 dibTck" href="/en/code-security/supply-chain-security/understanding-your-software-supply-chain/about-supply-chain-security"><div data-component="ActionList.Item--DividerContainer" class="Box-sc-g0xbh4-0 hROlum"><span id=":Rddhb6n6:--label" class="Box-sc-g0xbh4-0 bmseMA">Supply chain security</span></div></a></li><li class="Item__LiBox-sc-yeql7o-0 lnYQME"><a sx="[object Object]" tabindex="0" aria-labelledby=":Rldhb6n6:--label " id=":Rldhb6n6:" aria-current="false" class="Link__StyledLink-sc-14289xe-0 dibTck" href="/en/code-security/supply-chain-security/understanding-your-software-supply-chain/about-the-dependency-graph"><div data-component="ActionList.Item--DividerContainer" class="Box-sc-g0xbh4-0 hROlum"><span id=":Rldhb6n6:--label" class="Box-sc-g0xbh4-0 bmseMA">Dependency graph</span></div></a></li><li class="Item__LiBox-sc-yeql7o-0 lnYQME"><a sx="[object Object]" tabindex="0" aria-labelledby=":Rtdhb6n6:--label " id=":Rtdhb6n6:" aria-current="false" class="Link__StyledLink-sc-14289xe-0 dibTck" href="/en/code-security/supply-chain-security/understanding-your-software-supply-chain/dependency-graph-supported-package-ecosystems"><div data-component="ActionList.Item--DividerContainer" class="Box-sc-g0xbh4-0 hROlum"><span id=":Rtdhb6n6:--label" class="Box-sc-g0xbh4-0 bmseMA">Dependency graph ecosystem support</span></div></a></li><li class="Item__LiBox-sc-yeql7o-0 lnYQME"><a sx="[object Object]" tabindex="0" aria-labelledby=":R15dhb6n6:--label " id=":R15dhb6n6:" aria-current="false" class="Link__StyledLink-sc-14289xe-0 dibTck" href="/en/code-security/supply-chain-security/understanding-your-software-supply-chain/configuring-the-dependency-graph"><div data-component="ActionList.Item--DividerContainer" class="Box-sc-g0xbh4-0 hROlum"><span id=":R15dhb6n6:--label" class="Box-sc-g0xbh4-0 bmseMA">Configure dependency graph</span></div></a></li><li class="Item__LiBox-sc-yeql7o-0 lnYQME"><a sx="[object Object]" tabindex="0" aria-labelledby=":R1ddhb6n6:--label " id=":R1ddhb6n6:" aria-current="false" class="Link__StyledLink-sc-14289xe-0 dibTck" href="/en/code-security/supply-chain-security/understanding-your-software-supply-chain/configuring-automatic-dependency-submission-for-your-repository"><div data-component="ActionList.Item--DividerContainer" class="Box-sc-g0xbh4-0 hROlum"><span id=":R1ddhb6n6:--label" class="Box-sc-g0xbh4-0 bmseMA">Automatic dependency submission</span></div></a></li><li class="Item__LiBox-sc-yeql7o-0 lnYQME"><a sx="[object Object]" tabindex="0" aria-labelledby=":R1ldhb6n6:--label " id=":R1ldhb6n6:" aria-current="false" class="Link__StyledLink-sc-14289xe-0 dibTck" href="/en/code-security/supply-chain-security/understanding-your-software-supply-chain/exporting-a-software-bill-of-materials-for-your-repository"><div data-component="ActionList.Item--DividerContainer" class="Box-sc-g0xbh4-0 hROlum"><span id=":R1ldhb6n6:--label" class="Box-sc-g0xbh4-0 bmseMA">Export dependencies as SBOM</span></div></a></li><li class="Item__LiBox-sc-yeql7o-0 lnYQME"><a sx="[object Object]" tabindex="0" aria-labelledby=":R1tdhb6n6:--label " id=":R1tdhb6n6:" aria-current="false" class="Link__StyledLink-sc-14289xe-0 dibTck" href="/en/code-security/supply-chain-security/understanding-your-software-supply-chain/using-the-dependency-submission-api"><div data-component="ActionList.Item--DividerContainer" class="Box-sc-g0xbh4-0 hROlum"><span id=":R1tdhb6n6:--label" class="Box-sc-g0xbh4-0 bmseMA">Dependency submission API</span></div></a></li><li class="Item__LiBox-sc-yeql7o-0 lnYQME"><a sx="[object Object]" tabindex="0" aria-labelledby=":R25dhb6n6:--label " id=":R25dhb6n6:" aria-current="false" class="Link__StyledLink-sc-14289xe-0 dibTck" href="/en/code-security/supply-chain-security/understanding-your-software-supply-chain/about-dependency-review"><div data-component="ActionList.Item--DividerContainer" class="Box-sc-g0xbh4-0 hROlum"><span id=":R25dhb6n6:--label" class="Box-sc-g0xbh4-0 bmseMA">Dependency review</span></div></a></li><li class="Item__LiBox-sc-yeql7o-0 lnYQME"><a sx="[object Object]" tabindex="0" aria-labelledby=":R2ddhb6n6:--label " id=":R2ddhb6n6:" aria-current="false" class="Link__StyledLink-sc-14289xe-0 dibTck" href="/en/code-security/supply-chain-security/understanding-your-software-supply-chain/configuring-dependency-review"><div data-component="ActionList.Item--DividerContainer" class="Box-sc-g0xbh4-0 hROlum"><span id=":R2ddhb6n6:--label" class="Box-sc-g0xbh4-0 bmseMA">Configure dependency review</span></div></a></li><li class="Item__LiBox-sc-yeql7o-0 lnYQME"><a sx="[object Object]" tabindex="0" aria-labelledby=":R2ldhb6n6:--label " id=":R2ldhb6n6:" aria-current="false" class="Link__StyledLink-sc-14289xe-0 dibTck" href="/en/code-security/supply-chain-security/understanding-your-software-supply-chain/customizing-your-dependency-review-action-configuration"><div data-component="ActionList.Item--DividerContainer" class="Box-sc-g0xbh4-0 hROlum"><span id=":R2ldhb6n6:--label" class="Box-sc-g0xbh4-0 bmseMA">Customize dependency review</span></div></a></li><li class="Item__LiBox-sc-yeql7o-0 lnYQME"><a sx="[object Object]" tabindex="0" aria-labelledby=":R2tdhb6n6:--label " id=":R2tdhb6n6:" aria-current="false" class="Link__StyledLink-sc-14289xe-0 dibTck" href="/en/code-security/supply-chain-security/understanding-your-software-supply-chain/enforcing-dependency-review-across-an-organization"><div data-component="ActionList.Item--DividerContainer" class="Box-sc-g0xbh4-0 hROlum"><span id=":R2tdhb6n6:--label" class="Box-sc-g0xbh4-0 bmseMA">Enforce dependency review</span></div></a></li><li class="Item__LiBox-sc-yeql7o-0 lnYQME"><a sx="[object Object]" tabindex="0" aria-labelledby=":R35dhb6n6:--label " id=":R35dhb6n6:" aria-current="false" class="Link__StyledLink-sc-14289xe-0 dibTck" href="/en/code-security/supply-chain-security/understanding-your-software-supply-chain/exploring-the-dependencies-of-a-repository"><div data-component="ActionList.Item--DividerContainer" class="Box-sc-g0xbh4-0 hROlum"><span id=":R35dhb6n6:--label" class="Box-sc-g0xbh4-0 bmseMA">Explore dependencies</span></div></a></li><li class="Item__LiBox-sc-yeql7o-0 lnYQME"><a sx="[object Object]" tabindex="0" aria-labelledby=":R3ddhb6n6:--label " id=":R3ddhb6n6:" aria-current="false" class="Link__StyledLink-sc-14289xe-0 dibTck" href="/en/code-security/supply-chain-security/understanding-your-software-supply-chain/troubleshooting-the-dependency-graph"><div data-component="ActionList.Item--DividerContainer" class="Box-sc-g0xbh4-0 hROlum"><span id=":R3ddhb6n6:--label" class="Box-sc-g0xbh4-0 bmseMA">Troubleshoot dependency graph</span></div></a></li></ul></div></li><li aria-labelledby=":Rlhb6n6:" class="Box-sc-g0xbh4-0 Ywlla"><button tabindex="0" aria-labelledby=":Rlhb6n6:--label " id=":Rlhb6n6:" aria-expanded="false" aria-controls=":Rlhb6n6H1:" class="Item__LiBox-sc-yeql7o-0 kXKjOF"><div data-component="ActionList.Item--DividerContainer" class="Box-sc-g0xbh4-0 hROlum"><div class="Box-sc-g0xbh4-0 cUxMoC"><span id=":Rlhb6n6:--label" class="Box-sc-g0xbh4-0 bmseMA">End-to-end supply chain</span><span class="Box-sc-g0xbh4-0 lmYNOb"><svg aria-hidden="true" focusable="false" class="Octicon-sc-9kayk9-0 daAEFx" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" style="display:inline-block;user-select:none;vertical-align:text-bottom;overflow:visible"><path d="M12.78 5.22a.749.749 0 0 1 0 1.06l-4.25 4.25a.749.749 0 0 1-1.06 0L3.22 6.28a.749.749 0 1 1 1.06-1.06L8 8.939l3.72-3.719a.749.749 0 0 1 1.06 0Z"></path></svg></span></div></div></button><div><ul id=":Rlhb6n6H1:" aria-labelledby=":Rlhb6n6:" class="Box-sc-g0xbh4-0 gMkIpo"><li class="Item__LiBox-sc-yeql7o-0 lnYQME"><a sx="[object Object]" tabindex="0" aria-labelledby=":Rdlhb6n6:--label " id=":Rdlhb6n6:" aria-current="false" class="Link__StyledLink-sc-14289xe-0 dibTck" href="/en/code-security/supply-chain-security/end-to-end-supply-chain/end-to-end-supply-chain-overview"><div data-component="ActionList.Item--DividerContainer" class="Box-sc-g0xbh4-0 hROlum"><span id=":Rdlhb6n6:--label" class="Box-sc-g0xbh4-0 bmseMA">Overview</span></div></a></li><li class="Item__LiBox-sc-yeql7o-0 lnYQME"><a sx="[object Object]" tabindex="0" aria-labelledby=":Rllhb6n6:--label " id=":Rllhb6n6:" aria-current="false" class="Link__StyledLink-sc-14289xe-0 dibTck" href="/en/code-security/supply-chain-security/end-to-end-supply-chain/securing-accounts"><div data-component="ActionList.Item--DividerContainer" class="Box-sc-g0xbh4-0 hROlum"><span id=":Rllhb6n6:--label" class="Box-sc-g0xbh4-0 bmseMA">Securing accounts</span></div></a></li><li class="Item__LiBox-sc-yeql7o-0 lnYQME"><a sx="[object Object]" tabindex="0" aria-labelledby=":Rtlhb6n6:--label " id=":Rtlhb6n6:" aria-current="false" class="Link__StyledLink-sc-14289xe-0 dibTck" href="/en/code-security/supply-chain-security/end-to-end-supply-chain/securing-code"><div data-component="ActionList.Item--DividerContainer" class="Box-sc-g0xbh4-0 hROlum"><span id=":Rtlhb6n6:--label" class="Box-sc-g0xbh4-0 bmseMA">Securing code</span></div></a></li><li class="Item__LiBox-sc-yeql7o-0 lnYQME"><a sx="[object Object]" tabindex="0" aria-labelledby=":R15lhb6n6:--label " id=":R15lhb6n6:" aria-current="false" class="Link__StyledLink-sc-14289xe-0 dibTck" href="/en/code-security/supply-chain-security/end-to-end-supply-chain/securing-builds"><div data-component="ActionList.Item--DividerContainer" class="Box-sc-g0xbh4-0 hROlum"><span id=":R15lhb6n6:--label" class="Box-sc-g0xbh4-0 bmseMA">Securing builds</span></div></a></li></ul></div></li></ul></div></li><li aria-labelledby=":Rjb6n6:" class="Box-sc-g0xbh4-0 Ywlla"><button tabindex="0" aria-labelledby=":Rjb6n6:--label " id=":Rjb6n6:" aria-expanded="false" aria-controls=":Rjb6n6H1:" class="Item__LiBox-sc-yeql7o-0 itjSOb"><div data-component="ActionList.Item--DividerContainer" class="Box-sc-g0xbh4-0 hROlum"><div class="Box-sc-g0xbh4-0 cUxMoC"><span id=":Rjb6n6:--label" class="Box-sc-g0xbh4-0 bmseMA">Dependabot</span><span class="Box-sc-g0xbh4-0 lmYNOb"><svg aria-hidden="true" focusable="false" class="Octicon-sc-9kayk9-0 daAEFx" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" style="display:inline-block;user-select:none;vertical-align:text-bottom;overflow:visible"><path d="M12.78 5.22a.749.749 0 0 1 0 1.06l-4.25 4.25a.749.749 0 0 1-1.06 0L3.22 6.28a.749.749 0 1 1 1.06-1.06L8 8.939l3.72-3.719a.749.749 0 0 1 1.06 0Z"></path></svg></span></div></div></button><div><ul id=":Rjb6n6H1:" aria-labelledby=":Rjb6n6:" class="Box-sc-g0xbh4-0 gMkIpo"><li aria-labelledby=":Rdjb6n6:" class="Box-sc-g0xbh4-0 Ywlla"><button tabindex="0" aria-labelledby=":Rdjb6n6:--label " id=":Rdjb6n6:" aria-expanded="false" aria-controls=":Rdjb6n6H1:" class="Item__LiBox-sc-yeql7o-0 kXKjOF"><div data-component="ActionList.Item--DividerContainer" class="Box-sc-g0xbh4-0 hROlum"><div class="Box-sc-g0xbh4-0 cUxMoC"><span id=":Rdjb6n6:--label" class="Box-sc-g0xbh4-0 bmseMA">Dependabot ecosystems</span><span class="Box-sc-g0xbh4-0 lmYNOb"><svg aria-hidden="true" focusable="false" class="Octicon-sc-9kayk9-0 daAEFx" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" style="display:inline-block;user-select:none;vertical-align:text-bottom;overflow:visible"><path d="M12.78 5.22a.749.749 0 0 1 0 1.06l-4.25 4.25a.749.749 0 0 1-1.06 0L3.22 6.28a.749.749 0 1 1 1.06-1.06L8 8.939l3.72-3.719a.749.749 0 0 1 1.06 0Z"></path></svg></span></div></div></button><div><ul id=":Rdjb6n6H1:" aria-labelledby=":Rdjb6n6:" class="Box-sc-g0xbh4-0 gMkIpo"><li class="Item__LiBox-sc-yeql7o-0 lnYQME"><a sx="[object Object]" tabindex="0" aria-labelledby=":Rqdjb6n6:--label " id=":Rqdjb6n6:" aria-current="false" class="Link__StyledLink-sc-14289xe-0 dibTck" href="/en/code-security/dependabot/ecosystems-supported-by-dependabot/supported-ecosystems-and-repositories"><div data-component="ActionList.Item--DividerContainer" class="Box-sc-g0xbh4-0 hROlum"><span id=":Rqdjb6n6:--label" class="Box-sc-g0xbh4-0 bmseMA">Dependabot ecosystem support</span></div></a></li><li class="Item__LiBox-sc-yeql7o-0 lnYQME"><a sx="[object Object]" tabindex="0" aria-labelledby=":R1adjb6n6:--label " id=":R1adjb6n6:" aria-current="false" class="Link__StyledLink-sc-14289xe-0 dibTck" href="/en/code-security/dependabot/ecosystems-supported-by-dependabot/optimizing-java-packages-dependabot"><div data-component="ActionList.Item--DividerContainer" class="Box-sc-g0xbh4-0 hROlum"><span id=":R1adjb6n6:--label" class="Box-sc-g0xbh4-0 bmseMA">Optimize Java packages</span></div></a></li></ul></div></li><li aria-labelledby=":Rljb6n6:" class="Box-sc-g0xbh4-0 Ywlla"><button tabindex="0" aria-labelledby=":Rljb6n6:--label " id=":Rljb6n6:" aria-expanded="false" aria-controls=":Rljb6n6H1:" class="Item__LiBox-sc-yeql7o-0 kXKjOF"><div data-component="ActionList.Item--DividerContainer" class="Box-sc-g0xbh4-0 hROlum"><div class="Box-sc-g0xbh4-0 cUxMoC"><span id=":Rljb6n6:--label" class="Box-sc-g0xbh4-0 bmseMA">Dependabot alerts</span><span class="Box-sc-g0xbh4-0 lmYNOb"><svg aria-hidden="true" focusable="false" class="Octicon-sc-9kayk9-0 daAEFx" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" style="display:inline-block;user-select:none;vertical-align:text-bottom;overflow:visible"><path d="M12.78 5.22a.749.749 0 0 1 0 1.06l-4.25 4.25a.749.749 0 0 1-1.06 0L3.22 6.28a.749.749 0 1 1 1.06-1.06L8 8.939l3.72-3.719a.749.749 0 0 1 1.06 0Z"></path></svg></span></div></div></button><div><ul id=":Rljb6n6H1:" aria-labelledby=":Rljb6n6:" class="Box-sc-g0xbh4-0 gMkIpo"><li class="Item__LiBox-sc-yeql7o-0 lnYQME"><a sx="[object Object]" tabindex="0" aria-labelledby=":Rqljb6n6:--label " id=":Rqljb6n6:" aria-current="false" class="Link__StyledLink-sc-14289xe-0 dibTck" href="/en/code-security/dependabot/dependabot-alerts/about-dependabot-alerts"><div data-component="ActionList.Item--DividerContainer" class="Box-sc-g0xbh4-0 hROlum"><span id=":Rqljb6n6:--label" class="Box-sc-g0xbh4-0 bmseMA">Dependabot alerts</span></div></a></li><li class="Item__LiBox-sc-yeql7o-0 lnYQME"><a sx="[object Object]" tabindex="0" aria-labelledby=":R1aljb6n6:--label " id=":R1aljb6n6:" aria-current="false" class="Link__StyledLink-sc-14289xe-0 dibTck" href="/en/code-security/dependabot/dependabot-alerts/configuring-dependabot-alerts"><div data-component="ActionList.Item--DividerContainer" class="Box-sc-g0xbh4-0 hROlum"><span id=":R1aljb6n6:--label" class="Box-sc-g0xbh4-0 bmseMA">Configure Dependabot alerts</span></div></a></li><li class="Item__LiBox-sc-yeql7o-0 lnYQME"><a sx="[object Object]" tabindex="0" aria-labelledby=":R1qljb6n6:--label " id=":R1qljb6n6:" aria-current="false" class="Link__StyledLink-sc-14289xe-0 dibTck" href="/en/code-security/dependabot/dependabot-alerts/viewing-and-updating-dependabot-alerts"><div data-component="ActionList.Item--DividerContainer" class="Box-sc-g0xbh4-0 hROlum"><span id=":R1qljb6n6:--label" class="Box-sc-g0xbh4-0 bmseMA">View Dependabot alerts</span></div></a></li><li class="Item__LiBox-sc-yeql7o-0 lnYQME"><a sx="[object Object]" tabindex="0" aria-labelledby=":R2aljb6n6:--label " id=":R2aljb6n6:" aria-current="false" class="Link__StyledLink-sc-14289xe-0 dibTck" href="/en/code-security/dependabot/dependabot-alerts/configuring-notifications-for-dependabot-alerts"><div data-component="ActionList.Item--DividerContainer" class="Box-sc-g0xbh4-0 hROlum"><span id=":R2aljb6n6:--label" class="Box-sc-g0xbh4-0 bmseMA">Configure notifications</span></div></a></li></ul></div></li><li aria-labelledby=":Rtjb6n6:" class="Box-sc-g0xbh4-0 Ywlla"><button tabindex="0" aria-labelledby=":Rtjb6n6:--label " id=":Rtjb6n6:" aria-expanded="false" aria-controls=":Rtjb6n6H1:" class="Item__LiBox-sc-yeql7o-0 kXKjOF"><div data-component="ActionList.Item--DividerContainer" class="Box-sc-g0xbh4-0 hROlum"><div class="Box-sc-g0xbh4-0 cUxMoC"><span id=":Rtjb6n6:--label" class="Box-sc-g0xbh4-0 bmseMA">Dependabot auto-triage rules</span><span class="Box-sc-g0xbh4-0 lmYNOb"><svg aria-hidden="true" focusable="false" class="Octicon-sc-9kayk9-0 daAEFx" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" style="display:inline-block;user-select:none;vertical-align:text-bottom;overflow:visible"><path d="M12.78 5.22a.749.749 0 0 1 0 1.06l-4.25 4.25a.749.749 0 0 1-1.06 0L3.22 6.28a.749.749 0 1 1 1.06-1.06L8 8.939l3.72-3.719a.749.749 0 0 1 1.06 0Z"></path></svg></span></div></div></button><div><ul id=":Rtjb6n6H1:" aria-labelledby=":Rtjb6n6:" class="Box-sc-g0xbh4-0 gMkIpo"><li class="Item__LiBox-sc-yeql7o-0 lnYQME"><a sx="[object Object]" tabindex="0" aria-labelledby=":Rqtjb6n6:--label " id=":Rqtjb6n6:" aria-current="false" class="Link__StyledLink-sc-14289xe-0 dibTck" href="/en/code-security/dependabot/dependabot-auto-triage-rules/about-dependabot-auto-triage-rules"><div data-component="ActionList.Item--DividerContainer" class="Box-sc-g0xbh4-0 hROlum"><span id=":Rqtjb6n6:--label" class="Box-sc-g0xbh4-0 bmseMA">About auto-triage rules</span></div></a></li><li class="Item__LiBox-sc-yeql7o-0 lnYQME"><a sx="[object Object]" tabindex="0" aria-labelledby=":R1atjb6n6:--label " id=":R1atjb6n6:" aria-current="false" class="Link__StyledLink-sc-14289xe-0 dibTck" href="/en/code-security/dependabot/dependabot-auto-triage-rules/using-github-preset-rules-to-prioritize-dependabot-alerts"><div data-component="ActionList.Item--DividerContainer" class="Box-sc-g0xbh4-0 hROlum"><span id=":R1atjb6n6:--label" class="Box-sc-g0xbh4-0 bmseMA">GitHub preset rules</span></div></a></li><li class="Item__LiBox-sc-yeql7o-0 lnYQME"><a sx="[object Object]" tabindex="0" aria-labelledby=":R1qtjb6n6:--label " id=":R1qtjb6n6:" aria-current="false" class="Link__StyledLink-sc-14289xe-0 dibTck" href="/en/code-security/dependabot/dependabot-auto-triage-rules/customizing-auto-triage-rules-to-prioritize-dependabot-alerts"><div data-component="ActionList.Item--DividerContainer" class="Box-sc-g0xbh4-0 hROlum"><span id=":R1qtjb6n6:--label" class="Box-sc-g0xbh4-0 bmseMA">Custom auto-triage rules</span></div></a></li><li class="Item__LiBox-sc-yeql7o-0 lnYQME"><a sx="[object Object]" tabindex="0" aria-labelledby=":R2atjb6n6:--label " id=":R2atjb6n6:" aria-current="false" class="Link__StyledLink-sc-14289xe-0 dibTck" href="/en/code-security/dependabot/dependabot-auto-triage-rules/managing-automatically-dismissed-alerts"><div data-component="ActionList.Item--DividerContainer" class="Box-sc-g0xbh4-0 hROlum"><span id=":R2atjb6n6:--label" class="Box-sc-g0xbh4-0 bmseMA">Manage auto-dismissed alerts</span></div></a></li></ul></div></li><li aria-labelledby=":R15jb6n6:" class="Box-sc-g0xbh4-0 Ywlla"><button tabindex="0" aria-labelledby=":R15jb6n6:--label " id=":R15jb6n6:" aria-expanded="false" aria-controls=":R15jb6n6H1:" class="Item__LiBox-sc-yeql7o-0 kXKjOF"><div data-component="ActionList.Item--DividerContainer" class="Box-sc-g0xbh4-0 hROlum"><div class="Box-sc-g0xbh4-0 cUxMoC"><span id=":R15jb6n6:--label" class="Box-sc-g0xbh4-0 bmseMA">Dependabot security updates</span><span class="Box-sc-g0xbh4-0 lmYNOb"><svg aria-hidden="true" focusable="false" class="Octicon-sc-9kayk9-0 daAEFx" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" style="display:inline-block;user-select:none;vertical-align:text-bottom;overflow:visible"><path d="M12.78 5.22a.749.749 0 0 1 0 1.06l-4.25 4.25a.749.749 0 0 1-1.06 0L3.22 6.28a.749.749 0 1 1 1.06-1.06L8 8.939l3.72-3.719a.749.749 0 0 1 1.06 0Z"></path></svg></span></div></div></button><div><ul id=":R15jb6n6H1:" aria-labelledby=":R15jb6n6:" class="Box-sc-g0xbh4-0 gMkIpo"><li class="Item__LiBox-sc-yeql7o-0 lnYQME"><a sx="[object Object]" tabindex="0" aria-labelledby=":Rr5jb6n6:--label " id=":Rr5jb6n6:" aria-current="false" class="Link__StyledLink-sc-14289xe-0 dibTck" href="/en/code-security/dependabot/dependabot-security-updates/about-dependabot-security-updates"><div data-component="ActionList.Item--DividerContainer" class="Box-sc-g0xbh4-0 hROlum"><span id=":Rr5jb6n6:--label" class="Box-sc-g0xbh4-0 bmseMA">Dependabot security updates</span></div></a></li><li class="Item__LiBox-sc-yeql7o-0 lnYQME"><a sx="[object Object]" tabindex="0" aria-labelledby=":R1b5jb6n6:--label " id=":R1b5jb6n6:" aria-current="false" class="Link__StyledLink-sc-14289xe-0 dibTck" href="/en/code-security/dependabot/dependabot-security-updates/configuring-dependabot-security-updates"><div data-component="ActionList.Item--DividerContainer" class="Box-sc-g0xbh4-0 hROlum"><span id=":R1b5jb6n6:--label" class="Box-sc-g0xbh4-0 bmseMA">Configure security updates</span></div></a></li></ul></div></li><li aria-labelledby=":R1djb6n6:" class="Box-sc-g0xbh4-0 Ywlla"><button tabindex="0" aria-labelledby=":R1djb6n6:--label " id=":R1djb6n6:" aria-expanded="false" aria-controls=":R1djb6n6H1:" class="Item__LiBox-sc-yeql7o-0 kXKjOF"><div data-component="ActionList.Item--DividerContainer" class="Box-sc-g0xbh4-0 hROlum"><div class="Box-sc-g0xbh4-0 cUxMoC"><span id=":R1djb6n6:--label" class="Box-sc-g0xbh4-0 bmseMA">Dependabot version updates</span><span class="Box-sc-g0xbh4-0 lmYNOb"><svg aria-hidden="true" focusable="false" class="Octicon-sc-9kayk9-0 daAEFx" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" style="display:inline-block;user-select:none;vertical-align:text-bottom;overflow:visible"><path d="M12.78 5.22a.749.749 0 0 1 0 1.06l-4.25 4.25a.749.749 0 0 1-1.06 0L3.22 6.28a.749.749 0 1 1 1.06-1.06L8 8.939l3.72-3.719a.749.749 0 0 1 1.06 0Z"></path></svg></span></div></div></button><div><ul id=":R1djb6n6H1:" aria-labelledby=":R1djb6n6:" class="Box-sc-g0xbh4-0 gMkIpo"><li class="Item__LiBox-sc-yeql7o-0 lnYQME"><a sx="[object Object]" tabindex="0" aria-labelledby=":Rrdjb6n6:--label " id=":Rrdjb6n6:" aria-current="false" class="Link__StyledLink-sc-14289xe-0 dibTck" href="/en/code-security/dependabot/dependabot-version-updates/about-dependabot-version-updates"><div data-component="ActionList.Item--DividerContainer" class="Box-sc-g0xbh4-0 hROlum"><span id=":Rrdjb6n6:--label" class="Box-sc-g0xbh4-0 bmseMA">Dependabot version updates</span></div></a></li><li class="Item__LiBox-sc-yeql7o-0 lnYQME"><a sx="[object Object]" tabindex="0" aria-labelledby=":R1bdjb6n6:--label " id=":R1bdjb6n6:" aria-current="false" class="Link__StyledLink-sc-14289xe-0 dibTck" href="/en/code-security/dependabot/dependabot-version-updates/configuring-dependabot-version-updates"><div data-component="ActionList.Item--DividerContainer" class="Box-sc-g0xbh4-0 hROlum"><span id=":R1bdjb6n6:--label" class="Box-sc-g0xbh4-0 bmseMA">Configure version updates</span></div></a></li><li class="Item__LiBox-sc-yeql7o-0 lnYQME"><a sx="[object Object]" tabindex="0" aria-labelledby=":R1rdjb6n6:--label " id=":R1rdjb6n6:" aria-current="false" class="Link__StyledLink-sc-14289xe-0 dibTck" href="/en/code-security/dependabot/dependabot-version-updates/listing-dependencies-configured-for-version-updates"><div data-component="ActionList.Item--DividerContainer" class="Box-sc-g0xbh4-0 hROlum"><span id=":R1rdjb6n6:--label" class="Box-sc-g0xbh4-0 bmseMA">List configured dependencies</span></div></a></li><li class="Item__LiBox-sc-yeql7o-0 lnYQME"><a sx="[object Object]" tabindex="0" aria-labelledby=":R2bdjb6n6:--label " id=":R2bdjb6n6:" aria-current="false" class="Link__StyledLink-sc-14289xe-0 dibTck" href="/en/code-security/dependabot/dependabot-version-updates/customizing-dependency-updates"><div data-component="ActionList.Item--DividerContainer" class="Box-sc-g0xbh4-0 hROlum"><span id=":R2bdjb6n6:--label" class="Box-sc-g0xbh4-0 bmseMA">Customize updates</span></div></a></li><li class="Item__LiBox-sc-yeql7o-0 lnYQME"><a sx="[object Object]" tabindex="0" aria-labelledby=":R2rdjb6n6:--label " id=":R2rdjb6n6:" aria-current="false" class="Link__StyledLink-sc-14289xe-0 dibTck" href="/en/code-security/dependabot/dependabot-version-updates/configuration-options-for-the-dependabot.yml-file"><div data-component="ActionList.Item--DividerContainer" class="Box-sc-g0xbh4-0 hROlum"><span id=":R2rdjb6n6:--label" class="Box-sc-g0xbh4-0 bmseMA">Configure dependabot.yml</span></div></a></li></ul></div></li><li aria-labelledby=":R1ljb6n6:" class="Box-sc-g0xbh4-0 Ywlla"><button tabindex="0" aria-labelledby=":R1ljb6n6:--label " id=":R1ljb6n6:" aria-expanded="false" aria-controls=":R1ljb6n6H1:" class="Item__LiBox-sc-yeql7o-0 kXKjOF"><div data-component="ActionList.Item--DividerContainer" class="Box-sc-g0xbh4-0 hROlum"><div class="Box-sc-g0xbh4-0 cUxMoC"><span id=":R1ljb6n6:--label" class="Box-sc-g0xbh4-0 bmseMA">Work with Dependabot</span><span class="Box-sc-g0xbh4-0 lmYNOb"><svg aria-hidden="true" focusable="false" class="Octicon-sc-9kayk9-0 daAEFx" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" style="display:inline-block;user-select:none;vertical-align:text-bottom;overflow:visible"><path d="M12.78 5.22a.749.749 0 0 1 0 1.06l-4.25 4.25a.749.749 0 0 1-1.06 0L3.22 6.28a.749.749 0 1 1 1.06-1.06L8 8.939l3.72-3.719a.749.749 0 0 1 1.06 0Z"></path></svg></span></div></div></button><div><ul id=":R1ljb6n6H1:" aria-labelledby=":R1ljb6n6:" class="Box-sc-g0xbh4-0 gMkIpo"><li class="Item__LiBox-sc-yeql7o-0 lnYQME"><a sx="[object Object]" tabindex="0" aria-labelledby=":Rrljb6n6:--label " id=":Rrljb6n6:" aria-current="false" class="Link__StyledLink-sc-14289xe-0 dibTck" href="/en/code-security/dependabot/working-with-dependabot/managing-pull-requests-for-dependency-updates"><div data-component="ActionList.Item--DividerContainer" class="Box-sc-g0xbh4-0 hROlum"><span id=":Rrljb6n6:--label" class="Box-sc-g0xbh4-0 bmseMA">Manage Dependabot PRs</span></div></a></li><li class="Item__LiBox-sc-yeql7o-0 lnYQME"><a sx="[object Object]" tabindex="0" aria-labelledby=":R1bljb6n6:--label " id=":R1bljb6n6:" aria-current="false" class="Link__StyledLink-sc-14289xe-0 dibTck" href="/en/code-security/dependabot/working-with-dependabot/about-dependabot-on-github-actions-runners"><div data-component="ActionList.Item--DividerContainer" class="Box-sc-g0xbh4-0 hROlum"><span id=":R1bljb6n6:--label" class="Box-sc-g0xbh4-0 bmseMA">About Dependabot on Actions</span></div></a></li><li class="Item__LiBox-sc-yeql7o-0 lnYQME"><a sx="[object Object]" tabindex="0" aria-labelledby=":R1rljb6n6:--label " id=":R1rljb6n6:" aria-current="false" class="Link__StyledLink-sc-14289xe-0 dibTck" href="/en/code-security/dependabot/working-with-dependabot/managing-dependabot-on-self-hosted-runners"><div data-component="ActionList.Item--DividerContainer" class="Box-sc-g0xbh4-0 hROlum"><span id=":R1rljb6n6:--label" class="Box-sc-g0xbh4-0 bmseMA">Manage Dependabot on self-hosted runners</span></div></a></li><li class="Item__LiBox-sc-yeql7o-0 lnYQME"><a sx="[object Object]" tabindex="0" aria-labelledby=":R2bljb6n6:--label " id=":R2bljb6n6:" aria-current="false" class="Link__StyledLink-sc-14289xe-0 dibTck" href="/en/code-security/dependabot/working-with-dependabot/automating-dependabot-with-github-actions"><div data-component="ActionList.Item--DividerContainer" class="Box-sc-g0xbh4-0 hROlum"><span id=":R2bljb6n6:--label" class="Box-sc-g0xbh4-0 bmseMA">Use Dependabot with Actions</span></div></a></li><li class="Item__LiBox-sc-yeql7o-0 lnYQME"><a sx="[object Object]" tabindex="0" aria-labelledby=":R2rljb6n6:--label " id=":R2rljb6n6:" aria-current="false" class="Link__StyledLink-sc-14289xe-0 dibTck" href="/en/code-security/dependabot/working-with-dependabot/keeping-your-actions-up-to-date-with-dependabot"><div data-component="ActionList.Item--DividerContainer" class="Box-sc-g0xbh4-0 hROlum"><span id=":R2rljb6n6:--label" class="Box-sc-g0xbh4-0 bmseMA">Auto-update actions</span></div></a></li><li class="Item__LiBox-sc-yeql7o-0 lnYQME"><a sx="[object Object]" tabindex="0" aria-labelledby=":R3bljb6n6:--label " id=":R3bljb6n6:" aria-current="false" class="Link__StyledLink-sc-14289xe-0 dibTck" href="/en/code-security/dependabot/working-with-dependabot/configuring-access-to-private-registries-for-dependabot"><div data-component="ActionList.Item--DividerContainer" class="Box-sc-g0xbh4-0 hROlum"><span id=":R3bljb6n6:--label" class="Box-sc-g0xbh4-0 bmseMA">Configure access to private registries</span></div></a></li><li class="Item__LiBox-sc-yeql7o-0 lnYQME"><a sx="[object Object]" tabindex="0" aria-labelledby=":R3rljb6n6:--label " id=":R3rljb6n6:" aria-current="false" class="Link__StyledLink-sc-14289xe-0 dibTck" href="/en/code-security/dependabot/working-with-dependabot/guidance-for-the-configuration-of-private-registries-for-dependabot"><div data-component="ActionList.Item--DividerContainer" class="Box-sc-g0xbh4-0 hROlum"><span id=":R3rljb6n6:--label" class="Box-sc-g0xbh4-0 bmseMA">Guidance for configuring private registries</span></div></a></li><li class="Item__LiBox-sc-yeql7o-0 lnYQME"><a sx="[object Object]" tabindex="0" aria-labelledby=":R4bljb6n6:--label " id=":R4bljb6n6:" aria-current="false" class="Link__StyledLink-sc-14289xe-0 dibTck" href="/en/code-security/dependabot/working-with-dependabot/removing-dependabot-access-to-public-registries"><div data-component="ActionList.Item--DividerContainer" class="Box-sc-g0xbh4-0 hROlum"><span id=":R4bljb6n6:--label" class="Box-sc-g0xbh4-0 bmseMA">Remove access to public registries</span></div></a></li><li class="Item__LiBox-sc-yeql7o-0 lnYQME"><a sx="[object Object]" tabindex="0" aria-labelledby=":R4rljb6n6:--label " id=":R4rljb6n6:" aria-current="false" class="Link__StyledLink-sc-14289xe-0 dibTck" href="/en/code-security/dependabot/working-with-dependabot/viewing-dependabot-job-logs"><div data-component="ActionList.Item--DividerContainer" class="Box-sc-g0xbh4-0 hROlum"><span id=":R4rljb6n6:--label" class="Box-sc-g0xbh4-0 bmseMA">Viewing Dependabot logs</span></div></a></li><li class="Item__LiBox-sc-yeql7o-0 lnYQME"><a sx="[object Object]" tabindex="0" aria-labelledby=":R5bljb6n6:--label " id=":R5bljb6n6:" aria-current="false" class="Link__StyledLink-sc-14289xe-0 dibTck" href="/en/code-security/dependabot/working-with-dependabot/troubleshooting-the-detection-of-vulnerable-dependencies"><div data-component="ActionList.Item--DividerContainer" class="Box-sc-g0xbh4-0 hROlum"><span id=":R5bljb6n6:--label" class="Box-sc-g0xbh4-0 bmseMA">Troubleshoot vulnerability detection</span></div></a></li><li class="Item__LiBox-sc-yeql7o-0 lnYQME"><a sx="[object Object]" tabindex="0" aria-labelledby=":R5rljb6n6:--label " id=":R5rljb6n6:" aria-current="false" class="Link__StyledLink-sc-14289xe-0 dibTck" href="/en/code-security/dependabot/working-with-dependabot/troubleshooting-dependabot-errors"><div data-component="ActionList.Item--DividerContainer" class="Box-sc-g0xbh4-0 hROlum"><span id=":R5rljb6n6:--label" class="Box-sc-g0xbh4-0 bmseMA">Troubleshoot errors</span></div></a></li><li class="Item__LiBox-sc-yeql7o-0 lnYQME"><a sx="[object Object]" tabindex="0" aria-labelledby=":R6bljb6n6:--label " id=":R6bljb6n6:" aria-current="false" class="Link__StyledLink-sc-14289xe-0 dibTck" href="/en/code-security/dependabot/working-with-dependabot/troubleshooting-dependabot-on-github-actions"><div data-component="ActionList.Item--DividerContainer" class="Box-sc-g0xbh4-0 hROlum"><span id=":R6bljb6n6:--label" class="Box-sc-g0xbh4-0 bmseMA">Troubleshoot Dependabot on Actions</span></div></a></li></ul></div></li></ul></div></li><li aria-labelledby=":Rlb6n6:" class="Box-sc-g0xbh4-0 Ywlla"><button tabindex="0" aria-labelledby=":Rlb6n6:--label " id=":Rlb6n6:" aria-expanded="false" aria-controls=":Rlb6n6H1:" class="Item__LiBox-sc-yeql7o-0 itjSOb"><div data-component="ActionList.Item--DividerContainer" class="Box-sc-g0xbh4-0 hROlum"><div class="Box-sc-g0xbh4-0 cUxMoC"><span id=":Rlb6n6:--label" class="Box-sc-g0xbh4-0 bmseMA">Security overview</span><span class="Box-sc-g0xbh4-0 lmYNOb"><svg aria-hidden="true" focusable="false" class="Octicon-sc-9kayk9-0 daAEFx" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" style="display:inline-block;user-select:none;vertical-align:text-bottom;overflow:visible"><path d="M12.78 5.22a.749.749 0 0 1 0 1.06l-4.25 4.25a.749.749 0 0 1-1.06 0L3.22 6.28a.749.749 0 1 1 1.06-1.06L8 8.939l3.72-3.719a.749.749 0 0 1 1.06 0Z"></path></svg></span></div></div></button><div><ul id=":Rlb6n6H1:" aria-labelledby=":Rlb6n6:" class="Box-sc-g0xbh4-0 gMkIpo"><li class="Item__LiBox-sc-yeql7o-0 lnYQME"><a sx="[object Object]" tabindex="0" aria-labelledby=":Rdlb6n6:--label " id=":Rdlb6n6:" aria-current="false" class="Link__StyledLink-sc-14289xe-0 fuIgwR" href="/en/code-security/security-overview/about-security-overview"><div data-component="ActionList.Item--DividerContainer" class="Box-sc-g0xbh4-0 hROlum"><span id=":Rdlb6n6:--label" class="Box-sc-g0xbh4-0 bmseMA">About security overview</span></div></a></li></ul></div></li></ul></nav></div></div></div></nav></div><div class="flex-column flex-1 min-width-0"><main id="main-content" style="scroll-margin-top:5rem"><div class="container-xl px-3 px-md-6 my-4"><div class="d-none d-xxl-block mt-3 mr-auto width-full"><nav data-testid="breadcrumbs-in-article" class="f5 breadcrumbs Breadcrumbs_breadcrumbs__xAC4i" aria-label="Breadcrumb" data-container="breadcrumbs"><ul><li class="d-inline-block"><a rel="" data-testid="breadcrumb-link" title="Code security" class="Link--primary mr-2 color-fg-muted" href="/en/code-security">Code security</a><span class="color-fg-muted pr-2">/</span></li><li class="d-inline-block"><a rel="" data-testid="breadcrumb-link" title="Code scanning" class="Link--primary mr-2 color-fg-muted" href="/en/code-security/code-scanning">Code scanning</a><span class="color-fg-muted pr-2">/</span></li><li class="d-inline-block"><a rel="" data-testid="breadcrumb-link" title="Create advanced setup" class="Link--primary mr-2 color-fg-muted" href="/en/code-security/code-scanning/creating-an-advanced-setup-for-code-scanning">Create advanced setup</a><span class="color-fg-muted pr-2">/</span></li><li class="d-inline-block"><a rel="" data-testid="breadcrumb-link" title="CodeQL for compiled languages" class="Link--primary mr-2 color-fg-muted d-none" href="/en/code-security/code-scanning/creating-an-advanced-setup-for-code-scanning/codeql-code-scanning-for-compiled-languages">CodeQL for compiled languages</a></li></ul></nav></div><div class="ArticleGridLayout_containerBox__lLLio"><div class="Box-sc-g0xbh4-0 eQiQea"><div class="d-flex flex-items-baseline flex-justify-between" data-container="title"><h1 id="title-h1" class="border-bottom-0">CodeQL code scanning for compiled languages</h1></div></div><div id="article-intro" class="Box-sc-g0xbh4-0 ijSsTo f4 pb-4"><div class="f2 color-fg-muted mb-3 Lead_container__m3L5f _page-intro" data-container="lead" data-testid="lead" data-search="lead"><p>Understand how CodeQL analyzes compiled languages, the build options available, and learn how you can customize the database generation process if you need to.</p></div><div class="Box-sc-g0xbh4-0 dMdwQg"><div data-search="hide" data-testid="permissions-callout"><div class="mb-3 d-inline-block"><h2 class="f4">Who can use this feature?</h2></div><div class="d-flex" data-testid="permissions-statement"><svg aria-hidden="true" focusable="false" class="mt-1" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" style="display:inline-block;user-select:none;vertical-align:text-bottom;overflow:visible"><path d="M10.561 8.073a6.005 6.005 0 0 1 3.432 5.142.75.75 0 1 1-1.498.07 4.5 4.5 0 0 0-8.99 0 .75.75 0 0 1-1.498-.07 6.004 6.004 0 0 1 3.431-5.142 3.999 3.999 0 1 1 5.123 0ZM10.5 5a2.5 2.5 0 1 0-5 0 2.5 2.5 0 0 0 5 0Z"></path></svg><div class="pl-2"><p>Users with <strong>write</strong> access if <a href="/en/code-security/code-scanning/creating-an-advanced-setup-for-code-scanning/configuring-advanced-setup-for-code-scanning" _originalHref="/code-security/code-scanning/creating-an-advanced-setup-for-code-scanning/configuring-advanced-setup-for-code-scanning">advanced setup</a> is already enabled</p></div></div><div class="d-flex" data-testid="product-statement"><svg aria-hidden="true" focusable="false" class="mt-1" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" style="display:inline-block;user-select:none;vertical-align:text-bottom;overflow:visible"><path d="M6.75 0h2.5C10.216 0 11 .784 11 1.75V3h3.25c.966 0 1.75.784 1.75 1.75v8.5A1.75 1.75 0 0 1 14.25 15H1.75A1.75 1.75 0 0 1 0 13.25v-8.5C0 3.784.784 3 1.75 3H5V1.75C5 .784 5.784 0 6.75 0ZM3.5 9.5a3.49 3.49 0 0 1-2-.627v4.377c0 .138.112.25.25.25h12.5a.25.25 0 0 0 .25-.25V8.873a3.49 3.49 0 0 1-2 .627Zm-1.75-5a.25.25 0 0 0-.25.25V6a2 2 0 0 0 2 2h9a2 2 0 0 0 2-2V4.75a.25.25 0 0 0-.25-.25H1.75ZM9.5 3V1.75a.25.25 0 0 0-.25-.25h-2.5a.25.25 0 0 0-.25.25V3Z"></path></svg><div class="pl-2"><p>Code scanning is available for the following repository types:</p> <ul> <li>Public repositories on GitHub.com</li> <li>Organization-owned repositories on GitHub Enterprise Cloud with <a href="/en/get-started/learning-about-github/about-github-advanced-security" _originalHref="/get-started/learning-about-github/about-github-advanced-security">GitHub Advanced Security</a> enabled</li> </ul></div></div></div></div></div><div data-container="toc" class="Box-sc-g0xbh4-0 giVcWX ArticleGridLayout_sidebarBox__Cj_03 border-bottom border-lg-0 pb-4 mb-5 pb-xl-0 mb-xl-0"><h2 id="in-this-article" class="Heading__StyledHeading-sc-1c1dgg0-0 bebFBv mb-1 ml-3" aria-label="In this article">In this article</h2><nav data-testid="minitoc" class="NavList__NavBox-sc-1c8ygf7-0 Minitocs_miniToc__NaGol my-2" aria-labelledby="in-this-article"><ul class="List__ListBox-sc-1x7olzq-0 hgjakc"><li class="Item__LiBox-sc-yeql7o-0 lnYQME"><a tabindex="0" aria-labelledby=":R4dkteqn6:--label " id=":R4dkteqn6:" aria-current="false" href="#about-the-codeql-analysis-workflow-and-compiled-languages" class="Link__StyledLink-sc-14289xe-0 cJbOew Minitocs_nested__JSAov"><div data-component="ActionList.Item--DividerContainer" class="Box-sc-g0xbh4-0 hROlum"><span id=":R4dkteqn6:--label" class="Box-sc-g0xbh4-0 bmseMA">About the CodeQL analysis workflow and compiled languages</span></div></a></li><li class="Item__LiBox-sc-yeql7o-0 lnYQME"><a tabindex="0" aria-labelledby=":R4lkteqn6:--label " id=":R4lkteqn6:" aria-current="false" href="#codeql-build-modes" class="Link__StyledLink-sc-14289xe-0 cJbOew Minitocs_nested__JSAov"><div data-component="ActionList.Item--DividerContainer" class="Box-sc-g0xbh4-0 hROlum"><span id=":R4lkteqn6:--label" class="Box-sc-g0xbh4-0 bmseMA">CodeQL build modes</span></div></a></li><li class="Item__LiBox-sc-yeql7o-0 lnYQME"><a tabindex="0" aria-labelledby=":R4tkteqn6:--label " id=":R4tkteqn6:" aria-current="false" href="#about-build-mode-none-for-codeql" class="Link__StyledLink-sc-14289xe-0 cJbOew Minitocs_nested__JSAov"><div data-component="ActionList.Item--DividerContainer" class="Box-sc-g0xbh4-0 hROlum"><span id=":R4tkteqn6:--label" class="Box-sc-g0xbh4-0 bmseMA">About build mode None for CodeQL</span></div></a></li><li class="Item__LiBox-sc-yeql7o-0 lnYQME"><a tabindex="0" aria-labelledby=":R55kteqn6:--label " id=":R55kteqn6:" aria-current="false" href="#about-autobuild-for-codeql" class="Link__StyledLink-sc-14289xe-0 cJbOew Minitocs_nested__JSAov"><div data-component="ActionList.Item--DividerContainer" class="Box-sc-g0xbh4-0 hROlum"><span id=":R55kteqn6:--label" class="Box-sc-g0xbh4-0 bmseMA">About Autobuild for CodeQL</span></div></a></li><li class="Item__LiBox-sc-yeql7o-0 lnYQME"><a tabindex="0" aria-labelledby=":R5dkteqn6:--label " id=":R5dkteqn6:" aria-current="false" href="#about-specifying-build-steps-manually" class="Link__StyledLink-sc-14289xe-0 cJbOew Minitocs_nested__JSAov"><div data-component="ActionList.Item--DividerContainer" class="Box-sc-g0xbh4-0 hROlum"><span id=":R5dkteqn6:--label" class="Box-sc-g0xbh4-0 bmseMA">About specifying build steps manually</span></div></a></li><li class="Item__LiBox-sc-yeql7o-0 lnYQME"><a tabindex="0" aria-labelledby=":R5lkteqn6:--label " id=":R5lkteqn6:" aria-current="false" href="#autobuild-steps-for-compiled-languages" class="Link__StyledLink-sc-14289xe-0 cJbOew Minitocs_nested__JSAov"><div data-component="ActionList.Item--DividerContainer" class="Box-sc-g0xbh4-0 hROlum"><span id=":R5lkteqn6:--label" class="Box-sc-g0xbh4-0 bmseMA">Autobuild steps for compiled languages</span></div></a></li><li class="Item__LiBox-sc-yeql7o-0 lnYQME"><a tabindex="0" aria-labelledby=":R5tkteqn6:--label " id=":R5tkteqn6:" aria-current="false" href="#building-cc" class="Link__StyledLink-sc-14289xe-0 cJbOew Minitocs_nested__JSAov"><div data-component="ActionList.Item--DividerContainer" class="Box-sc-g0xbh4-0 hROlum"><span id=":R5tkteqn6:--label" class="Box-sc-g0xbh4-0 bmseMA">Building C/C++</span></div></a></li><li class="Item__LiBox-sc-yeql7o-0 lnYQME"><a tabindex="0" aria-labelledby=":R65kteqn6:--label " id=":R65kteqn6:" aria-current="false" href="#building-c" class="Link__StyledLink-sc-14289xe-0 cJbOew Minitocs_nested__JSAov"><div data-component="ActionList.Item--DividerContainer" class="Box-sc-g0xbh4-0 hROlum"><span id=":R65kteqn6:--label" class="Box-sc-g0xbh4-0 bmseMA">Building C#</span></div></a></li><li class="Item__LiBox-sc-yeql7o-0 lnYQME"><a tabindex="0" aria-labelledby=":R6dkteqn6:--label " id=":R6dkteqn6:" aria-current="false" href="#building-go" class="Link__StyledLink-sc-14289xe-0 cJbOew Minitocs_nested__JSAov"><div data-component="ActionList.Item--DividerContainer" class="Box-sc-g0xbh4-0 hROlum"><span id=":R6dkteqn6:--label" class="Box-sc-g0xbh4-0 bmseMA">Building Go</span></div></a></li><li class="Item__LiBox-sc-yeql7o-0 lnYQME"><a tabindex="0" aria-labelledby=":R6lkteqn6:--label " id=":R6lkteqn6:" aria-current="false" href="#building-java-and-kotlin" class="Link__StyledLink-sc-14289xe-0 cJbOew Minitocs_nested__JSAov"><div data-component="ActionList.Item--DividerContainer" class="Box-sc-g0xbh4-0 hROlum"><span id=":R6lkteqn6:--label" class="Box-sc-g0xbh4-0 bmseMA">Building Java and Kotlin</span></div></a></li><li class="Item__LiBox-sc-yeql7o-0 lnYQME"><a tabindex="0" aria-labelledby=":R6tkteqn6:--label " id=":R6tkteqn6:" aria-current="false" href="#building-swift" class="Link__StyledLink-sc-14289xe-0 cJbOew Minitocs_nested__JSAov"><div data-component="ActionList.Item--DividerContainer" class="Box-sc-g0xbh4-0 hROlum"><span id=":R6tkteqn6:--label" class="Box-sc-g0xbh4-0 bmseMA">Building Swift</span></div></a></li></ul></nav></div><div data-container="article" data-search="article-body" class="Box-sc-g0xbh4-0 kohLxz"><div id="article-contents"><div class="MarkdownContent_markdownBody__v5MYy markdown-body"><h2 id="about-the-codeql-analysis-workflow-and-compiled-languages" tabindex="-1"><a class="heading-link" href="#about-the-codeql-analysis-workflow-and-compiled-languages">About the CodeQL analysis workflow and compiled languages<span class="heading-link-symbol" aria-hidden="true"></span></a></h2> <p>Code scanning works by running queries against one or more CodeQL databases. Each database contains a representation of the code in a single language in your repository. For the compiled languages C/C++, C#, Go, Java, Kotlin, and Swift, the process of populating this database often involves building the code and extracting data.</p> <p>When you enable code scanning, both default and advanced setup generate a CodeQL database for analysis using the simplest method available. For C# and Java, the CodeQL database is generated directly from the codebase without requiring a build (<code>none</code> build mode). For other compiled languages, CodeQL builds the codebase using the <code>autobuild</code> build mode. Alternatively, you can use the <code>manual</code> build mode to specify explicit build commands to analyze only the files that are built by these custom commands.</p> <h2 id="codeql-build-modes" tabindex="-1"><a class="heading-link" href="#codeql-build-modes">CodeQL build modes<span class="heading-link-symbol" aria-hidden="true"></span></a></h2> <p>The CodeQL action supports three different build modes for compiled languages:</p> <ul> <li><code>none</code> - the CodeQL database is created directly from the codebase without building the codebase (supported for all interpreted languages, and additionally supported for C# and Java).</li> <li><code>autobuild</code> - CodeQL detects the most likely build method and uses this to attempt to build the codebase and create a database for analysis (supported for all compiled languages).</li> <li><code>manual</code> - you define the build steps to use for the codebase in the workflow (supported for all compiled languages).</li> </ul> <h3 id="comparison-of-the-build-modes" tabindex="-1"><a class="heading-link" href="#comparison-of-the-build-modes">Comparison of the build modes<span class="heading-link-symbol" aria-hidden="true"></span></a></h3> <div class="ghd-tool rowheaders"> <table><thead><tr><th scope="col">Build mode characteristic</th><th scope="col">None</th><th scope="col">Autobuild</th><th scope="col">Manual</th></tr></thead><tbody><tr><th scope="row">Used by default setup and for organization-level enablement</th><td>Yes (C# and Java)</td><td>Yes, where <code>none</code> is not supported</td><td>No</td></tr><tr><th scope="row">Analysis succeeds without user configuration</th><td>Yes</td><td>Variable</td><td>No</td></tr><tr><th scope="row">Completeness of analysis</th><td>Generated code not analyzed</td><td>Variable</td><td>User controlled</td></tr><tr><th scope="row">Accuracy of analysis</th><td>Good</td><td>Good</td><td>Best</td></tr></tbody></table> </div> <h3 id="recommendations" tabindex="-1"><a class="heading-link" href="#recommendations">Recommendations<span class="heading-link-symbol" aria-hidden="true"></span></a></h3> <p>When you are setting up code scanning for the first time, or across multiple repositories, it's best to use default setup. Default setup uses the simplest method available to generate a CodeQL database and analyze your code, so that you can start fixing alerts as soon as possible. Once you have resolved the initial alerts, you may want to switch to advanced setup with a manual build process for high risk repositories.</p> <h3 id="using-multiple-build-modes-in-a-multi-language-repository" tabindex="-1"><a class="heading-link" href="#using-multiple-build-modes-in-a-multi-language-repository">Using multiple build modes in a multi-language repository<span class="heading-link-symbol" aria-hidden="true"></span></a></h3> <p>For repositories with multiple compiled languages, you can use different build modes for different languages. For example, if your repository contains C/C++, C# and Java, you might want to provide manual build steps for one language (here C/C++). This workflow specifies a different build mode for each language.</p> <pre><code class="hljs language-yaml"><span class="hljs-attr">strategy:</span> <span class="hljs-attr">matrix:</span> <span class="hljs-attr">include:</span> <span class="hljs-comment"># Analyzes C and C++ code using the commands in `Build C and C++ code`</span> <span class="hljs-bullet">-</span> <span class="hljs-attr">language:</span> <span class="hljs-string">c-cpp</span> <span class="hljs-attr">build-mode:</span> <span class="hljs-string">manual</span> <span class="hljs-comment"># Analyzes C# code by automatically detecting a build</span> <span class="hljs-bullet">-</span> <span class="hljs-attr">language:</span> <span class="hljs-string">csharp</span> <span class="hljs-attr">build-mode:</span> <span class="hljs-string">autobuild</span> <span class="hljs-comment"># Analyzes Java code directly from the codebase without a build</span> <span class="hljs-bullet">-</span> <span class="hljs-attr">language:</span> <span class="hljs-string">java-kotlin</span> <span class="hljs-attr">build-mode:</span> <span class="hljs-string">none</span> <span class="hljs-comment"># analyzes Java only</span> <span class="hljs-attr">steps:</span> <span class="hljs-bullet">-</span> <span class="hljs-attr">name:</span> <span class="hljs-string">Checkout</span> <span class="hljs-string">repository</span> <span class="hljs-attr">uses:</span> <span class="hljs-string">actions/checkout@v4</span> <span class="hljs-comment"># Initializes CodeQL tools and creates a codebase for analysis.</span> <span class="hljs-bullet">-</span> <span class="hljs-attr">name:</span> <span class="hljs-string">Initialize</span> <span class="hljs-string">CodeQL</span> <span class="hljs-attr">uses:</span> <span class="hljs-string">github/codeql-action/init@v3</span> <span class="hljs-attr">with:</span> <span class="hljs-attr">languages:</span> <span class="hljs-string">${{</span> <span class="hljs-string">matrix.language</span> <span class="hljs-string">}}</span> <span class="hljs-bullet">-</span> <span class="hljs-attr">if:</span> <span class="hljs-string">${{</span> <span class="hljs-string">matrix.build-mode</span> <span class="hljs-string">==</span> <span class="hljs-string">'manual'</span> <span class="hljs-string">}}</span> <span class="hljs-attr">name:</span> <span class="hljs-string">Build</span> <span class="hljs-string">C</span> <span class="hljs-string">and</span> <span class="hljs-string">C++</span> <span class="hljs-string">code</span> <span class="hljs-attr">run:</span> <span class="hljs-string">| echo 'If you are using a "manual" build mode for one or more of the' \ 'languages you are analyzing, replace this with the commands to build' \ 'your code, for example:' echo ' make bootstrap' echo ' make release' exit 1 </span></code></pre> <p>For information about the languages, libraries, and frameworks that are supported in the latest version of CodeQL, see "<a href="https://codeql.github.com/docs/codeql-overview/supported-languages-and-frameworks">Supported languages and frameworks</a>" in the CodeQL documentation. For information about the system requirements for running the latest version of CodeQL, see "<a href="https://codeql.github.com/docs/codeql-overview/system-requirements/#additional-software-requirements">System requirements</a>" in the CodeQL documentation.</p> <h2 id="about-build-mode-none-for-codeql" tabindex="-1"><a class="heading-link" href="#about-build-mode-none-for-codeql">About build mode None for CodeQL<span class="heading-link-symbol" aria-hidden="true"></span></a></h2> <p>For C# and Java, CodeQL creates a database without requiring a build when you enable default setup for code scanning unless the repository also includes Kotlin code. If a repository contains Kotlin code in addition to Java code, default setup is enabled with the autobuild process because Kotlin analysis requires a build.</p> <p>Creating a CodeQL database without a build may produce less accurate results than using <code>autobuild</code> or manual build steps if:</p> <ul> <li>The build scripts cannot be queried for dependency information, and dependency guesses are inaccurate.</li> <li>The repository normally generates code during the build process.</li> </ul> <p>To use <code>autobuild</code> or manual build steps, you can use advanced setup.</p> <div class="ghd-alert ghd-alert-accent"><p class="ghd-alert-title"><svg version="1.1" width="16" height="16" viewBox="0 0 16 16" class="octicon mr-2" aria-hidden><path d="M0 8a8 8 0 1 1 16 0A8 8 0 0 1 0 8Zm8-6.5a6.5 6.5 0 1 0 0 13 6.5 6.5 0 0 0 0-13ZM6.5 7.75A.75.75 0 0 1 7.25 7h1a.75.75 0 0 1 .75.75v2.75h.25a.75.75 0 0 1 0 1.5h-2a.75.75 0 0 1 0-1.5h.25v-2h-.25a.75.75 0 0 1-.75-.75ZM8 6a1 1 0 1 1 0-2 1 1 0 0 1 0 2Z"></path></svg>Note</p> <p> For Java analysis, if <code>build-mode</code> is set to <code>none</code> and Kotlin code is found in the repository, the Kotlin code will not be analyzed and a warning will be produced. See "<a href="#building-java-and-kotlin">Building Java and Kotlin</a>."</p> </div> <h2 id="about-autobuild-for-codeql" tabindex="-1"><a class="heading-link" href="#about-autobuild-for-codeql">About Autobuild for CodeQL<span class="heading-link-symbol" aria-hidden="true"></span></a></h2> <p>The CodeQL action uses <code>autobuild</code> to analyze compiled languages in the following cases.</p> <ul> <li>Default setup is enabled and the language does not support <code>none</code> build (supported for C# and Java).</li> <li>Advanced setup is enabled and the workflow specifies <code>build-mode: autobuild</code>.</li> <li>Advanced setup is enabled and the workflow has an Autobuild step for the language using the <code>autobuild</code> action (<code>github/codeql-action/autobuild@v3</code>).</li> </ul> <h3 id="example-using-the-build-mode-option" tabindex="-1"><a class="heading-link" href="#example-using-the-build-mode-option">Example using the <code>build-mode</code> option<span class="heading-link-symbol" aria-hidden="true"></span></a></h3> <pre><code class="hljs language-yaml"><span class="hljs-comment"># Initializes the CodeQL tools for scanning.</span> <span class="hljs-attr">name:</span> <span class="hljs-string">Analyze</span> <span class="hljs-attr">strategy:</span> <span class="hljs-attr">matrix:</span> <span class="hljs-attr">include:</span> <span class="hljs-comment"># Analyze C and C++ code</span> <span class="hljs-bullet">-</span> <span class="hljs-attr">language:</span> <span class="hljs-string">c-cpp</span> <span class="hljs-attr">build-mode:</span> <span class="hljs-string">autobuild</span> <span class="hljs-comment"># Analyze Go code</span> <span class="hljs-bullet">-</span> <span class="hljs-attr">language:</span> <span class="hljs-string">go</span> <span class="hljs-attr">build-mode:</span> <span class="hljs-string">autobuild</span> <span class="hljs-attr">steps:</span> <span class="hljs-bullet">-</span> <span class="hljs-attr">uses:</span> <span class="hljs-string">github/codeql-action/init@v3</span> <span class="hljs-attr">with:</span> <span class="hljs-attr">languages:</span> <span class="hljs-string">${{</span> <span class="hljs-string">matrix.language</span> <span class="hljs-string">}}</span> <span class="hljs-attr">build-mode:</span> <span class="hljs-string">${{</span> <span class="hljs-string">matrix.build-mode</span> <span class="hljs-string">}}</span> </code></pre> <h3 id="example-using-the-autobuild-step" tabindex="-1"><a class="heading-link" href="#example-using-the-autobuild-step">Example using the Autobuild step<span class="heading-link-symbol" aria-hidden="true"></span></a></h3> <pre><code class="hljs language-yaml"> <span class="hljs-comment"># Initializes the CodeQL tools for scanning.</span> <span class="hljs-bullet">-</span> <span class="hljs-attr">name:</span> <span class="hljs-string">Initialize</span> <span class="hljs-string">CodeQL</span> <span class="hljs-attr">uses:</span> <span class="hljs-string">github/codeql-action/init@v3</span> <span class="hljs-attr">with:</span> <span class="hljs-attr">languages:</span> <span class="hljs-string">${{</span> <span class="hljs-string">matrix.language</span> <span class="hljs-string">}}</span> <span class="hljs-bullet">-</span> <span class="hljs-attr">name:</span> <span class="hljs-string">Autobuild</span> <span class="hljs-attr">uses:</span> <span class="hljs-string">github/codeql-action/autobuild@v3</span> </code></pre> <h2 id="about-specifying-build-steps-manually" tabindex="-1"><a class="heading-link" href="#about-specifying-build-steps-manually">About specifying build steps manually<span class="heading-link-symbol" aria-hidden="true"></span></a></h2> <p>You can only specify manual build steps if you have enabled advanced setup, see "<a href="/en/code-security/code-scanning/creating-an-advanced-setup-for-code-scanning/configuring-advanced-setup-for-code-scanning#configuring-advanced-setup-for-a-repository" _originalHref="/code-security/code-scanning/creating-an-advanced-setup-for-code-scanning/configuring-advanced-setup-for-code-scanning#configuring-advanced-setup-for-a-repository">Configuring advanced setup for code scanning</a>."</p> <p>If <code>autobuild</code> fails, or you want to analyze a different set of source files from those built by the <code>autobuild</code> process, you'll need to do the following:</p> <ul> <li>If your workflow specifies a build mode for the language, change the build mode to <code>manual</code>.</li> <li>If your workflow contains an <code>autobuild</code> step, remove or comment out the <code>autobuild</code> step in the workflow.</li> </ul> <p>Then uncomment the <code>run</code> step and manually specify the build process to use. For C/C++, C#, Go, Java, Kotlin, and Swift, CodeQL will analyze whatever source code is built by your specified build steps. For information on how to edit the workflow file, see "<a href="/en/code-security/code-scanning/creating-an-advanced-setup-for-code-scanning/customizing-your-advanced-setup-for-code-scanning#editing-a-code-scanning-workflow" _originalHref="/code-security/code-scanning/creating-an-advanced-setup-for-code-scanning/customizing-your-advanced-setup-for-code-scanning#editing-a-code-scanning-workflow">Customizing your advanced setup for code scanning</a>."</p> <p>Update your workflow to define the <code>build-mode</code> as <code>manual</code>.</p> <pre><code class="hljs language-yaml"><span class="hljs-comment"># Initializes the CodeQL tools for scanning.</span> <span class="hljs-bullet">-</span> <span class="hljs-attr">name:</span> <span class="hljs-string">Initialize</span> <span class="hljs-string">CodeQL</span> <span class="hljs-bullet">-</span> <span class="hljs-attr">uses:</span> <span class="hljs-string">github/codeql-action/init@v3</span> <span class="hljs-attr">with:</span> <span class="hljs-attr">languages:</span> <span class="hljs-string">${{</span> <span class="hljs-string">matrix.language</span> <span class="hljs-string">}}</span> <span class="hljs-attr">build-mode:</span> <span class="hljs-string">manual</span> <span class="hljs-bullet">-</span> <span class="hljs-attr">uses:</span> <span class="hljs-string">github/codeql-action/analyze@v3</span> <span class="hljs-attr">with:</span> <span class="hljs-attr">category:</span> <span class="hljs-string">"/language:$<span class="hljs-template-variable">{{ matrix.language }}</span>"</span> </code></pre> <p>Alternatively, update your workflow to comment out the "Autobuild" step.</p> <pre><code class="hljs language-yaml"> <span class="hljs-comment"># Autobuild attempts to build any compiled languages.</span> <span class="hljs-comment"># - name: Autobuild</span> <span class="hljs-comment"># uses: github/codeql-action/autobuild@v3</span> </code></pre> <h3 id="specifying-build-commands" tabindex="-1"><a class="heading-link" href="#specifying-build-commands">Specifying build commands<span class="heading-link-symbol" aria-hidden="true"></span></a></h3> <p>When manual building is enabled, uncomment the <code>run</code> step in the workflow and add build commands that are suitable for your repository. The <code>run</code> step runs command-line programs using the operating system's shell. You can modify these commands and add more commands to customize the build process.</p> <pre><code class="hljs language-yaml"><span class="hljs-bullet">-</span> <span class="hljs-attr">run:</span> <span class="hljs-string">| make bootstrap make release </span></code></pre> <p>For more information about the <code>run</code> keyword, see "<a href="/en/actions/using-workflows/workflow-syntax-for-github-actions#jobsjob_idstepsrun" _originalHref="/actions/using-workflows/workflow-syntax-for-github-actions#jobsjob_idstepsrun">Workflow syntax for GitHub Actions</a>."</p> <p>If you added manual build steps for compiled languages and code scanning is still not working on your repository, contact us through the <a href="https://support.github.com">GitHub Support portal</a>.</p> <h2 id="autobuild-steps-for-compiled-languages" tabindex="-1"><a class="heading-link" href="#autobuild-steps-for-compiled-languages">Autobuild steps for compiled languages<span class="heading-link-symbol" aria-hidden="true"></span></a></h2> <p>GitHub-hosted runners are always run with the software required by <code>autobuild</code>. If you use self-hosted runners for GitHub Actions, you may need to install additional software to use the <code>autobuild</code> process. Additionally, if your repository requires a specific version of a build tool, you may need to install it manually.</p> <ul> <li><a href="#building-cc">Building C/C++</a></li> <li><a href="#building-c">Building C#</a></li> <li><a href="#building-go">Building Go</a></li> <li><a href="#building-java-and-kotlin">Building Java and Kotlin</a></li> <li><a href="#building-swift">Building Swift</a></li> </ul> <div class="ghd-alert ghd-alert-accent"><p class="ghd-alert-title"><svg version="1.1" width="16" height="16" viewBox="0 0 16 16" class="octicon mr-2" aria-hidden><path d="M0 8a8 8 0 1 1 16 0A8 8 0 0 1 0 8Zm8-6.5a6.5 6.5 0 1 0 0 13 6.5 6.5 0 0 0 0-13ZM6.5 7.75A.75.75 0 0 1 7.25 7h1a.75.75 0 0 1 .75.75v2.75h.25a.75.75 0 0 1 0 1.5h-2a.75.75 0 0 1 0-1.5h.25v-2h-.25a.75.75 0 0 1-.75-.75ZM8 6a1 1 0 1 1 0-2 1 1 0 0 1 0 2Z"></path></svg>Note</p> <p> If your workflow uses a <code>language</code> matrix, <code>autobuild</code> attempts to build each of the compiled languages listed in the matrix. Without a matrix <code>autobuild</code> attempts to build the supported compiled language that has the most source files in the repository. With the exception of Go, analysis of other compiled languages in your repository will fail unless you supply explicit build commands.</p> </div> <h2 id="building-cc" tabindex="-1"><a class="heading-link" href="#building-cc">Building C/C++<span class="heading-link-symbol" aria-hidden="true"></span></a></h2> <p>CodeQL supports build modes <code>autobuild</code> or <code>manual</code> for C/C++ code.</p> <h3 id="autobuild-summary-for-cc" tabindex="-1"><a class="heading-link" href="#autobuild-summary-for-cc">Autobuild summary for C/C++<span class="heading-link-symbol" aria-hidden="true"></span></a></h3> <table><thead><tr><th scope="col">Supported system type</th><th scope="col">System name</th></tr></thead><tbody><tr><td>Operating system</td><td>Windows, macOS, and Linux</td></tr><tr><td>Build system</td><td>Windows: MSbuild and build scripts<br>Linux and macOS: Autoconf, Make, CMake, qmake, Meson, Waf, SCons, Linux Kbuild, and build scripts</td></tr></tbody></table> <p>The behavior of the <code>autobuild</code> step varies according to the operating system that the extraction runs on.</p> <h3 id="windows-autodetection" tabindex="-1"><a class="heading-link" href="#windows-autodetection">Windows autodetection<span class="heading-link-symbol" aria-hidden="true"></span></a></h3> <p>On Windows, the <code>autobuild</code> step attempts to autodetect a suitable build method for C/C++ using the following approach:</p> <ol> <li>Invoke <code>MSBuild.exe</code> on the solution (<code>.sln</code>) or project (<code>.vcxproj</code>) file closest to the root. If <code>autobuild</code> detects multiple solution or project files at the same (shortest) depth from the top level directory, it will attempt to build all of them.</li> <li>Invoke a script that looks like a build script—<em>build.bat</em>, <em>build.cmd</em>, <em>and build.exe</em> (in that order).</li> </ol> <h3 id="linux-and-macos-autodetection" tabindex="-1"><a class="heading-link" href="#linux-and-macos-autodetection">Linux and macOS autodetection<span class="heading-link-symbol" aria-hidden="true"></span></a></h3> <p>On Linux and macOS, the <code>autobuild</code> step reviews the files present in the repository to determine the build system used:</p> <ol> <li>Look for a build system in the root directory.</li> <li>If none are found, search subdirectories for a unique directory with a build system for C/C++.</li> <li>Run an appropriate command to configure the system.</li> </ol> <h4 id="runner-requirements-for-cc" tabindex="-1"><a class="heading-link" href="#runner-requirements-for-cc">Runner requirements for C/C++<span class="heading-link-symbol" aria-hidden="true"></span></a></h4> <p>On Ubuntu Linux runners, <code>autobuild</code> may try to automatically install dependencies required by the detected configuration and build steps. By default, this behavior is enabled on GitHub-hosted runners and disabled on self-hosted runners. You can enable or disable this feature explicitly by setting <code>CODEQL_EXTRACTOR_CPP_AUTOINSTALL_DEPENDENCIES</code> to <code>true</code> or <code>false</code> in the environment. For more information about defining environment variables, see "<a href="/en/actions/learn-github-actions/variables#defining-environment-variables-for-a-single-workflow" _originalHref="/actions/learn-github-actions/variables#defining-environment-variables-for-a-single-workflow">Store information in variables</a>."</p> <p>For self-hosted runners, unless automatic installation of dependencies is enabled, you will likely need to install the <code>gcc</code> compiler, and specific projects may also require access to <code>clang</code> or <code>msvc</code> executables. You will also need to install the build system (for example <code>msbuild</code>, <code>make</code>, <code>cmake</code>, <code>bazel</code>) and utilities (such as <code>python</code>, <code>perl</code>, <code>lex</code>, and <code>yacc</code>) that your projects depend on. If you enable automatic installation of dependencies, you must ensure that the runner is using Ubuntu and that it can run <code>sudo apt-get</code> without requiring a password.</p> <p>Windows runners require <code>powershell.exe</code> to be on the <code>PATH</code>.</p> <h2 id="building-c" tabindex="-1"><a class="heading-link" href="#building-c">Building C#<span class="heading-link-symbol" aria-hidden="true"></span></a></h2> <p>CodeQL supports build modes <code>none</code>, <code>autobuild</code> or <code>manual</code> for C# code.</p> <p>When you enable default setup for a repository that contains C# code, the build mode is set to <code>none</code> automatically.</p> <h3 id="no-build-for-c" tabindex="-1"><a class="heading-link" href="#no-build-for-c">No build for C#<span class="heading-link-symbol" aria-hidden="true"></span></a></h3> <p>CodeQL restores dependencies and generates a few additional source files, to give more accurate results, before creating a database from all the source files and dependencies.</p> <p>Dependencies are restored using multiple heuristics and strategies. The following files are the primary source of information: <code>*.csproj</code>, <code>*.sln</code>, <code>nuget.config</code>, <code>packages.config</code>, <code>global.json</code>, and <code>project.assets.json</code>.</p> <p>The following generated source files are optional, but significantly increase the correctness of the CodeQL database:</p> <ul> <li><code>global</code> generated <code>using</code> directives to handle the implicit <code>using</code> feature of MSbuild.</li> <li>ASP.NET core view files, <code>.cshtml</code> files are converted to <code>.cs</code> files.</li> </ul> <p>The information from the dependency assembly names, generated source files, and the source files in the repository is compiled and used to create a CodeQL database.</p> <h4 id="accuracy-of-no-build-analysis-for-c" tabindex="-1"><a class="heading-link" href="#accuracy-of-no-build-analysis-for-c">Accuracy of no build analysis for C#<span class="heading-link-symbol" aria-hidden="true"></span></a></h4> <p>Creating a CodeQL database without building the full code relies on being able to restore dependencies and being able to compile together the source files in the repository. When there are problems restoring dependencies or compiling the source code, this can affect the accuracy of the CodeQL database and code scanning analysis results.</p> <p>You can ensure a more accurate analysis by taking the following steps:</p> <ul> <li>Provide access to the public internet or ensure that access to a private Nuget feed is available.</li> <li>Check whether the repository requires multiple versions of the same Nuget dependency. CodeQL can use only one version and usually chooses the newer version where there are multiple versions. This approach may not work for all repositories.</li> <li>Check whether multiple versions of .NET are referenced, for example, <code>net48</code>, <code>net5.0</code>, and <code>netstandard1.6</code>. CodeQL can use only one version and this may affect accuracy.</li> <li>Avoid colliding class names, otherwise this may cause missing method call targets, which has an impact on dataflow analysis.</li> </ul> <h3 id="autobuild-summary-for-c" tabindex="-1"><a class="heading-link" href="#autobuild-summary-for-c">Autobuild summary for C#<span class="heading-link-symbol" aria-hidden="true"></span></a></h3> <table><thead><tr><th scope="col">Supported system type</th><th scope="col">System name</th></tr></thead><tbody><tr><td>Operating system</td><td>Windows, macOS, and Linux</td></tr><tr><td>Build system</td><td>.NET and MSbuild, as well as build scripts</td></tr></tbody></table> <h3 id="c-compiler-flags-injected-by-codeql" tabindex="-1"><a class="heading-link" href="#c-compiler-flags-injected-by-codeql">C# compiler flags injected by CodeQL<span class="heading-link-symbol" aria-hidden="true"></span></a></h3> <div class="ghd-alert ghd-alert-accent"><p class="ghd-alert-title"><svg version="1.1" width="16" height="16" viewBox="0 0 16 16" class="octicon mr-2" aria-hidden><path d="M0 8a8 8 0 1 1 16 0A8 8 0 0 1 0 8Zm8-6.5a6.5 6.5 0 1 0 0 13 6.5 6.5 0 0 0 0-13ZM6.5 7.75A.75.75 0 0 1 7.25 7h1a.75.75 0 0 1 .75.75v2.75h.25a.75.75 0 0 1 0 1.5h-2a.75.75 0 0 1 0-1.5h.25v-2h-.25a.75.75 0 0 1-.75-.75ZM8 6a1 1 0 1 1 0-2 1 1 0 0 1 0 2Z"></path></svg>Note</p> <p> The following compiler flags only apply if you're using build mode <code>manual</code>.</p> </div> <p>The CodeQL tracer enables the extraction of all compiled languages by intercepting build processes and forwarding information to the relevant CodeQL language extractors. The tracer injects certain flags into the C# compiler invocation to ensure every component is built and included in the CodeQL database, which may cause your C# code to build in a different way to what you expect during CodeQL analysis.</p> <h4 id="pmvcbuildviewstrue" tabindex="-1"><a class="heading-link" href="#pmvcbuildviewstrue"><code>/p:MvcBuildViews=true</code><span class="heading-link-symbol" aria-hidden="true"></span></a></h4> <p>When this option is set to <code>true</code>, the views in ASP.NET model-view-controller (MVC) projects are precompiled as part of the build process, which can help to catch errors and improve performance. The tracer injects this flag to make sure CodeQL finds and highlights security issues that may involve dataflow through the code generated from these views. For more information, see "<a href="https://learn.microsoft.com/en-us/aspnet/mvc/overview/getting-started/introduction/adding-a-view">Adding a View to an MVC Application</a>" in Microsoft Learn.</p> <h4 id="pusesharedcompilationfalse" tabindex="-1"><a class="heading-link" href="#pusesharedcompilationfalse"><code>/p:UseSharedCompilation=false</code><span class="heading-link-symbol" aria-hidden="true"></span></a></h4> <p>Setting this option to <code>false</code> disables the use of the shared compilation feature, which may result in slower build times. When <code>/p:UseSharedCompilation=false</code> is <strong>not</strong> specified, <code>msbuild</code> starts a compiler server process, and all the compilation will be done by that single process. However, the CodeQL tracer depends on inspecting the arguments of newly created processes.</p> <h4 id="pemitcompilergeneratedfilestrue" tabindex="-1"><a class="heading-link" href="#pemitcompilergeneratedfilestrue"><code>/p:EmitCompilerGeneratedFiles=true</code><span class="heading-link-symbol" aria-hidden="true"></span></a></h4> <p>Setting this option to <code>true</code> will emit compiler-generated files during the build process. This option causes the compiler to generate additional source files that are used to support features such as improved regular expression support, serialization, and web application view generation. These generated artifacts are typically not written to disk by the compiler, but setting the option to <code>true</code> forces writing the files to disk, and so the extractor can process the files.</p> <p>For some legacy projects, and projects that use <code>.sqlproj</code> files, you may see that the injected <code>/p:EmitCompilerGeneratedFiles=true</code> property causes unexpected issues with <code>msbuild</code>. For information about troubleshooting this, see "<a href="/en/code-security/code-scanning/troubleshooting-code-scanning/c-sharp-compiler-unexpectedly-failing" _originalHref="/code-security/code-scanning/troubleshooting-code-scanning/c-sharp-compiler-unexpectedly-failing">C# compiler unexpectedly failing</a>."</p> <h3 id="windows-autodetection-1" tabindex="-1"><a class="heading-link" href="#windows-autodetection-1">Windows autodetection<span class="heading-link-symbol" aria-hidden="true"></span></a></h3> <p>The <code>autobuild</code> process attempts to autodetect a suitable build method for C# using the following approach:</p> <ol> <li>Invoke <code>dotnet build</code> on the solution (<code>.sln</code>) or project (<code>.csproj</code>) file closest to the root.</li> <li>Invoke <code>MSBuild.exe</code> on the solution or project file closest to the root. If <code>autobuild</code> detects multiple solution or project files at the same (shortest) depth from the top level directory, it will attempt to build all of them.</li> <li>Invoke a script that looks like a build script—<code>build.bat</code>, <code>build.cmd</code>, and <code>build.exe</code> (in that order).</li> </ol> <h4 id="runner-requirements-for-c-on-windows" tabindex="-1"><a class="heading-link" href="#runner-requirements-for-c-on-windows">Runner requirements for C# on Windows<span class="heading-link-symbol" aria-hidden="true"></span></a></h4> <p>For .NET Core application development on self-hosted runners, the .NET SDK is required (for <code>dotnet</code>).</p> <p>For .NET Framework application development, you will need Microsoft Build Tools (for <code>msbuild</code>) and Nuget CLI (for <code>nuget</code>).</p> <p>Windows runners require <code>powershell.exe</code> to be on the <code>PATH</code>.</p> <p>If you plan to create CodeQL databases using <code>build-mode: none</code>, you also need to provide access to the public internet, or you must ensure that access to a private Nuget feed is available.</p> <h3 id="linux-and-macos-autodetection-1" tabindex="-1"><a class="heading-link" href="#linux-and-macos-autodetection-1">Linux and macOS autodetection<span class="heading-link-symbol" aria-hidden="true"></span></a></h3> <ol> <li>Invoke <code>dotnet build</code> on the solution (<code>.sln</code>) or project (<code>.csproj</code>) file closest to the root.</li> <li>Invoke <code>MSbuild</code> on the solution or project file closest to the root. If <code>autobuild</code> detects multiple solution or project files at the same (shortest) depth from the top level directory, it will attempt to build all of them.</li> <li>Invoke a script that looks like a build script—<code>build</code> and <code>build.sh</code> (in that order).</li> </ol> <h4 id="runner-requirements-for-c-on-linux-and-macos" tabindex="-1"><a class="heading-link" href="#runner-requirements-for-c-on-linux-and-macos">Runner requirements for C# on Linux and macOS<span class="heading-link-symbol" aria-hidden="true"></span></a></h4> <p>For .NET Core application development on self-hosted runners, the .NET SDK is required (for <code>dotnet</code>).</p> <p>For .NET Framework application development, you will require Mono Runtime (to run <code>mono</code>, <code>msbuild</code>, or <code>nuget</code>).</p> <p>If you plan to create CodeQL databases using <code>build-mode: none</code>, you also need to provide access to the public internet, or you must ensure that access to a private Nuget feed is available.</p> <h2 id="building-go" tabindex="-1"><a class="heading-link" href="#building-go">Building Go<span class="heading-link-symbol" aria-hidden="true"></span></a></h2> <p>CodeQL supports build modes <code>autobuild</code> or <code>manual</code> for Go code.</p> <h3 id="autobuild-summary-for-go" tabindex="-1"><a class="heading-link" href="#autobuild-summary-for-go">Autobuild summary for Go<span class="heading-link-symbol" aria-hidden="true"></span></a></h3> <table><thead><tr><th scope="col">Supported system type</th><th scope="col">System name</th></tr></thead><tbody><tr><td>Operating system</td><td>Windows, macOS, and Linux</td></tr><tr><td>Build system</td><td>Go modules, <code>dep</code> and Glide, as well as build scripts including Makefiles and Ninja scripts</td></tr></tbody></table> <h3 id="autodetection-for-go" tabindex="-1"><a class="heading-link" href="#autodetection-for-go">Autodetection for Go<span class="heading-link-symbol" aria-hidden="true"></span></a></h3> <p>The <code>autobuild</code> process attempts to autodetect a suitable way to install the dependencies needed by a Go repository before extracting all <code>.go</code> files:</p> <ol> <li>Invoke <code>make</code>, <code>ninja</code>, <code>./build</code> or <code>./build.sh</code> (in that order) until one of these commands succeeds and a subsequent <code>go list ./...</code> also succeeds, indicating that the needed dependencies have been installed.</li> <li>If none of those commands succeeded, look for <code>go.mod</code>, <code>Gopkg.toml</code> or <code>glide.yaml</code>, and run <code>go get</code> (unless vendoring is in use), <code>dep ensure -v</code> or <code>glide install</code> respectively to try to install dependencies.</li> <li>Finally, if configurations files for these dependency managers are not found, rearrange the repository directory structure suitable for addition to <code>GOPATH</code>, and use <code>go get</code> to install dependencies. The directory structure reverts to normal after extraction completes.</li> <li>Extract all Go code in the repository, similar to running <code>go build ./...</code>.</li> </ol> <div class="ghd-alert ghd-alert-accent"><p class="ghd-alert-title"><svg version="1.1" width="16" height="16" viewBox="0 0 16 16" class="octicon mr-2" aria-hidden><path d="M0 8a8 8 0 1 1 16 0A8 8 0 0 1 0 8Zm8-6.5a6.5 6.5 0 1 0 0 13 6.5 6.5 0 0 0 0-13ZM6.5 7.75A.75.75 0 0 1 7.25 7h1a.75.75 0 0 1 .75.75v2.75h.25a.75.75 0 0 1 0 1.5h-2a.75.75 0 0 1 0-1.5h.25v-2h-.25a.75.75 0 0 1-.75-.75ZM8 6a1 1 0 1 1 0-2 1 1 0 0 1 0 2Z"></path></svg>Note</p> <p> If you use default setup, it will look for a <code>go.mod</code> file to automatically install a compatible version of the Go language.</p> </div> <h3 id="extractor-options-for-go" tabindex="-1"><a class="heading-link" href="#extractor-options-for-go">Extractor options for Go<span class="heading-link-symbol" aria-hidden="true"></span></a></h3> <p>By default, test code (code in files ending in <code>_test.go</code>) is not analyzed. You can override this with the option <code>--extractor-option extract_tests=true</code> when using the CodeQL CLI, or by setting the environment variable <code>CODEQL_EXTRACTOR_GO_OPTION_EXTRACT_TESTS</code> to <code>true</code>.</p> <p>Additionally, <code>vendor</code> directories are excluded from CodeQL Go analysis by default. You can override this by passing the <code>--extractor-option extract_vendor_dirs=true</code> option when using the CodeQL CLI, or by setting the environment variable <code>CODEQL_EXTRACTOR_GO_OPTION_EXTRACT_VENDOR_DIRS</code> to <code>true</code>.</p> <h2 id="building-java-and-kotlin" tabindex="-1"><a class="heading-link" href="#building-java-and-kotlin">Building Java and Kotlin<span class="heading-link-symbol" aria-hidden="true"></span></a></h2> <p>CodeQL supports the following build modes.</p> <ul> <li>Java: <code>none</code>, <code>autobuild</code>, or <code>manual</code></li> <li>Kotlin: <code>autobuild</code> or <code>manual</code></li> </ul> <p>When you first enable default setup for a repository, if only Java code is detected then the build mode is set to <code>none</code>. If Kotlin or a combination of Java and Kotlin code is detected, then the build mode is set to <code>autobuild</code>.</p> <p>If you later add Kotlin code to a repository that uses the <code>none</code> build mode, CodeQL analysis reports a warning message explaining that Kotlin is not supported. You will need to disable default setup and re-enable it. When you re-enable default setup, the build mode will change to <code>autobuild</code> so that both languages can be analyzed. Alternatively, you can change to an advanced setup. For more information, see "<a href="/en/code-security/code-scanning/troubleshooting-code-scanning/kotlin-detected-in-no-build" _originalHref="/code-security/code-scanning/troubleshooting-code-scanning/kotlin-detected-in-no-build">Warning: Detected X Kotlin files in your project that could not be processed without a build</a>."</p> <h3 id="no-build-for-java" tabindex="-1"><a class="heading-link" href="#no-build-for-java">No build for Java<span class="heading-link-symbol" aria-hidden="true"></span></a></h3> <p>CodeQL will attempt to run Gradle or Maven to extract accurate dependency information (but not to invoke a build), before creating a database from all Java files present. Every root Maven or Gradle project file (a build script without any build script present in an ancestor directory) is queried for dependency information, and more recent dependency versions are preferred if there is a clash. For information about the runner requirements to run Maven or Gradle, see "<a href="#runner-requirements-for-java">Runner requirements for Java</a>."</p> <h4 id="accuracy-of-no-build-analysis-for-java" tabindex="-1"><a class="heading-link" href="#accuracy-of-no-build-analysis-for-java">Accuracy of no build analysis for Java<span class="heading-link-symbol" aria-hidden="true"></span></a></h4> <p>Creating a CodeQL Java database without a build may produce less accurate results than using <code>autobuild</code> or manual build steps if:</p> <ul> <li>Gradle or Maven build scripts cannot be queried for dependency information, and dependency guesses (based on Java package names) are inaccurate.</li> <li>The repository normally generates code during the build process. This would be analyzed if you created the CodeQL database using a different mode.</li> </ul> <p>You can ensure a more accurate analysis by taking the following steps:</p> <ul> <li>Provide access to the public internet or ensure that access to a private artifact repository is available.</li> <li>Check whether the repository requires multiple versions of the same dependency. CodeQL can use only one version and usually chooses the newer version where there are multiple versions. This approach may not work for all repositories.</li> <li>Check whether more than one version of the JDK API is required by different source Java files. When multiple versions are seen, CodeQL will use the highest version required by any build script. This may mean that some files that require a lower version of the JDK will be partially analyzed. For example, if some files require JDK 8 but a JDK 17 requirement is found in one or more build scripts, CodeQL will use JDK 17. Any files that require JDK 8 and could not be built using JDK 17 will be partially analyzed.</li> <li>Avoid colliding class names (for example, multiple files defining <code>org.myproject.Test</code>), otherwise this may cause missing method call targets, which has an impact on dataflow analysis.</li> </ul> <h3 id="autobuild-summary-for-java" tabindex="-1"><a class="heading-link" href="#autobuild-summary-for-java">Autobuild summary for Java<span class="heading-link-symbol" aria-hidden="true"></span></a></h3> <table><thead><tr><th scope="col">Supported system type</th><th scope="col">System name</th></tr></thead><tbody><tr><td>Operating system</td><td>Windows, macOS, and Linux (no restriction)</td></tr><tr><td>Build system</td><td>Gradle, Maven and Ant</td></tr></tbody></table> <h3 id="autodetection-for-java" tabindex="-1"><a class="heading-link" href="#autodetection-for-java">Autodetection for Java<span class="heading-link-symbol" aria-hidden="true"></span></a></h3> <p>The <code>autobuild</code> process tries to determine the build system for Java codebases by applying this strategy:</p> <ol> <li>Search for a build file in the root directory. Check for Gradle then Maven then Ant build files.</li> <li>Run the first build file found. If both Gradle and Maven files are present, the Gradle file is used.</li> <li>Otherwise, search for build files in direct subdirectories of the root directory. If only one subdirectory contains build files, run the first file identified in that subdirectory (using the same preference as for 1). If more than one subdirectory contains build files, report an error.</li> </ol> <h3 id="runner-requirements-for-java" tabindex="-1"><a class="heading-link" href="#runner-requirements-for-java">Runner requirements for Java<span class="heading-link-symbol" aria-hidden="true"></span></a></h3> <p>If you're using self-hosted runners, the required version(s) of Java should be present:</p> <ul> <li> <p>If the runner will be used for analyzing repositories that need a single version of Java, then the appropriate JDK version needs to be installed, and needs to be present in the PATH variable (so that <code>java</code> and <code>javac</code> can be found).</p> </li> <li> <p>If the runner will be used for analyzing repositories that need multiple versions of Java, then the appropriate JDK versions need to be installed, and can be specified via the <code>toolchains.xml</code> file. This is a configuration file, typically used by Apache Maven, that allows you to specify the location of the tools, the version of the tools, and any additional configuration that is required to use the tools. For more information, see "<a href="https://maven.apache.org/guides/mini/guide-using-toolchains.html">Guide to Using Toolchains</a>" in the Apache Maven documentation.</p> </li> </ul> <p>The following executables will likely be required for a range of Java projects, and should be present in the PATH variable, but they will not be essential in all cases:</p> <ul> <li><code>mvn</code> (Apache Maven)</li> <li><code>gradle</code> (Gradle)</li> <li><code>ant</code> (Apache Ant)</li> </ul> <p>You will also need to install the build system (for example <code>make</code>, <code>cmake</code>, <code>bazel</code>) and utilities (such as <code>python</code>, <code>perl</code>, <code>lex</code>, and <code>yacc</code>) that your projects depend on.</p> <p>Windows runners require <code>powershell.exe</code> to be on the <code>PATH</code>.</p> <h2 id="building-swift" tabindex="-1"><a class="heading-link" href="#building-swift">Building Swift<span class="heading-link-symbol" aria-hidden="true"></span></a></h2> <p>CodeQL supports build modes <code>autobuild</code> or <code>manual</code> for Swift code.</p> <h3 id="autobuild-summary-for-swift" tabindex="-1"><a class="heading-link" href="#autobuild-summary-for-swift">Autobuild summary for Swift<span class="heading-link-symbol" aria-hidden="true"></span></a></h3> <table><thead><tr><th scope="col">Supported system type</th><th scope="col">System name</th></tr></thead><tbody><tr><td>Operating system</td><td>macOS</td></tr><tr><td>Build system</td><td>Xcode</td></tr></tbody></table> <p>The <code>autobuild</code> process tries to build the biggest target from an Xcode project or workspace.</p> <p>Code scanning of Swift code uses macOS runners by default. Since GitHub-hosted macOS runners are more expensive than Linux and Windows runners, we recommend that you build only the code that you want to analyze. For more information about pricing for GitHub-hosted runners, see "<a href="/en/billing/managing-billing-for-github-actions/about-billing-for-github-actions" _originalHref="/billing/managing-billing-for-github-actions/about-billing-for-github-actions">About billing for GitHub Actions</a>."</p> <p>Code scanning of Swift code is not supported for runners that are part of an Actions Runner Controller (ARC), because ARC runners only use Linux and Swift requires macOS runners. However, you can have a mixture of both ARC runners and self-hosted macOS runners. For more information, see "<a href="/en/actions/hosting-your-own-runners/managing-self-hosted-runners-with-actions-runner-controller/about-actions-runner-controller" _originalHref="/actions/hosting-your-own-runners/managing-self-hosted-runners-with-actions-runner-controller/about-actions-runner-controller">About Actions Runner Controller</a>."</p> <h3 id="customizing-swift-compilation-in-a-codeql-analysis-workflow" tabindex="-1"><a class="heading-link" href="#customizing-swift-compilation-in-a-codeql-analysis-workflow">Customizing Swift compilation in a CodeQL analysis workflow<span class="heading-link-symbol" aria-hidden="true"></span></a></h3> <p><code>xcodebuild</code> and <code>swift build</code> are both supported for Swift builds. We recommend only targeting one architecture during the build. For example, <code>ARCH=arm64</code> for <code>xcodebuild</code>, or <code>--arch arm64</code> for <code>swift build</code>.</p> <p>You can pass the <code>archive</code> and <code>test</code> options to <code>xcodebuild</code>. However, the standard <code>xcodebuild</code> command is recommended as it should be the fastest, and should be all that CodeQL requires for a successful scan.</p> <p>For Swift analysis, you must always explicitly install dependencies managed via CocoaPods or Carthage before generating the CodeQL database.</p></div></div></div></div></div></main><footer data-container="footer"><section class="container-xl mt-lg-8 mt-6 px-3 px-md-6 no-print mx-auto"><h2 class="f3">Help and support</h2><div class="container-xl mx-auto py-6 py-lg-6 clearfix border-top border-color-secondary"><div class="float-left pr-4 mb-6 mb-xl-0 col-12 col-lg-6 col-xl-3"><form class="f5" data-testid="survey-form" aria-live="polite"><h3 id="survey-title" class="f4 mb-3">Did you find what you needed?</h3><input type="text" class="d-none" name="survey-token" value=""/><div class="mb-2" role="radiogroup" aria-labelledby="survey-title"><input class="Survey_visuallyHidden__Xh_nl Survey_customRadio__aNqUl" id="survey-yes" type="radio" name="survey-vote" aria-label="Yes" value="Y"/><label class="btn mr-1" for="survey-yes"><svg aria-hidden="true" focusable="false" class="color-fg-muted" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" style="display:inline-block;user-select:none;vertical-align:text-bottom;overflow:visible"><path d="M8.834.066c.763.087 1.5.295 2.01.884.505.581.656 1.378.656 2.3 0 .467-.087 1.119-.157 1.637L11.328 5h1.422c.603 0 1.174.085 1.668.333.508.254.911.679 1.137 1.2.453.998.438 2.447.188 4.316l-.04.306c-.105.79-.195 1.473-.313 2.033-.131.63-.315 1.209-.668 1.672C13.97 15.847 12.706 16 11 16c-1.848 0-3.234-.333-4.388-.653-.165-.045-.323-.09-.475-.133-.658-.186-1.2-.34-1.725-.415A1.75 1.75 0 0 1 2.75 16h-1A1.75 1.75 0 0 1 0 14.25v-7.5C0 5.784.784 5 1.75 5h1a1.75 1.75 0 0 1 1.514.872c.258-.105.59-.268.918-.508C5.853 4.874 6.5 4.079 6.5 2.75v-.5c0-1.202.994-2.337 2.334-2.184ZM4.5 13.3c.705.088 1.39.284 2.072.478l.441.125c1.096.305 2.334.598 3.987.598 1.794 0 2.28-.223 2.528-.549.147-.193.276-.505.394-1.07.105-.502.188-1.124.295-1.93l.04-.3c.25-1.882.189-2.933-.068-3.497a.921.921 0 0 0-.442-.48c-.208-.104-.52-.174-.997-.174H11c-.686 0-1.295-.577-1.206-1.336.023-.192.05-.39.076-.586.065-.488.13-.97.13-1.328 0-.809-.144-1.15-.288-1.316-.137-.158-.402-.304-1.048-.378C8.357 1.521 8 1.793 8 2.25v.5c0 1.922-.978 3.128-1.933 3.825a5.831 5.831 0 0 1-1.567.81ZM2.75 6.5h-1a.25.25 0 0 0-.25.25v7.5c0 .138.112.25.25.25h1a.25.25 0 0 0 .25-.25v-7.5a.25.25 0 0 0-.25-.25Z"></path></svg> <!-- -->Yes</label><input class="Survey_visuallyHidden__Xh_nl Survey_customRadio__aNqUl" id="survey-no" type="radio" name="survey-vote" aria-label="No" value="N"/><label class="btn" for="survey-no"><svg aria-hidden="true" focusable="false" class="color-fg-muted" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" style="display:inline-block;user-select:none;vertical-align:text-bottom;overflow:visible"><path d="M7.083 15.986c-.763-.087-1.499-.295-2.011-.884-.504-.581-.655-1.378-.655-2.299 0-.468.087-1.12.157-1.638l.015-.112H3.167c-.603 0-1.174-.086-1.669-.334a2.415 2.415 0 0 1-1.136-1.2c-.454-.998-.438-2.447-.188-4.316l.04-.306C.32 4.108.41 3.424.526 2.864c.132-.63.316-1.209.669-1.672C1.947.205 3.211.053 4.917.053c1.848 0 3.234.332 4.388.652l.474.133c.658.187 1.201.341 1.726.415a1.75 1.75 0 0 1 1.662-1.2h1c.966 0 1.75.784 1.75 1.75v7.5a1.75 1.75 0 0 1-1.75 1.75h-1a1.75 1.75 0 0 1-1.514-.872c-.259.105-.59.268-.919.508-.671.491-1.317 1.285-1.317 2.614v.5c0 1.201-.994 2.336-2.334 2.183Zm4.334-13.232c-.706-.089-1.39-.284-2.072-.479l-.441-.125c-1.096-.304-2.335-.597-3.987-.597-1.794 0-2.28.222-2.529.548-.147.193-.275.505-.393 1.07-.105.502-.188 1.124-.295 1.93l-.04.3c-.25 1.882-.19 2.933.067 3.497a.923.923 0 0 0 .443.48c.208.104.52.175.997.175h1.75c.685 0 1.295.577 1.205 1.335-.022.192-.049.39-.075.586-.066.488-.13.97-.13 1.329 0 .808.144 1.15.288 1.316.137.157.401.303 1.048.377.307.035.664-.237.664-.693v-.5c0-1.922.978-3.127 1.932-3.825a5.878 5.878 0 0 1 1.568-.809Zm1.75 6.798h1a.25.25 0 0 0 .25-.25v-7.5a.25.25 0 0 0-.25-.25h-1a.25.25 0 0 0-.25.25v7.5c0 .138.112.25.25.25Z"></path></svg> <!-- -->No</label></div><a rel="" class="f6 text-underline" target="_blank" href="/en/site-policy/privacy-policies/github-privacy-statement">Privacy policy</a></form></div><div class="float-left pr-4 mb-6 mb-xl-0 col-12 col-lg-6 col-xl-4 offset-xl-1"><div class="f5 contribution"><h3 class="f4 mb-3">Help us make these docs great!</h3><p class="max-w-xs color-fg-muted mb-3">All GitHub docs are open source. See something that's wrong or unclear? Submit a pull request.</p><a class="btn" href="https://github.com/github/docs/blob/main/content/code-security/code-scanning/creating-an-advanced-setup-for-code-scanning/codeql-code-scanning-for-compiled-languages.md"><svg aria-hidden="true" focusable="false" class="octicon mr-1" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" style="display:inline-block;user-select:none;vertical-align:text-bottom;overflow:visible"><path d="M1.5 3.25a2.25 2.25 0 1 1 3 2.122v5.256a2.251 2.251 0 1 1-1.5 0V5.372A2.25 2.25 0 0 1 1.5 3.25Zm5.677-.177L9.573.677A.25.25 0 0 1 10 .854V2.5h1A2.5 2.5 0 0 1 13.5 5v5.628a2.251 2.251 0 1 1-1.5 0V5a1 1 0 0 0-1-1h-1v1.646a.25.25 0 0 1-.427.177L7.177 3.427a.25.25 0 0 1 0-.354ZM3.75 2.5a.75.75 0 1 0 0 1.5.75.75 0 0 0 0-1.5Zm0 9.5a.75.75 0 1 0 0 1.5.75.75 0 0 0 0-1.5Zm8.25.75a.75.75 0 1 0 1.5 0 .75.75 0 0 0-1.5 0Z"></path></svg>Make a contribution</a><p class="color-fg-muted f6 mt-2"><a class="text-underline" href="/contributing" target="_blank" rel="noopener">Learn how to contribute</a></p></div></div><div class="float-left pr-4 mb-6 mb-xl-0 col-12 col-lg-6 col-xl-3 offset-xl-1"><div><h3 class="mb-3 f4">Still need help?</h3><div class="mb-2"><a id="ask-community" href="https://github.com/orgs/community/discussions" class="text-underline"><svg aria-hidden="true" focusable="false" class="octicon mr-1" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" style="display:inline-block;user-select:none;vertical-align:text-bottom;overflow:visible"><path d="M2 5.5a3.5 3.5 0 1 1 5.898 2.549 5.508 5.508 0 0 1 3.034 4.084.75.75 0 1 1-1.482.235 4 4 0 0 0-7.9 0 .75.75 0 0 1-1.482-.236A5.507 5.507 0 0 1 3.102 8.05 3.493 3.493 0 0 1 2 5.5ZM11 4a3.001 3.001 0 0 1 2.22 5.018 5.01 5.01 0 0 1 2.56 3.012.749.749 0 0 1-.885.954.752.752 0 0 1-.549-.514 3.507 3.507 0 0 0-2.522-2.372.75.75 0 0 1-.574-.73v-.352a.75.75 0 0 1 .416-.672A1.5 1.5 0 0 0 11 5.5.75.75 0 0 1 11 4Zm-5.5-.5a2 2 0 1 0-.001 3.999A2 2 0 0 0 5.5 3.5Z"></path></svg>Ask the GitHub community</a></div><div><a id="support" href="https://support.github.com" class="text-underline"><svg aria-hidden="true" focusable="false" class="octicon mr-1" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" style="display:inline-block;user-select:none;vertical-align:text-bottom;overflow:visible"><path d="M1.75 1h8.5c.966 0 1.75.784 1.75 1.75v5.5A1.75 1.75 0 0 1 10.25 10H7.061l-2.574 2.573A1.458 1.458 0 0 1 2 11.543V10h-.25A1.75 1.75 0 0 1 0 8.25v-5.5C0 1.784.784 1 1.75 1ZM1.5 2.75v5.5c0 .138.112.25.25.25h1a.75.75 0 0 1 .75.75v2.19l2.72-2.72a.749.749 0 0 1 .53-.22h3.5a.25.25 0 0 0 .25-.25v-5.5a.25.25 0 0 0-.25-.25h-8.5a.25.25 0 0 0-.25.25Zm13 2a.25.25 0 0 0-.25-.25h-.5a.75.75 0 0 1 0-1.5h.5c.966 0 1.75.784 1.75 1.75v5.5A1.75 1.75 0 0 1 14.25 12H14v1.543a1.458 1.458 0 0 1-2.487 1.03L9.22 12.28a.749.749 0 0 1 .326-1.275.749.749 0 0 1 .734.215l2.22 2.22v-2.19a.75.75 0 0 1 .75-.75h1a.25.25 0 0 0 .25-.25Z"></path></svg>Contact support</a></div></div></div></div></section><section class="container-xl px-3 mt-6 pb-8 px-md-6 color-fg-muted"><h2 class="f4 mb-2 col-12">Legal</h2><ul class="d-flex flex-wrap list-style-none"><li class="mr-3">© <!-- -->2024<!-- --> GitHub, Inc.</li><li class="mr-3"><a class="text-underline" href="/en/site-policy/github-terms/github-terms-of-service">Terms</a></li><li class="mr-3"><a class="text-underline" href="/en/site-policy/privacy-policies/github-privacy-statement">Privacy</a></li><li class="mr-3"><a class="text-underline" href="https://www.githubstatus.com/">Status</a></li><li class="mr-3"><a class="text-underline" href="https://github.com/pricing">Pricing</a></li><li class="mr-3"><a class="text-underline" href="https://services.github.com">Expert services</a></li><li class="mr-3"><a class="text-underline" href="https://github.blog">Blog</a></li></ul></section><div role="tooltip" class="position-fixed bottom-0 mb-4 right-0 mr-4 z-1 ScrollButton_transition200__rLxBo ScrollButton_opacity0__vjKQD"><button class="ghd-scroll-to-top tooltipped tooltipped-n tooltipped-no-delay btn circle border-1 d-flex flex-items-center flex-justify-center ScrollButton_customFocus__L3FsX" style="width:40px;height:40px" aria-label="Scroll to top"><svg aria-hidden="true" focusable="false" class="octicon octicon-chevron-up" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" style="display:inline-block;user-select:none;vertical-align:text-bottom;overflow:visible"><path d="M3.22 10.53a.749.749 0 0 1 0-1.06l4.25-4.25a.749.749 0 0 1 1.06 0l4.25 4.25a.749.749 0 1 1-1.06 1.06L8 6.811 4.28 10.53a.749.749 0 0 1-1.06 0Z"></path></svg></button></div></footer></div></div><script type="application/json" id="__PRIMER_DATA_:R16:__">{"resolvedServerColorMode":"day"}</script></div><script id="__NEXT_DATA__" type="application/json">{"props":{"pageProps":{"mainContext":{"breadcrumbs":[{"href":"/en/code-security","title":"Code security"},{"href":"/en/code-security/code-scanning","title":"Code scanning"},{"href":"/en/code-security/code-scanning/creating-an-advanced-setup-for-code-scanning","title":"Create advanced setup"},{"href":"/en/code-security/code-scanning/creating-an-advanced-setup-for-code-scanning/codeql-code-scanning-for-compiled-languages","title":"CodeQL for compiled languages"}],"communityRedirect":{},"currentProduct":{"id":"code-security","name":"Code security","href":"/code-security","dir":"content/code-security","toc":"content/code-security/index.md","wip":false,"hidden":false,"versions":["free-pro-team@latest","enterprise-cloud@latest","enterprise-server@3.15","enterprise-server@3.14","enterprise-server@3.13","enterprise-server@3.12","enterprise-server@3.11","enterprise-server@3.10"]},"currentProductName":"Code security","isHomepageVersion":false,"error":"","data":{"ui":{"alerts":{"NOTE":"Note","IMPORTANT":"Important","WARNING":"Warning","TIP":"Tip","CAUTION":"Caution"},"header":{"github_docs":"GitHub Docs","contact":"Contact","notices":{"release_candidate":" is currently available as a \u003ca href=\"/admin/overview/about-upgrades-to-new-releases\"\u003erelease candidate\u003c/a\u003e.","early_access":"📣 Please \u003cb\u003edo not share\u003c/b\u003e this URL publicly. This page contains content about a private preview feature.","release_notes_use_latest":"Please use the latest release for the latest security, performance, and bug fixes.","ghes_release_notes_upgrade_patch_only":"📣 This is not the \u003ca href=\"#{{ latestPatch }}\"\u003elatest patch release\u003c/a\u003e of Enterprise Server.","ghes_release_notes_upgrade_release_only":"📣 This is not the \u003ca href=\"/enterprise-server@{{ latestRelease }}/admin/release-notes\"\u003elatest release\u003c/a\u003e of Enterprise Server.","ghes_release_notes_upgrade_patch_and_release":"📣 This is not the \u003ca href=\"#{{ latestPatch }}\"\u003elatest patch release\u003c/a\u003e of this release series, and this is not the \u003ca href=\"/enterprise-server@{{ latestRelease }}/admin/release-notes\"\u003elatest release\u003c/a\u003e of Enterprise Server."},"sign_up_cta":"Sign up","menu":"Menu","go_home":"Home"},"search":{"description":"Enter a search term to find it in the GitHub Docs.","placeholder":"Search GitHub Docs","label":"Search GitHub Docs"},"survey":{"able_to_find":"Did you find what you needed?","yes":"Yes","no":"No","cancel":"Cancel","additional_feedback":"Can you tell us more about your rating? (Optional)","optional":"Optional","required":"Required","email_label":"Leave your email if we can contact you. (Optional)","email_validation":"Please enter a valid email address","send":"Send","feedback":"Thank you! We received your feedback.","not_support":"If you need a reply, please contact \u003ca href=\"https://support.github.com/\"\u003esupport\u003c/a\u003e.","privacy_policy":"Privacy policy","server_error":"Unable to process comment at the moment. Please try again."},"toc":{"getting_started":"Getting started","popular":"Popular","startHere":"Start here","whats_new":"What's new","videos":"Videos","all_changelogs":"All changelog posts"},"meta":{"default_description":"Get started, troubleshoot, and make the most of GitHub. Documentation for new users, developers, administrators, and all of GitHub's products."},"scroll_button":{"scroll_to_top":"Scroll to top"},"pages":{"article_version":"Article version","miniToc":"In this article","all_enterprise_releases":"All Enterprise Server releases","about_versions":"About versions","permissions_callout_title":"Who can use this feature?","video_from_transcript":"See video for this transcript"},"picker":{"language_picker_label":"Language","product_picker_default_text":"All products","version_picker_default_text":"Choose a version"},"footer":{"support_heading":"Help and support","legal_heading":"Legal","imprint":"Imprint","terms":"Terms","privacy":"Privacy","status":"Status","pricing":"Pricing","expert_services":"Expert services","blog":"Blog"},"contribution_cta":{"title":"Help us make these docs great!","body":"All GitHub docs are open source. See something that's wrong or unclear? Submit a pull request.","button":"Make a contribution","to_guidelines":"Learn how to contribute"},"support":{"still_need_help":"Still need help?","contact_support":"Contact support","ask_community":"Ask the GitHub community"},"rest":{"banner":{"api_versioned":"The REST API is now versioned.","api_version_info":"For more information, see \"\u003ca href=\"{{ versionWithApiVersion }}/rest/overview/api-versions\"\u003eAbout API versioning\u003c/a\u003e.\"","ghes_api_versioned":"After a site administrator upgrades your Enterprise Server instance to {{ firstGhesReleaseWithApiVersions.versionTitle }} or later, the REST API will be versioned. To learn how to find your instance's version, see \"\u003ca href=\"/{{ currentVersion }}/get-started/learning-about-github/about-versions-of-github-docs#github-enterprise-server\"\u003eAbout versions of GitHub Docs\u003c/a\u003e\".","redirect_notice":"We've recently moved some of the REST API documentation.","redirect_repo":"If you can't find what you're looking for, you might try the new {{ newRestPagesLinks }} REST API pages.","redirect_enterprise":"If you can't find what you're looking for, you might try the {{ actionsPageLink }} REST API page.","actions_api_title":"Actions"},"versioning":{"about_versions":"About REST API versions"},"overview":{"permissions":{"access":"Access","endpoints":"Endpoint","tokens":"Token types","additionalPermissions":"Additional permissions","uat":"UAT","iat":"IAT"}},"screen_reader_text_checkmark_icon":"Multiple permissions are required, or a different permission may be used. For more information about the permissions, see the documentation for this endpoint."},"domain_edit":{"name":"Domain name","edit":"Edit","edit_your":"Edit your domain name","experimental":"Experimental","your_name":"Your domain name","cancel":"Cancel","save":"Save","snippet_about":"Updating will include the new domain name in all code snippets across GitHub Docs.","learn_more":"Learn more","submission_failed":"Submission failed. Please try again in a minute."},"popovers":{"role_description":"hovercard link"}},"reusables":{},"variables":{"release_candidate":{"version":"enterprise-server@3.15"}}},"currentCategory":"code-scanning","currentPathWithoutLanguage":"/code-security/code-scanning/creating-an-advanced-setup-for-code-scanning/codeql-code-scanning-for-compiled-languages","page":{"documentType":"article","type":"how_to","title":"CodeQL code scanning for compiled languages","fullTitle":"CodeQL code scanning for compiled languages - GitHub Docs","topics":["Advanced Security","Code scanning","CodeQL","Actions","Repositories","C/C++","C#","Java","Kotlin"],"introPlainText":"Understand how CodeQL analyzes compiled languages, the build options available, and learn how you can customize the database generation process if you need to.","applicableVersions":["free-pro-team@latest","enterprise-cloud@latest","enterprise-server@3.15","enterprise-server@3.14","enterprise-server@3.13","enterprise-server@3.12","enterprise-server@3.11","enterprise-server@3.10"],"hidden":false,"noEarlyAccessBanner":false},"enterpriseServerReleases":{"isOldestReleaseDeprecated":true,"oldestSupported":"3.10","nextDeprecationDate":"2024-09-25","supported":["3.15","3.14","3.13","3.12","3.11","3.10"]},"enterpriseServerVersions":["enterprise-server@3.15","enterprise-server@3.14","enterprise-server@3.13","enterprise-server@3.12","enterprise-server@3.11","enterprise-server@3.10"],"allVersions":{"free-pro-team@latest":{"version":"free-pro-team@latest","versionTitle":"Free, Pro, \u0026 Team","apiVersions":["2022-11-28"],"latestApiVersion":"2022-11-28"},"enterprise-cloud@latest":{"version":"enterprise-cloud@latest","versionTitle":"Enterprise Cloud","apiVersions":["2022-11-28"],"latestApiVersion":"2022-11-28"},"enterprise-server@3.15":{"version":"enterprise-server@3.15","versionTitle":"Enterprise Server 3.15","apiVersions":["2022-11-28"],"latestApiVersion":"2022-11-28","isGHES":true},"enterprise-server@3.14":{"version":"enterprise-server@3.14","versionTitle":"Enterprise Server 3.14","apiVersions":["2022-11-28"],"latestApiVersion":"2022-11-28","isGHES":true},"enterprise-server@3.13":{"version":"enterprise-server@3.13","versionTitle":"Enterprise Server 3.13","apiVersions":["2022-11-28"],"latestApiVersion":"2022-11-28","isGHES":true},"enterprise-server@3.12":{"version":"enterprise-server@3.12","versionTitle":"Enterprise Server 3.12","apiVersions":["2022-11-28"],"latestApiVersion":"2022-11-28","isGHES":true},"enterprise-server@3.11":{"version":"enterprise-server@3.11","versionTitle":"Enterprise Server 3.11","apiVersions":["2022-11-28"],"latestApiVersion":"2022-11-28","isGHES":true},"enterprise-server@3.10":{"version":"enterprise-server@3.10","versionTitle":"Enterprise Server 3.10","apiVersions":["2022-11-28"],"latestApiVersion":"2022-11-28","isGHES":true}},"currentVersion":"free-pro-team@latest","currentProductTree":null,"sidebarTree":{"href":"/en/code-security","title":"Code security","childPages":[{"href":"/en/code-security/getting-started","title":"Getting started","childPages":[{"href":"/en/code-security/getting-started/github-security-features","title":"GitHub security features","childPages":[]},{"href":"/en/code-security/getting-started/dependabot-quickstart-guide","title":"Dependabot quickstart","childPages":[]},{"href":"/en/code-security/getting-started/quickstart-for-securing-your-repository","title":"Secure repository quickstart","childPages":[]},{"href":"/en/code-security/getting-started/adding-a-security-policy-to-your-repository","title":"Add a security policy","childPages":[]},{"href":"/en/code-security/getting-started/auditing-security-alerts","title":"Audit security alerts","childPages":[]},{"href":"/en/code-security/getting-started/best-practices-for-preventing-data-leaks-in-your-organization","title":"Prevent data leaks","childPages":[]}]},{"href":"/en/code-security/securing-your-organization","title":"Secure your organization","childPages":[{"href":"/en/code-security/securing-your-organization/introduction-to-securing-your-organization-at-scale","title":"Introduction","childPages":[{"href":"/en/code-security/securing-your-organization/introduction-to-securing-your-organization-at-scale/about-enabling-security-features-at-scale","title":"About organization security","childPages":[]},{"href":"/en/code-security/securing-your-organization/introduction-to-securing-your-organization-at-scale/choosing-a-security-configuration-for-your-repositories","title":"Choose security configuration","childPages":[]}]},{"href":"/en/code-security/securing-your-organization/enabling-security-features-in-your-organization","title":"Enable security features","childPages":[{"href":"/en/code-security/securing-your-organization/enabling-security-features-in-your-organization/applying-the-github-recommended-security-configuration-in-your-organization","title":"Apply recommended configuration","childPages":[]},{"href":"/en/code-security/securing-your-organization/enabling-security-features-in-your-organization/creating-a-custom-security-configuration","title":"Create custom configuration","childPages":[]},{"href":"/en/code-security/securing-your-organization/enabling-security-features-in-your-organization/applying-a-custom-security-configuration","title":"Apply custom configuration","childPages":[]},{"href":"/en/code-security/securing-your-organization/enabling-security-features-in-your-organization/configuring-global-security-settings-for-your-organization","title":"Configure global settings","childPages":[]}]},{"href":"/en/code-security/securing-your-organization/managing-the-security-of-your-organization","title":"Manage organization security","childPages":[{"href":"/en/code-security/securing-your-organization/managing-the-security-of-your-organization/interpreting-security-findings","title":"Interpret security data","childPages":[]},{"href":"/en/code-security/securing-your-organization/managing-the-security-of-your-organization/filtering-repositories-in-your-organization-using-the-repository-table","title":"Filter repositories","childPages":[]},{"href":"/en/code-security/securing-your-organization/managing-the-security-of-your-organization/editing-a-custom-security-configuration","title":"Edit custom configuration","childPages":[]},{"href":"/en/code-security/securing-your-organization/managing-the-security-of-your-organization/managing-your-github-advanced-security-license-usage","title":"Manage GHAS licenses","childPages":[]},{"href":"/en/code-security/securing-your-organization/managing-the-security-of-your-organization/detaching-repositories-from-their-security-configurations","title":"Detach security configuration","childPages":[]},{"href":"/en/code-security/securing-your-organization/managing-the-security-of-your-organization/finding-repositories-with-attachment-failures","title":"Find attachment failures","childPages":[]},{"href":"/en/code-security/securing-your-organization/managing-the-security-of-your-organization/deleting-a-custom-security-configuration","title":"Delete custom configuration","childPages":[]}]},{"href":"/en/code-security/securing-your-organization/troubleshooting-security-configurations","title":"Troubleshooting configurations","childPages":[{"href":"/en/code-security/securing-your-organization/troubleshooting-security-configurations/a-repository-is-using-advanced-setup-for-code-scanning","title":"Active advanced setup","childPages":[]},{"href":"/en/code-security/securing-your-organization/troubleshooting-security-configurations/not-enough-github-advanced-security-licenses","title":"Not enough GHAS licenses","childPages":[]}]}]},{"href":"/en/code-security/secret-scanning","title":"Secret scanning","childPages":[{"href":"/en/code-security/secret-scanning/introduction","title":"Introduction","childPages":[{"href":"/en/code-security/secret-scanning/introduction/about-secret-scanning","title":"Secret scanning","childPages":[]},{"href":"/en/code-security/secret-scanning/introduction/about-push-protection","title":"Push protection","childPages":[]},{"href":"/en/code-security/secret-scanning/introduction/about-secret-scanning-for-partners","title":"Secret scanning for partners","childPages":[]},{"href":"/en/code-security/secret-scanning/introduction/supported-secret-scanning-patterns","title":"Supported patterns","childPages":[]}]},{"href":"/en/code-security/secret-scanning/enabling-secret-scanning-features","title":"Enable features","childPages":[{"href":"/en/code-security/secret-scanning/enabling-secret-scanning-features/enabling-secret-scanning-for-your-repository","title":"Enable secret scanning","childPages":[]},{"href":"/en/code-security/secret-scanning/enabling-secret-scanning-features/enabling-push-protection-for-your-repository","title":"Enable push protection","childPages":[]}]},{"href":"/en/code-security/secret-scanning/managing-alerts-from-secret-scanning","title":"Manage alerts","childPages":[{"href":"/en/code-security/secret-scanning/managing-alerts-from-secret-scanning/about-alerts","title":"About alerts","childPages":[]},{"href":"/en/code-security/secret-scanning/managing-alerts-from-secret-scanning/viewing-alerts","title":"View alerts","childPages":[]},{"href":"/en/code-security/secret-scanning/managing-alerts-from-secret-scanning/evaluating-alerts","title":"Evaluate alerts","childPages":[]},{"href":"/en/code-security/secret-scanning/managing-alerts-from-secret-scanning/resolving-alerts","title":"Resolve alerts","childPages":[]},{"href":"/en/code-security/secret-scanning/managing-alerts-from-secret-scanning/monitoring-alerts","title":"Monitor alerts","childPages":[]}]},{"href":"/en/code-security/secret-scanning/working-with-secret-scanning-and-push-protection","title":"Work with secret scanning","childPages":[{"href":"/en/code-security/secret-scanning/working-with-secret-scanning-and-push-protection/push-protection-for-users","title":"Push protection for users","childPages":[]},{"href":"/en/code-security/secret-scanning/working-with-secret-scanning-and-push-protection/working-with-push-protection-from-the-command-line","title":"Push protection on the command line","childPages":[]},{"href":"/en/code-security/secret-scanning/working-with-secret-scanning-and-push-protection/working-with-push-protection-from-the-rest-api","title":"Push protection from the REST API","childPages":[]},{"href":"/en/code-security/secret-scanning/working-with-secret-scanning-and-push-protection/working-with-push-protection-in-the-github-ui","title":"Push protection in the GitHub UI","childPages":[]}]},{"href":"/en/code-security/secret-scanning/using-advanced-secret-scanning-and-push-protection-features","title":"Advanced features","childPages":[{"href":"/en/code-security/secret-scanning/using-advanced-secret-scanning-and-push-protection-features/excluding-folders-and-files-from-secret-scanning","title":"Exclude folders and files","childPages":[]}]},{"href":"/en/code-security/secret-scanning/copilot-secret-scanning","title":"Copilot secret scanning","childPages":[{"href":"/en/code-security/secret-scanning/copilot-secret-scanning/responsible-ai-generic-secrets","title":"Generic secret detection","childPages":[]},{"href":"/en/code-security/secret-scanning/copilot-secret-scanning/responsible-ai-regex-generator","title":"Generate regular expressions with AI","childPages":[]}]},{"href":"/en/code-security/secret-scanning/troubleshooting-secret-scanning-and-push-protection","title":"Troubleshoot","childPages":[{"href":"/en/code-security/secret-scanning/troubleshooting-secret-scanning-and-push-protection/troubleshooting-secret-scanning","title":"Troubleshoot secret scanning","childPages":[]}]},{"href":"/en/code-security/secret-scanning/secret-scanning-partnership-program","title":"Partner program","childPages":[{"href":"/en/code-security/secret-scanning/secret-scanning-partnership-program/secret-scanning-partner-program","title":"Partner program","childPages":[]}]}]},{"href":"/en/code-security/code-scanning","title":"Code scanning","childPages":[{"href":"/en/code-security/code-scanning/introduction-to-code-scanning","title":"Introduction","childPages":[{"href":"/en/code-security/code-scanning/introduction-to-code-scanning/about-code-scanning","title":"About code scanning","childPages":[]},{"href":"/en/code-security/code-scanning/introduction-to-code-scanning/about-code-scanning-with-codeql","title":"About CodeQL code scanning","childPages":[]}]},{"href":"/en/code-security/code-scanning/enabling-code-scanning","title":"Enable code scanning","childPages":[{"href":"/en/code-security/code-scanning/enabling-code-scanning/configuring-default-setup-for-code-scanning","title":"Configure code scanning","childPages":[]},{"href":"/en/code-security/code-scanning/enabling-code-scanning/evaluating-default-setup-for-code-scanning","title":"Evaluate code scanning","childPages":[]},{"href":"/en/code-security/code-scanning/enabling-code-scanning/configuring-default-setup-for-code-scanning-at-scale","title":"Code scanning at scale","childPages":[]}]},{"href":"/en/code-security/code-scanning/creating-an-advanced-setup-for-code-scanning","title":"Create advanced setup","childPages":[{"href":"/en/code-security/code-scanning/creating-an-advanced-setup-for-code-scanning/configuring-advanced-setup-for-code-scanning","title":"Configure advanced setup","childPages":[]},{"href":"/en/code-security/code-scanning/creating-an-advanced-setup-for-code-scanning/customizing-your-advanced-setup-for-code-scanning","title":"Customize advanced setup","childPages":[]},{"href":"/en/code-security/code-scanning/creating-an-advanced-setup-for-code-scanning/codeql-code-scanning-for-compiled-languages","title":"CodeQL for compiled languages","childPages":[]},{"href":"/en/code-security/code-scanning/creating-an-advanced-setup-for-code-scanning/configuring-advanced-setup-for-code-scanning-with-codeql-at-scale","title":"CodeQL advanced setup at scale","childPages":[]},{"href":"/en/code-security/code-scanning/creating-an-advanced-setup-for-code-scanning/recommended-hardware-resources-for-running-codeql","title":"Hardware resources for CodeQL","childPages":[]},{"href":"/en/code-security/code-scanning/creating-an-advanced-setup-for-code-scanning/running-codeql-code-scanning-in-a-container","title":"Code scanning in a container","childPages":[]}]},{"href":"/en/code-security/code-scanning/managing-code-scanning-alerts","title":"Manage alerts","childPages":[{"href":"/en/code-security/code-scanning/managing-code-scanning-alerts/about-code-scanning-alerts","title":"About code scanning alerts","childPages":[]},{"href":"/en/code-security/code-scanning/managing-code-scanning-alerts/responsible-use-autofix-code-scanning","title":"Copilot Autofix for code scanning","childPages":[]},{"href":"/en/code-security/code-scanning/managing-code-scanning-alerts/disabling-autofix-for-code-scanning","title":"Disable Copilot Autofix","childPages":[]},{"href":"/en/code-security/code-scanning/managing-code-scanning-alerts/assessing-code-scanning-alerts-for-your-repository","title":"Assess alerts","childPages":[]},{"href":"/en/code-security/code-scanning/managing-code-scanning-alerts/resolving-code-scanning-alerts","title":"Resolve alerts","childPages":[]},{"href":"/en/code-security/code-scanning/managing-code-scanning-alerts/triaging-code-scanning-alerts-in-pull-requests","title":"Triage alerts in pull requests","childPages":[]},{"href":"/en/code-security/code-scanning/managing-code-scanning-alerts/tracking-code-scanning-alerts-in-issues-using-task-lists","title":"Track alerts in issues","childPages":[]}]},{"href":"/en/code-security/code-scanning/managing-your-code-scanning-configuration","title":"Manage code scanning","childPages":[{"href":"/en/code-security/code-scanning/managing-your-code-scanning-configuration/about-the-tool-status-page","title":"Code scanning tool status","childPages":[]},{"href":"/en/code-security/code-scanning/managing-your-code-scanning-configuration/editing-your-configuration-of-default-setup","title":"Edit default setup","childPages":[]},{"href":"/en/code-security/code-scanning/managing-your-code-scanning-configuration/set-code-scanning-merge-protection","title":"Set merge protection","childPages":[]},{"href":"/en/code-security/code-scanning/managing-your-code-scanning-configuration/codeql-query-suites","title":"CodeQL query suites","childPages":[]},{"href":"/en/code-security/code-scanning/managing-your-code-scanning-configuration/configuring-larger-runners-for-default-setup","title":"Configure larger runners","childPages":[]},{"href":"/en/code-security/code-scanning/managing-your-code-scanning-configuration/viewing-code-scanning-logs","title":"View code scanning logs","childPages":[]},{"href":"/en/code-security/code-scanning/managing-your-code-scanning-configuration/c-cpp-built-in-queries","title":"C and C++ CodeQL queries","childPages":[]},{"href":"/en/code-security/code-scanning/managing-your-code-scanning-configuration/csharp-built-in-queries","title":"C# CodeQL queries","childPages":[]},{"href":"/en/code-security/code-scanning/managing-your-code-scanning-configuration/go-built-in-queries","title":"Go CodeQL queries","childPages":[]},{"href":"/en/code-security/code-scanning/managing-your-code-scanning-configuration/java-kotlin-built-in-queries","title":"Java and Kotlin CodeQL queries","childPages":[]},{"href":"/en/code-security/code-scanning/managing-your-code-scanning-configuration/javascript-typescript-built-in-queries","title":"JavaScript and TypeScript queries","childPages":[]},{"href":"/en/code-security/code-scanning/managing-your-code-scanning-configuration/python-built-in-queries","title":"Python CodeQL queries","childPages":[]},{"href":"/en/code-security/code-scanning/managing-your-code-scanning-configuration/ruby-built-in-queries","title":"Ruby CodeQL queries","childPages":[]},{"href":"/en/code-security/code-scanning/managing-your-code-scanning-configuration/swift-built-in-queries","title":"Swift CodeQL queries","childPages":[]}]},{"href":"/en/code-security/code-scanning/integrating-with-code-scanning","title":"Integrate with code scanning","childPages":[{"href":"/en/code-security/code-scanning/integrating-with-code-scanning/about-integration-with-code-scanning","title":"About integration","childPages":[]},{"href":"/en/code-security/code-scanning/integrating-with-code-scanning/using-code-scanning-with-your-existing-ci-system","title":"Using code scanning with your existing CI system","childPages":[]},{"href":"/en/code-security/code-scanning/integrating-with-code-scanning/uploading-a-sarif-file-to-github","title":"Upload a SARIF file","childPages":[]},{"href":"/en/code-security/code-scanning/integrating-with-code-scanning/sarif-support-for-code-scanning","title":"SARIF support","childPages":[]}]},{"href":"/en/code-security/code-scanning/troubleshooting-code-scanning","title":"Troubleshooting code scanning","childPages":[{"href":"/en/code-security/code-scanning/troubleshooting-code-scanning/advanced-security-must-be-enabled","title":"Advanced Security must be enabled","childPages":[]},{"href":"/en/code-security/code-scanning/troubleshooting-code-scanning/alerts-in-generated-code","title":"Alerts in generated code","childPages":[]},{"href":"/en/code-security/code-scanning/troubleshooting-code-scanning/analysis-takes-too-long","title":"Analysis takes too long","childPages":[]},{"href":"/en/code-security/code-scanning/troubleshooting-code-scanning/automatic-build-failed","title":"Automatic build failed","childPages":[]},{"href":"/en/code-security/code-scanning/troubleshooting-code-scanning/c-sharp-compiler-unexpectedly-failing","title":"C# compiler failing","childPages":[]},{"href":"/en/code-security/code-scanning/troubleshooting-code-scanning/cannot-enable-codeql-in-a-private-repository","title":"Cannot enable CodeQL in a private repository","childPages":[]},{"href":"/en/code-security/code-scanning/troubleshooting-code-scanning/enabling-default-setup-takes-too-long","title":"Enabling default setup takes too long","childPages":[]},{"href":"/en/code-security/code-scanning/troubleshooting-code-scanning/extraction-errors-in-the-database","title":"Extraction errors in the database","childPages":[]},{"href":"/en/code-security/code-scanning/troubleshooting-code-scanning/fewer-lines-scanned-than-expected","title":"Fewer lines scanned than expected","childPages":[]},{"href":"/en/code-security/code-scanning/troubleshooting-code-scanning/logs-not-detailed-enough","title":"Logs not detailed enough","childPages":[]},{"href":"/en/code-security/code-scanning/troubleshooting-code-scanning/no-source-code-seen-during-build","title":"No source code seen during build","childPages":[]},{"href":"/en/code-security/code-scanning/troubleshooting-code-scanning/not-recognized","title":"Not recognized","childPages":[]},{"href":"/en/code-security/code-scanning/troubleshooting-code-scanning/out-of-disk-or-memory","title":"Out of disk or memory","childPages":[]},{"href":"/en/code-security/code-scanning/troubleshooting-code-scanning/resource-not-accessible","title":"Resource not accessible","childPages":[]},{"href":"/en/code-security/code-scanning/troubleshooting-code-scanning/results-different-than-expected","title":"Results different than expected","childPages":[]},{"href":"/en/code-security/code-scanning/troubleshooting-code-scanning/server-error","title":"Server error","childPages":[]},{"href":"/en/code-security/code-scanning/troubleshooting-code-scanning/some-languages-not-analyzed","title":"Some languages not analyzed","childPages":[]},{"href":"/en/code-security/code-scanning/troubleshooting-code-scanning/two-codeql-workflows","title":"Two CodeQL workflows","childPages":[]},{"href":"/en/code-security/code-scanning/troubleshooting-code-scanning/unclear-what-triggered-a-workflow","title":"Unclear what triggered a workflow","childPages":[]},{"href":"/en/code-security/code-scanning/troubleshooting-code-scanning/unnecessary-step-found","title":"Unnecessary step found","childPages":[]},{"href":"/en/code-security/code-scanning/troubleshooting-code-scanning/kotlin-detected-in-no-build","title":"Kotlin detected in no build","childPages":[]}]},{"href":"/en/code-security/code-scanning/troubleshooting-sarif-uploads","title":"Troubleshooting SARIF uploads","childPages":[{"href":"/en/code-security/code-scanning/troubleshooting-sarif-uploads/ghas-required","title":"GitHub Advanced Security disabled","childPages":[]},{"href":"/en/code-security/code-scanning/troubleshooting-sarif-uploads/default-setup-enabled","title":"Default setup is enabled","childPages":[]},{"href":"/en/code-security/code-scanning/troubleshooting-sarif-uploads/missing-token","title":"GitHub token missing","childPages":[]},{"href":"/en/code-security/code-scanning/troubleshooting-sarif-uploads/sarif-invalid","title":"SARIF file invalid","childPages":[]},{"href":"/en/code-security/code-scanning/troubleshooting-sarif-uploads/file-too-large","title":"Results file too large","childPages":[]},{"href":"/en/code-security/code-scanning/troubleshooting-sarif-uploads/results-exceed-limit","title":"Results exceed limits","childPages":[]}]}]},{"href":"/en/code-security/codeql-cli","title":"CodeQL CLI","childPages":[{"href":"/en/code-security/codeql-cli/getting-started-with-the-codeql-cli","title":"Getting started","childPages":[{"href":"/en/code-security/codeql-cli/getting-started-with-the-codeql-cli/about-the-codeql-cli","title":"About the CodeQL CLI","childPages":[]},{"href":"/en/code-security/codeql-cli/getting-started-with-the-codeql-cli/setting-up-the-codeql-cli","title":"Setting up the CodeQL CLI","childPages":[]},{"href":"/en/code-security/codeql-cli/getting-started-with-the-codeql-cli/preparing-your-code-for-codeql-analysis","title":"Preparing code for analysis","childPages":[]},{"href":"/en/code-security/codeql-cli/getting-started-with-the-codeql-cli/analyzing-your-code-with-codeql-queries","title":"Analyzing code","childPages":[]},{"href":"/en/code-security/codeql-cli/getting-started-with-the-codeql-cli/uploading-codeql-analysis-results-to-github","title":"Uploading results to GitHub","childPages":[]},{"href":"/en/code-security/codeql-cli/getting-started-with-the-codeql-cli/customizing-analysis-with-codeql-packs","title":"Customizing analysis","childPages":[]}]},{"href":"/en/code-security/codeql-cli/using-the-advanced-functionality-of-the-codeql-cli","title":"Advanced functionality","childPages":[{"href":"/en/code-security/codeql-cli/using-the-advanced-functionality-of-the-codeql-cli/advanced-setup-of-the-codeql-cli","title":"Advanced setup of the CodeQL CLI","childPages":[]},{"href":"/en/code-security/codeql-cli/using-the-advanced-functionality-of-the-codeql-cli/about-codeql-workspaces","title":"About CodeQL workspaces","childPages":[]},{"href":"/en/code-security/codeql-cli/using-the-advanced-functionality-of-the-codeql-cli/using-custom-queries-with-the-codeql-cli","title":"Using custom queries with the CodeQL CLI","childPages":[]},{"href":"/en/code-security/codeql-cli/using-the-advanced-functionality-of-the-codeql-cli/creating-codeql-query-suites","title":"Creating CodeQL query suites","childPages":[]},{"href":"/en/code-security/codeql-cli/using-the-advanced-functionality-of-the-codeql-cli/testing-custom-queries","title":"Testing custom queries","childPages":[]},{"href":"/en/code-security/codeql-cli/using-the-advanced-functionality-of-the-codeql-cli/testing-query-help-files","title":"Testing query help files","childPages":[]},{"href":"/en/code-security/codeql-cli/using-the-advanced-functionality-of-the-codeql-cli/creating-and-working-with-codeql-packs","title":"Creating and working with CodeQL packs","childPages":[]},{"href":"/en/code-security/codeql-cli/using-the-advanced-functionality-of-the-codeql-cli/publishing-and-using-codeql-packs","title":"Publishing and using CodeQL packs","childPages":[]},{"href":"/en/code-security/codeql-cli/using-the-advanced-functionality-of-the-codeql-cli/specifying-command-options-in-a-codeql-configuration-file","title":"Specifying command options in a CodeQL configuration file","childPages":[]},{"href":"/en/code-security/codeql-cli/using-the-advanced-functionality-of-the-codeql-cli/query-reference-files","title":"Query reference files","childPages":[]},{"href":"/en/code-security/codeql-cli/using-the-advanced-functionality-of-the-codeql-cli/sarif-output","title":"CodeQL CLI SARIF output","childPages":[]},{"href":"/en/code-security/codeql-cli/using-the-advanced-functionality-of-the-codeql-cli/csv-output","title":"CodeQL CLI CSV output","childPages":[]},{"href":"/en/code-security/codeql-cli/using-the-advanced-functionality-of-the-codeql-cli/extractor-options","title":"Extractor options","childPages":[]},{"href":"/en/code-security/codeql-cli/using-the-advanced-functionality-of-the-codeql-cli/exit-codes","title":"Exit codes","childPages":[]}]},{"href":"/en/code-security/codeql-cli/codeql-cli-manual","title":"CodeQL CLI manual","childPages":[{"href":"/en/code-security/codeql-cli/codeql-cli-manual/bqrs-decode","title":"bqrs decode","childPages":[]},{"href":"/en/code-security/codeql-cli/codeql-cli-manual/bqrs-diff","title":"bqrs diff","childPages":[]},{"href":"/en/code-security/codeql-cli/codeql-cli-manual/bqrs-hash","title":"bqrs hash","childPages":[]},{"href":"/en/code-security/codeql-cli/codeql-cli-manual/bqrs-info","title":"bqrs info","childPages":[]},{"href":"/en/code-security/codeql-cli/codeql-cli-manual/bqrs-interpret","title":"bqrs interpret","childPages":[]},{"href":"/en/code-security/codeql-cli/codeql-cli-manual/database-add-diagnostic","title":"database add-diagnostic","childPages":[]},{"href":"/en/code-security/codeql-cli/codeql-cli-manual/database-analyze","title":"database analyze","childPages":[]},{"href":"/en/code-security/codeql-cli/codeql-cli-manual/database-bundle","title":"database bundle","childPages":[]},{"href":"/en/code-security/codeql-cli/codeql-cli-manual/database-cleanup","title":"database cleanup","childPages":[]},{"href":"/en/code-security/codeql-cli/codeql-cli-manual/database-create","title":"database create","childPages":[]},{"href":"/en/code-security/codeql-cli/codeql-cli-manual/database-export-diagnostics","title":"database export-diagnostics","childPages":[]},{"href":"/en/code-security/codeql-cli/codeql-cli-manual/database-finalize","title":"database finalize","childPages":[]},{"href":"/en/code-security/codeql-cli/codeql-cli-manual/database-import","title":"database import","childPages":[]},{"href":"/en/code-security/codeql-cli/codeql-cli-manual/database-index-files","title":"database index-files","childPages":[]},{"href":"/en/code-security/codeql-cli/codeql-cli-manual/database-init","title":"database init","childPages":[]},{"href":"/en/code-security/codeql-cli/codeql-cli-manual/database-interpret-results","title":"database interpret-results","childPages":[]},{"href":"/en/code-security/codeql-cli/codeql-cli-manual/database-print-baseline","title":"database print-baseline","childPages":[]},{"href":"/en/code-security/codeql-cli/codeql-cli-manual/database-run-queries","title":"database run-queries","childPages":[]},{"href":"/en/code-security/codeql-cli/codeql-cli-manual/database-trace-command","title":"database trace-command","childPages":[]},{"href":"/en/code-security/codeql-cli/codeql-cli-manual/database-unbundle","title":"database unbundle","childPages":[]},{"href":"/en/code-security/codeql-cli/codeql-cli-manual/database-upgrade","title":"database upgrade","childPages":[]},{"href":"/en/code-security/codeql-cli/codeql-cli-manual/dataset-check","title":"dataset check","childPages":[]},{"href":"/en/code-security/codeql-cli/codeql-cli-manual/dataset-cleanup","title":"dataset cleanup","childPages":[]},{"href":"/en/code-security/codeql-cli/codeql-cli-manual/dataset-import","title":"dataset import","childPages":[]},{"href":"/en/code-security/codeql-cli/codeql-cli-manual/dataset-measure","title":"dataset measure","childPages":[]},{"href":"/en/code-security/codeql-cli/codeql-cli-manual/dataset-upgrade","title":"dataset upgrade","childPages":[]},{"href":"/en/code-security/codeql-cli/codeql-cli-manual/diagnostic-add","title":"diagnostic add","childPages":[]},{"href":"/en/code-security/codeql-cli/codeql-cli-manual/diagnostic-export","title":"diagnostic export","childPages":[]},{"href":"/en/code-security/codeql-cli/codeql-cli-manual/execute-cli-server","title":"execute cli-server","childPages":[]},{"href":"/en/code-security/codeql-cli/codeql-cli-manual/execute-language-server","title":"execute language-server","childPages":[]},{"href":"/en/code-security/codeql-cli/codeql-cli-manual/execute-queries","title":"execute queries","childPages":[]},{"href":"/en/code-security/codeql-cli/codeql-cli-manual/execute-query-server","title":"execute query-server","childPages":[]},{"href":"/en/code-security/codeql-cli/codeql-cli-manual/execute-query-server2","title":"execute query-server2","childPages":[]},{"href":"/en/code-security/codeql-cli/codeql-cli-manual/execute-upgrades","title":"execute upgrades","childPages":[]},{"href":"/en/code-security/codeql-cli/codeql-cli-manual/generate-extensible-predicate-metadata","title":"generate extensible-predicate-metadata","childPages":[]},{"href":"/en/code-security/codeql-cli/codeql-cli-manual/generate-log-summary","title":"generate log-summary","childPages":[]},{"href":"/en/code-security/codeql-cli/codeql-cli-manual/generate-query-help","title":"generate query-help","childPages":[]},{"href":"/en/code-security/codeql-cli/codeql-cli-manual/github-merge-results","title":"github merge-results","childPages":[]},{"href":"/en/code-security/codeql-cli/codeql-cli-manual/github-upload-results","title":"github upload-results","childPages":[]},{"href":"/en/code-security/codeql-cli/codeql-cli-manual/pack-add","title":"pack add","childPages":[]},{"href":"/en/code-security/codeql-cli/codeql-cli-manual/pack-bundle","title":"pack bundle","childPages":[]},{"href":"/en/code-security/codeql-cli/codeql-cli-manual/pack-ci","title":"pack ci","childPages":[]},{"href":"/en/code-security/codeql-cli/codeql-cli-manual/pack-create","title":"pack create","childPages":[]},{"href":"/en/code-security/codeql-cli/codeql-cli-manual/pack-download","title":"pack download","childPages":[]},{"href":"/en/code-security/codeql-cli/codeql-cli-manual/pack-init","title":"pack init","childPages":[]},{"href":"/en/code-security/codeql-cli/codeql-cli-manual/pack-install","title":"pack install","childPages":[]},{"href":"/en/code-security/codeql-cli/codeql-cli-manual/pack-ls","title":"pack ls","childPages":[]},{"href":"/en/code-security/codeql-cli/codeql-cli-manual/pack-packlist","title":"pack packlist","childPages":[]},{"href":"/en/code-security/codeql-cli/codeql-cli-manual/pack-publish","title":"pack publish","childPages":[]},{"href":"/en/code-security/codeql-cli/codeql-cli-manual/pack-resolve-dependencies","title":"pack resolve-dependencies","childPages":[]},{"href":"/en/code-security/codeql-cli/codeql-cli-manual/pack-upgrade","title":"pack upgrade","childPages":[]},{"href":"/en/code-security/codeql-cli/codeql-cli-manual/query-compile","title":"query compile","childPages":[]},{"href":"/en/code-security/codeql-cli/codeql-cli-manual/query-decompile","title":"query decompile","childPages":[]},{"href":"/en/code-security/codeql-cli/codeql-cli-manual/query-format","title":"query format","childPages":[]},{"href":"/en/code-security/codeql-cli/codeql-cli-manual/query-run","title":"query run","childPages":[]},{"href":"/en/code-security/codeql-cli/codeql-cli-manual/resolve-database","title":"resolve database","childPages":[]},{"href":"/en/code-security/codeql-cli/codeql-cli-manual/resolve-extensions","title":"resolve extensions","childPages":[]},{"href":"/en/code-security/codeql-cli/codeql-cli-manual/resolve-extensions-by-pack","title":"resolve extensions-by-pack","childPages":[]},{"href":"/en/code-security/codeql-cli/codeql-cli-manual/resolve-extractor","title":"resolve extractor","childPages":[]},{"href":"/en/code-security/codeql-cli/codeql-cli-manual/resolve-files","title":"resolve files","childPages":[]},{"href":"/en/code-security/codeql-cli/codeql-cli-manual/resolve-languages","title":"resolve languages","childPages":[]},{"href":"/en/code-security/codeql-cli/codeql-cli-manual/resolve-library-path","title":"resolve library-path","childPages":[]},{"href":"/en/code-security/codeql-cli/codeql-cli-manual/resolve-metadata","title":"resolve metadata","childPages":[]},{"href":"/en/code-security/codeql-cli/codeql-cli-manual/resolve-ml-models","title":"resolve ml-models","childPages":[]},{"href":"/en/code-security/codeql-cli/codeql-cli-manual/resolve-packs","title":"resolve packs","childPages":[]},{"href":"/en/code-security/codeql-cli/codeql-cli-manual/resolve-qlpacks","title":"resolve qlpacks","childPages":[]},{"href":"/en/code-security/codeql-cli/codeql-cli-manual/resolve-qlref","title":"resolve qlref","childPages":[]},{"href":"/en/code-security/codeql-cli/codeql-cli-manual/resolve-queries","title":"resolve queries","childPages":[]},{"href":"/en/code-security/codeql-cli/codeql-cli-manual/resolve-ram","title":"resolve ram","childPages":[]},{"href":"/en/code-security/codeql-cli/codeql-cli-manual/resolve-tests","title":"resolve tests","childPages":[]},{"href":"/en/code-security/codeql-cli/codeql-cli-manual/resolve-upgrades","title":"resolve upgrades","childPages":[]},{"href":"/en/code-security/codeql-cli/codeql-cli-manual/test-accept","title":"test accept","childPages":[]},{"href":"/en/code-security/codeql-cli/codeql-cli-manual/test-extract","title":"test extract","childPages":[]},{"href":"/en/code-security/codeql-cli/codeql-cli-manual/test-run","title":"test run","childPages":[]},{"href":"/en/code-security/codeql-cli/codeql-cli-manual/version","title":"version","childPages":[]}]}]},{"href":"/en/code-security/codeql-for-vs-code","title":"CodeQL for VS Code","childPages":[{"href":"/en/code-security/codeql-for-vs-code/getting-started-with-codeql-for-vs-code","title":"Getting started","childPages":[{"href":"/en/code-security/codeql-for-vs-code/getting-started-with-codeql-for-vs-code/about-codeql-for-vs-code","title":"About the extension","childPages":[]},{"href":"/en/code-security/codeql-for-vs-code/getting-started-with-codeql-for-vs-code/installing-codeql-for-vs-code","title":"Extension installation","childPages":[]},{"href":"/en/code-security/codeql-for-vs-code/getting-started-with-codeql-for-vs-code/managing-codeql-databases","title":"Manage CodeQL databases","childPages":[]},{"href":"/en/code-security/codeql-for-vs-code/getting-started-with-codeql-for-vs-code/running-codeql-queries","title":"Run CodeQL queries","childPages":[]},{"href":"/en/code-security/codeql-for-vs-code/getting-started-with-codeql-for-vs-code/exploring-data-flow-with-path-queries","title":"Explore data flow","childPages":[]},{"href":"/en/code-security/codeql-for-vs-code/getting-started-with-codeql-for-vs-code/running-codeql-queries-at-scale-with-multi-repository-variant-analysis","title":"Queries at scale","childPages":[]}]},{"href":"/en/code-security/codeql-for-vs-code/using-the-advanced-functionality-of-the-codeql-for-vs-code-extension","title":"Advanced functionality","childPages":[{"href":"/en/code-security/codeql-for-vs-code/using-the-advanced-functionality-of-the-codeql-for-vs-code-extension/using-the-codeql-model-editor","title":"CodeQL model editor","childPages":[]},{"href":"/en/code-security/codeql-for-vs-code/using-the-advanced-functionality-of-the-codeql-for-vs-code-extension/creating-a-custom-query","title":"Custom query creation","childPages":[]},{"href":"/en/code-security/codeql-for-vs-code/using-the-advanced-functionality-of-the-codeql-for-vs-code-extension/managing-codeql-packs","title":"Manage CodeQL packs","childPages":[]},{"href":"/en/code-security/codeql-for-vs-code/using-the-advanced-functionality-of-the-codeql-for-vs-code-extension/exploring-the-structure-of-your-source-code","title":"Explore code structure","childPages":[]},{"href":"/en/code-security/codeql-for-vs-code/using-the-advanced-functionality-of-the-codeql-for-vs-code-extension/testing-codeql-queries-in-vs-code","title":"Test CodeQL queries","childPages":[]},{"href":"/en/code-security/codeql-for-vs-code/using-the-advanced-functionality-of-the-codeql-for-vs-code-extension/customizing-settings","title":"Customize settings","childPages":[]},{"href":"/en/code-security/codeql-for-vs-code/using-the-advanced-functionality-of-the-codeql-for-vs-code-extension/setting-up-a-codeql-workspace","title":"CodeQL workspace setup","childPages":[]},{"href":"/en/code-security/codeql-for-vs-code/using-the-advanced-functionality-of-the-codeql-for-vs-code-extension/configuring-access-to-the-codeql-cli","title":"CodeQL CLI access","childPages":[]},{"href":"/en/code-security/codeql-for-vs-code/using-the-advanced-functionality-of-the-codeql-for-vs-code-extension/telemetry-in-codeql-for-visual-studio-code","title":"Telemetry","childPages":[]}]},{"href":"/en/code-security/codeql-for-vs-code/troubleshooting-codeql-for-vs-code","title":"Troubleshooting CodeQL for VS Code","childPages":[{"href":"/en/code-security/codeql-for-vs-code/troubleshooting-codeql-for-vs-code/accessing-logs","title":"Access logs","childPages":[]},{"href":"/en/code-security/codeql-for-vs-code/troubleshooting-codeql-for-vs-code/warning-problem-with-controller-repository","title":"Problem with controller repository","childPages":[]}]}]},{"href":"/en/code-security/security-advisories","title":"Security advisories","childPages":[{"href":"/en/code-security/security-advisories/working-with-global-security-advisories-from-the-github-advisory-database","title":"Global security advisories","childPages":[{"href":"/en/code-security/security-advisories/working-with-global-security-advisories-from-the-github-advisory-database/about-the-github-advisory-database","title":"About the GitHub Advisory database","childPages":[]},{"href":"/en/code-security/security-advisories/working-with-global-security-advisories-from-the-github-advisory-database/about-global-security-advisories","title":"About global security advisories","childPages":[]},{"href":"/en/code-security/security-advisories/working-with-global-security-advisories-from-the-github-advisory-database/browsing-security-advisories-in-the-github-advisory-database","title":"Browse Advisory Database","childPages":[]},{"href":"/en/code-security/security-advisories/working-with-global-security-advisories-from-the-github-advisory-database/editing-security-advisories-in-the-github-advisory-database","title":"Edit Advisory Database","childPages":[]}]},{"href":"/en/code-security/security-advisories/working-with-repository-security-advisories","title":"Repository security advisories","childPages":[{"href":"/en/code-security/security-advisories/working-with-repository-security-advisories/about-repository-security-advisories","title":"About repository security advisories","childPages":[]},{"href":"/en/code-security/security-advisories/working-with-repository-security-advisories/permission-levels-for-repository-security-advisories","title":"Permission levels","childPages":[]},{"href":"/en/code-security/security-advisories/working-with-repository-security-advisories/configuring-private-vulnerability-reporting-for-a-repository","title":"Configure for a repository","childPages":[]},{"href":"/en/code-security/security-advisories/working-with-repository-security-advisories/configuring-private-vulnerability-reporting-for-an-organization","title":"Configure for an organization","childPages":[]},{"href":"/en/code-security/security-advisories/working-with-repository-security-advisories/creating-a-repository-security-advisory","title":"Create repository advisories","childPages":[]},{"href":"/en/code-security/security-advisories/working-with-repository-security-advisories/editing-a-repository-security-advisory","title":"Edit repository advisories","childPages":[]},{"href":"/en/code-security/security-advisories/working-with-repository-security-advisories/evaluating-the-security-settings-of-a-repository","title":"Evaluate repository security","childPages":[]},{"href":"/en/code-security/security-advisories/working-with-repository-security-advisories/collaborating-in-a-temporary-private-fork-to-resolve-a-repository-security-vulnerability","title":"Temporary private forks","childPages":[]},{"href":"/en/code-security/security-advisories/working-with-repository-security-advisories/publishing-a-repository-security-advisory","title":"Publish repository advisories","childPages":[]},{"href":"/en/code-security/security-advisories/working-with-repository-security-advisories/adding-a-collaborator-to-a-repository-security-advisory","title":"Add collaborators","childPages":[]},{"href":"/en/code-security/security-advisories/working-with-repository-security-advisories/removing-a-collaborator-from-a-repository-security-advisory","title":"Remove collaborators","childPages":[]},{"href":"/en/code-security/security-advisories/working-with-repository-security-advisories/deleting-a-repository-security-advisory","title":"Delete repository advisories","childPages":[]}]},{"href":"/en/code-security/security-advisories/guidance-on-reporting-and-writing-information-about-vulnerabilities","title":"Guidance on reporting and writing","childPages":[{"href":"/en/code-security/security-advisories/guidance-on-reporting-and-writing-information-about-vulnerabilities/about-coordinated-disclosure-of-security-vulnerabilities","title":"Coordinated disclosure","childPages":[]},{"href":"/en/code-security/security-advisories/guidance-on-reporting-and-writing-information-about-vulnerabilities/best-practices-for-writing-repository-security-advisories","title":"Best practices","childPages":[]},{"href":"/en/code-security/security-advisories/guidance-on-reporting-and-writing-information-about-vulnerabilities/privately-reporting-a-security-vulnerability","title":"Privately reporting","childPages":[]},{"href":"/en/code-security/security-advisories/guidance-on-reporting-and-writing-information-about-vulnerabilities/managing-privately-reported-security-vulnerabilities","title":"Manage vulnerability reports","childPages":[]}]}]},{"href":"/en/code-security/supply-chain-security","title":"Supply chain security","childPages":[{"href":"/en/code-security/supply-chain-security/understanding-your-software-supply-chain","title":"Understand your supply chain","childPages":[{"href":"/en/code-security/supply-chain-security/understanding-your-software-supply-chain/about-supply-chain-security","title":"Supply chain security","childPages":[]},{"href":"/en/code-security/supply-chain-security/understanding-your-software-supply-chain/about-the-dependency-graph","title":"Dependency graph","childPages":[]},{"href":"/en/code-security/supply-chain-security/understanding-your-software-supply-chain/dependency-graph-supported-package-ecosystems","title":"Dependency graph ecosystem support","childPages":[]},{"href":"/en/code-security/supply-chain-security/understanding-your-software-supply-chain/configuring-the-dependency-graph","title":"Configure dependency graph","childPages":[]},{"href":"/en/code-security/supply-chain-security/understanding-your-software-supply-chain/configuring-automatic-dependency-submission-for-your-repository","title":"Automatic dependency submission","childPages":[]},{"href":"/en/code-security/supply-chain-security/understanding-your-software-supply-chain/exporting-a-software-bill-of-materials-for-your-repository","title":"Export dependencies as SBOM","childPages":[]},{"href":"/en/code-security/supply-chain-security/understanding-your-software-supply-chain/using-the-dependency-submission-api","title":"Dependency submission API","childPages":[]},{"href":"/en/code-security/supply-chain-security/understanding-your-software-supply-chain/about-dependency-review","title":"Dependency review","childPages":[]},{"href":"/en/code-security/supply-chain-security/understanding-your-software-supply-chain/configuring-dependency-review","title":"Configure dependency review","childPages":[]},{"href":"/en/code-security/supply-chain-security/understanding-your-software-supply-chain/customizing-your-dependency-review-action-configuration","title":"Customize dependency review","childPages":[]},{"href":"/en/code-security/supply-chain-security/understanding-your-software-supply-chain/enforcing-dependency-review-across-an-organization","title":"Enforce dependency review","childPages":[]},{"href":"/en/code-security/supply-chain-security/understanding-your-software-supply-chain/exploring-the-dependencies-of-a-repository","title":"Explore dependencies","childPages":[]},{"href":"/en/code-security/supply-chain-security/understanding-your-software-supply-chain/troubleshooting-the-dependency-graph","title":"Troubleshoot dependency graph","childPages":[]}]},{"href":"/en/code-security/supply-chain-security/end-to-end-supply-chain","title":"End-to-end supply chain","childPages":[{"href":"/en/code-security/supply-chain-security/end-to-end-supply-chain/end-to-end-supply-chain-overview","title":"Overview","childPages":[]},{"href":"/en/code-security/supply-chain-security/end-to-end-supply-chain/securing-accounts","title":"Securing accounts","childPages":[]},{"href":"/en/code-security/supply-chain-security/end-to-end-supply-chain/securing-code","title":"Securing code","childPages":[]},{"href":"/en/code-security/supply-chain-security/end-to-end-supply-chain/securing-builds","title":"Securing builds","childPages":[]}]}]},{"href":"/en/code-security/dependabot","title":"Dependabot","childPages":[{"href":"/en/code-security/dependabot/ecosystems-supported-by-dependabot","title":"Dependabot ecosystems","childPages":[{"href":"/en/code-security/dependabot/ecosystems-supported-by-dependabot/supported-ecosystems-and-repositories","title":"Dependabot ecosystem support","childPages":[]},{"href":"/en/code-security/dependabot/ecosystems-supported-by-dependabot/optimizing-java-packages-dependabot","title":"Optimize Java packages","childPages":[]}]},{"href":"/en/code-security/dependabot/dependabot-alerts","title":"Dependabot alerts","childPages":[{"href":"/en/code-security/dependabot/dependabot-alerts/about-dependabot-alerts","title":"Dependabot alerts","childPages":[]},{"href":"/en/code-security/dependabot/dependabot-alerts/configuring-dependabot-alerts","title":"Configure Dependabot alerts","childPages":[]},{"href":"/en/code-security/dependabot/dependabot-alerts/viewing-and-updating-dependabot-alerts","title":"View Dependabot alerts","childPages":[]},{"href":"/en/code-security/dependabot/dependabot-alerts/configuring-notifications-for-dependabot-alerts","title":"Configure notifications","childPages":[]}]},{"href":"/en/code-security/dependabot/dependabot-auto-triage-rules","title":"Dependabot auto-triage rules","childPages":[{"href":"/en/code-security/dependabot/dependabot-auto-triage-rules/about-dependabot-auto-triage-rules","title":"About auto-triage rules","childPages":[]},{"href":"/en/code-security/dependabot/dependabot-auto-triage-rules/using-github-preset-rules-to-prioritize-dependabot-alerts","title":"GitHub preset rules","childPages":[]},{"href":"/en/code-security/dependabot/dependabot-auto-triage-rules/customizing-auto-triage-rules-to-prioritize-dependabot-alerts","title":"Custom auto-triage rules","childPages":[]},{"href":"/en/code-security/dependabot/dependabot-auto-triage-rules/managing-automatically-dismissed-alerts","title":"Manage auto-dismissed alerts","childPages":[]}]},{"href":"/en/code-security/dependabot/dependabot-security-updates","title":"Dependabot security updates","childPages":[{"href":"/en/code-security/dependabot/dependabot-security-updates/about-dependabot-security-updates","title":"Dependabot security updates","childPages":[]},{"href":"/en/code-security/dependabot/dependabot-security-updates/configuring-dependabot-security-updates","title":"Configure security updates","childPages":[]}]},{"href":"/en/code-security/dependabot/dependabot-version-updates","title":"Dependabot version updates","childPages":[{"href":"/en/code-security/dependabot/dependabot-version-updates/about-dependabot-version-updates","title":"Dependabot version updates","childPages":[]},{"href":"/en/code-security/dependabot/dependabot-version-updates/configuring-dependabot-version-updates","title":"Configure version updates","childPages":[]},{"href":"/en/code-security/dependabot/dependabot-version-updates/listing-dependencies-configured-for-version-updates","title":"List configured dependencies","childPages":[]},{"href":"/en/code-security/dependabot/dependabot-version-updates/customizing-dependency-updates","title":"Customize updates","childPages":[]},{"href":"/en/code-security/dependabot/dependabot-version-updates/configuration-options-for-the-dependabot.yml-file","title":"Configure dependabot.yml","childPages":[]}]},{"href":"/en/code-security/dependabot/working-with-dependabot","title":"Work with Dependabot","childPages":[{"href":"/en/code-security/dependabot/working-with-dependabot/managing-pull-requests-for-dependency-updates","title":"Manage Dependabot PRs","childPages":[]},{"href":"/en/code-security/dependabot/working-with-dependabot/about-dependabot-on-github-actions-runners","title":"About Dependabot on Actions","childPages":[]},{"href":"/en/code-security/dependabot/working-with-dependabot/managing-dependabot-on-self-hosted-runners","title":"Manage Dependabot on self-hosted runners","childPages":[]},{"href":"/en/code-security/dependabot/working-with-dependabot/automating-dependabot-with-github-actions","title":"Use Dependabot with Actions","childPages":[]},{"href":"/en/code-security/dependabot/working-with-dependabot/keeping-your-actions-up-to-date-with-dependabot","title":"Auto-update actions","childPages":[]},{"href":"/en/code-security/dependabot/working-with-dependabot/configuring-access-to-private-registries-for-dependabot","title":"Configure access to private registries","childPages":[]},{"href":"/en/code-security/dependabot/working-with-dependabot/guidance-for-the-configuration-of-private-registries-for-dependabot","title":"Guidance for configuring private registries","childPages":[]},{"href":"/en/code-security/dependabot/working-with-dependabot/removing-dependabot-access-to-public-registries","title":"Remove access to public registries","childPages":[]},{"href":"/en/code-security/dependabot/working-with-dependabot/viewing-dependabot-job-logs","title":"Viewing Dependabot logs","childPages":[]},{"href":"/en/code-security/dependabot/working-with-dependabot/troubleshooting-the-detection-of-vulnerable-dependencies","title":"Troubleshoot vulnerability detection","childPages":[]},{"href":"/en/code-security/dependabot/working-with-dependabot/troubleshooting-dependabot-errors","title":"Troubleshoot errors","childPages":[]},{"href":"/en/code-security/dependabot/working-with-dependabot/troubleshooting-dependabot-on-github-actions","title":"Troubleshoot Dependabot on Actions","childPages":[]}]}]},{"href":"/en/code-security/security-overview","title":"Security overview","childPages":[{"href":"/en/code-security/security-overview/about-security-overview","title":"About security overview","childPages":[]}]}]},"featureFlags":{},"nonEnterpriseDefaultVersion":"free-pro-team@latest","status":200,"fullUrl":"https://docs.github.com/en/code-security/code-scanning/creating-an-advanced-setup-for-code-scanning/codeql-code-scanning-for-compiled-languages","currentLayoutName":"default","relativePath":"code-security/code-scanning/creating-an-advanced-setup-for-code-scanning/codeql-code-scanning-for-compiled-languages.md"},"articleContext":{"title":"CodeQL code scanning for compiled languages","intro":"\u003cp\u003eUnderstand how CodeQL analyzes compiled languages, the build options available, and learn how you can customize the database generation process if you need to.\u003c/p\u003e","effectiveDate":"","renderedPage":"\u003ch2 id=\"about-the-codeql-analysis-workflow-and-compiled-languages\" tabindex=\"-1\"\u003e\u003ca class=\"heading-link\" href=\"#about-the-codeql-analysis-workflow-and-compiled-languages\"\u003eAbout the CodeQL analysis workflow and compiled languages\u003cspan class=\"heading-link-symbol\" aria-hidden=\"true\"\u003e\u003c/span\u003e\u003c/a\u003e\u003c/h2\u003e\n\u003cp\u003eCode scanning works by running queries against one or more CodeQL databases. Each database contains a representation of the code in a single language in your repository. For the compiled languages C/C++, C#, Go, Java, Kotlin, and Swift, the process of populating this database often involves building the code and extracting data.\u003c/p\u003e\n\u003cp\u003eWhen you enable code scanning, both default and advanced setup generate a CodeQL database for analysis using the simplest method available. For C# and Java, the CodeQL database is generated directly from the codebase without requiring a build (\u003ccode\u003enone\u003c/code\u003e build mode). For other compiled languages, CodeQL builds the codebase using the \u003ccode\u003eautobuild\u003c/code\u003e build mode. Alternatively, you can use the \u003ccode\u003emanual\u003c/code\u003e build mode to specify explicit build commands to analyze only the files that are built by these custom commands.\u003c/p\u003e\n\u003ch2 id=\"codeql-build-modes\" tabindex=\"-1\"\u003e\u003ca class=\"heading-link\" href=\"#codeql-build-modes\"\u003eCodeQL build modes\u003cspan class=\"heading-link-symbol\" aria-hidden=\"true\"\u003e\u003c/span\u003e\u003c/a\u003e\u003c/h2\u003e\n\u003cp\u003eThe CodeQL action supports three different build modes for compiled languages:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003enone\u003c/code\u003e - the CodeQL database is created directly from the codebase without building the codebase (supported for all interpreted languages, and additionally supported for C# and Java).\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eautobuild\u003c/code\u003e - CodeQL detects the most likely build method and uses this to attempt to build the codebase and create a database for analysis (supported for all compiled languages).\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003emanual\u003c/code\u003e - you define the build steps to use for the codebase in the workflow (supported for all compiled languages).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3 id=\"comparison-of-the-build-modes\" tabindex=\"-1\"\u003e\u003ca class=\"heading-link\" href=\"#comparison-of-the-build-modes\"\u003eComparison of the build modes\u003cspan class=\"heading-link-symbol\" aria-hidden=\"true\"\u003e\u003c/span\u003e\u003c/a\u003e\u003c/h3\u003e\n\u003cdiv class=\"ghd-tool rowheaders\"\u003e\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\u003ctable\u003e\u003cthead\u003e\u003ctr\u003e\u003cth scope=\"col\"\u003eBuild mode characteristic\u003c/th\u003e\u003cth scope=\"col\"\u003eNone\u003c/th\u003e\u003cth scope=\"col\"\u003eAutobuild\u003c/th\u003e\u003cth scope=\"col\"\u003eManual\u003c/th\u003e\u003c/tr\u003e\u003c/thead\u003e\u003ctbody\u003e\u003ctr\u003e\u003cth scope=\"row\"\u003eUsed by default setup and for organization-level enablement\u003c/th\u003e\u003ctd\u003eYes (C# and Java)\u003c/td\u003e\u003ctd\u003eYes, where \u003ccode\u003enone\u003c/code\u003e is not supported\u003c/td\u003e\u003ctd\u003eNo\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003cth scope=\"row\"\u003eAnalysis succeeds without user configuration\u003c/th\u003e\u003ctd\u003eYes\u003c/td\u003e\u003ctd\u003eVariable\u003c/td\u003e\u003ctd\u003eNo\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003cth scope=\"row\"\u003eCompleteness of analysis\u003c/th\u003e\u003ctd\u003eGenerated code not analyzed\u003c/td\u003e\u003ctd\u003eVariable\u003c/td\u003e\u003ctd\u003eUser controlled\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003cth scope=\"row\"\u003eAccuracy of analysis\u003c/th\u003e\u003ctd\u003eGood\u003c/td\u003e\u003ctd\u003eGood\u003c/td\u003e\u003ctd\u003eBest\u003c/td\u003e\u003c/tr\u003e\u003c/tbody\u003e\u003c/table\u003e\n\u003c/div\u003e\n\u003ch3 id=\"recommendations\" tabindex=\"-1\"\u003e\u003ca class=\"heading-link\" href=\"#recommendations\"\u003eRecommendations\u003cspan class=\"heading-link-symbol\" aria-hidden=\"true\"\u003e\u003c/span\u003e\u003c/a\u003e\u003c/h3\u003e\n\u003cp\u003eWhen you are setting up code scanning for the first time, or across multiple repositories, it's best to use default setup. Default setup uses the simplest method available to generate a CodeQL database and analyze your code, so that you can start fixing alerts as soon as possible. Once you have resolved the initial alerts, you may want to switch to advanced setup with a manual build process for high risk repositories.\u003c/p\u003e\n\u003ch3 id=\"using-multiple-build-modes-in-a-multi-language-repository\" tabindex=\"-1\"\u003e\u003ca class=\"heading-link\" href=\"#using-multiple-build-modes-in-a-multi-language-repository\"\u003eUsing multiple build modes in a multi-language repository\u003cspan class=\"heading-link-symbol\" aria-hidden=\"true\"\u003e\u003c/span\u003e\u003c/a\u003e\u003c/h3\u003e\n\u003cp\u003eFor repositories with multiple compiled languages, you can use different build modes for different languages. For example, if your repository contains C/C++, C# and Java, you might want to provide manual build steps for one language (here C/C++). This workflow specifies a different build mode for each language.\u003c/p\u003e\n\u003cpre\u003e\u003ccode class=\"hljs language-yaml\"\u003e\u003cspan class=\"hljs-attr\"\u003estrategy:\u003c/span\u003e\n \u003cspan class=\"hljs-attr\"\u003ematrix:\u003c/span\u003e\n \u003cspan class=\"hljs-attr\"\u003einclude:\u003c/span\u003e\n \u003cspan class=\"hljs-comment\"\u003e# Analyzes C and C++ code using the commands in `Build C and C++ code`\u003c/span\u003e\n \u003cspan class=\"hljs-bullet\"\u003e-\u003c/span\u003e \u003cspan class=\"hljs-attr\"\u003elanguage:\u003c/span\u003e \u003cspan class=\"hljs-string\"\u003ec-cpp\u003c/span\u003e\n \u003cspan class=\"hljs-attr\"\u003ebuild-mode:\u003c/span\u003e \u003cspan class=\"hljs-string\"\u003emanual\u003c/span\u003e\n \u003cspan class=\"hljs-comment\"\u003e# Analyzes C# code by automatically detecting a build\u003c/span\u003e\n \u003cspan class=\"hljs-bullet\"\u003e-\u003c/span\u003e \u003cspan class=\"hljs-attr\"\u003elanguage:\u003c/span\u003e \u003cspan class=\"hljs-string\"\u003ecsharp\u003c/span\u003e\n \u003cspan class=\"hljs-attr\"\u003ebuild-mode:\u003c/span\u003e \u003cspan class=\"hljs-string\"\u003eautobuild\u003c/span\u003e\n \u003cspan class=\"hljs-comment\"\u003e# Analyzes Java code directly from the codebase without a build\u003c/span\u003e\n \u003cspan class=\"hljs-bullet\"\u003e-\u003c/span\u003e \u003cspan class=\"hljs-attr\"\u003elanguage:\u003c/span\u003e \u003cspan class=\"hljs-string\"\u003ejava-kotlin\u003c/span\u003e\n \u003cspan class=\"hljs-attr\"\u003ebuild-mode:\u003c/span\u003e \u003cspan class=\"hljs-string\"\u003enone\u003c/span\u003e \u003cspan class=\"hljs-comment\"\u003e# analyzes Java only\u003c/span\u003e\n\u003cspan class=\"hljs-attr\"\u003esteps:\u003c/span\u003e\n\u003cspan class=\"hljs-bullet\"\u003e-\u003c/span\u003e \u003cspan class=\"hljs-attr\"\u003ename:\u003c/span\u003e \u003cspan class=\"hljs-string\"\u003eCheckout\u003c/span\u003e \u003cspan class=\"hljs-string\"\u003erepository\u003c/span\u003e\n \u003cspan class=\"hljs-attr\"\u003euses:\u003c/span\u003e \u003cspan class=\"hljs-string\"\u003eactions/checkout@v4\u003c/span\u003e\n\n\u003cspan class=\"hljs-comment\"\u003e# Initializes CodeQL tools and creates a codebase for analysis.\u003c/span\u003e\n\u003cspan class=\"hljs-bullet\"\u003e-\u003c/span\u003e \u003cspan class=\"hljs-attr\"\u003ename:\u003c/span\u003e \u003cspan class=\"hljs-string\"\u003eInitialize\u003c/span\u003e \u003cspan class=\"hljs-string\"\u003eCodeQL\u003c/span\u003e\n \u003cspan class=\"hljs-attr\"\u003euses:\u003c/span\u003e \u003cspan class=\"hljs-string\"\u003egithub/codeql-action/init@v3\u003c/span\u003e\n \u003cspan class=\"hljs-attr\"\u003ewith:\u003c/span\u003e\n \u003cspan class=\"hljs-attr\"\u003elanguages:\u003c/span\u003e \u003cspan class=\"hljs-string\"\u003e${{\u003c/span\u003e \u003cspan class=\"hljs-string\"\u003ematrix.language\u003c/span\u003e \u003cspan class=\"hljs-string\"\u003e}}\u003c/span\u003e\n\u003cspan class=\"hljs-bullet\"\u003e-\u003c/span\u003e \u003cspan class=\"hljs-attr\"\u003eif:\u003c/span\u003e \u003cspan class=\"hljs-string\"\u003e${{\u003c/span\u003e \u003cspan class=\"hljs-string\"\u003ematrix.build-mode\u003c/span\u003e \u003cspan class=\"hljs-string\"\u003e==\u003c/span\u003e \u003cspan class=\"hljs-string\"\u003e'manual'\u003c/span\u003e \u003cspan class=\"hljs-string\"\u003e}}\u003c/span\u003e\n \u003cspan class=\"hljs-attr\"\u003ename:\u003c/span\u003e \u003cspan class=\"hljs-string\"\u003eBuild\u003c/span\u003e \u003cspan class=\"hljs-string\"\u003eC\u003c/span\u003e \u003cspan class=\"hljs-string\"\u003eand\u003c/span\u003e \u003cspan class=\"hljs-string\"\u003eC++\u003c/span\u003e \u003cspan class=\"hljs-string\"\u003ecode\u003c/span\u003e\n \u003cspan class=\"hljs-attr\"\u003erun:\u003c/span\u003e \u003cspan class=\"hljs-string\"\u003e|\n echo 'If you are using a \"manual\" build mode for one or more of the' \\\n 'languages you are analyzing, replace this with the commands to build' \\\n 'your code, for example:'\n echo ' make bootstrap'\n echo ' make release'\n exit 1\n\u003c/span\u003e\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003eFor information about the languages, libraries, and frameworks that are supported in the latest version of CodeQL, see \"\u003ca href=\"https://codeql.github.com/docs/codeql-overview/supported-languages-and-frameworks\"\u003eSupported languages and frameworks\u003c/a\u003e\" in the CodeQL documentation. For information about the system requirements for running the latest version of CodeQL, see \"\u003ca href=\"https://codeql.github.com/docs/codeql-overview/system-requirements/#additional-software-requirements\"\u003eSystem requirements\u003c/a\u003e\" in the CodeQL documentation.\u003c/p\u003e\n\u003ch2 id=\"about-build-mode-none-for-codeql\" tabindex=\"-1\"\u003e\u003ca class=\"heading-link\" href=\"#about-build-mode-none-for-codeql\"\u003eAbout build mode None for CodeQL\u003cspan class=\"heading-link-symbol\" aria-hidden=\"true\"\u003e\u003c/span\u003e\u003c/a\u003e\u003c/h2\u003e\n\u003cp\u003eFor C# and Java, CodeQL creates a database without requiring a build when you enable default setup for code scanning unless the repository also includes Kotlin code. If a repository contains Kotlin code in addition to Java code, default setup is enabled with the autobuild process because Kotlin analysis requires a build.\u003c/p\u003e\n\u003cp\u003eCreating a CodeQL database without a build may produce less accurate results than using \u003ccode\u003eautobuild\u003c/code\u003e or manual build steps if:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eThe build scripts cannot be queried for dependency information, and dependency guesses are inaccurate.\u003c/li\u003e\n\u003cli\u003eThe repository normally generates code during the build process.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eTo use \u003ccode\u003eautobuild\u003c/code\u003e or manual build steps, you can use advanced setup.\u003c/p\u003e\n\u003cdiv class=\"ghd-alert ghd-alert-accent\"\u003e\u003cp class=\"ghd-alert-title\"\u003e\u003csvg version=\"1.1\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" class=\"octicon mr-2\" aria-hidden\u003e\u003cpath d=\"M0 8a8 8 0 1 1 16 0A8 8 0 0 1 0 8Zm8-6.5a6.5 6.5 0 1 0 0 13 6.5 6.5 0 0 0 0-13ZM6.5 7.75A.75.75 0 0 1 7.25 7h1a.75.75 0 0 1 .75.75v2.75h.25a.75.75 0 0 1 0 1.5h-2a.75.75 0 0 1 0-1.5h.25v-2h-.25a.75.75 0 0 1-.75-.75ZM8 6a1 1 0 1 1 0-2 1 1 0 0 1 0 2Z\"\u003e\u003c/path\u003e\u003c/svg\u003eNote\u003c/p\u003e\n\u003cp\u003e For Java analysis, if \u003ccode\u003ebuild-mode\u003c/code\u003e is set to \u003ccode\u003enone\u003c/code\u003e and Kotlin code is found in the repository, the Kotlin code will not be analyzed and a warning will be produced. See \"\u003ca href=\"#building-java-and-kotlin\"\u003eBuilding Java and Kotlin\u003c/a\u003e.\"\u003c/p\u003e\n\u003c/div\u003e\n\u003ch2 id=\"about-autobuild-for-codeql\" tabindex=\"-1\"\u003e\u003ca class=\"heading-link\" href=\"#about-autobuild-for-codeql\"\u003eAbout Autobuild for CodeQL\u003cspan class=\"heading-link-symbol\" aria-hidden=\"true\"\u003e\u003c/span\u003e\u003c/a\u003e\u003c/h2\u003e\n\u003cp\u003eThe CodeQL action uses \u003ccode\u003eautobuild\u003c/code\u003e to analyze compiled languages in the following cases.\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eDefault setup is enabled and the language does not support \u003ccode\u003enone\u003c/code\u003e build (supported for C# and Java).\u003c/li\u003e\n\u003cli\u003eAdvanced setup is enabled and the workflow specifies \u003ccode\u003ebuild-mode: autobuild\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eAdvanced setup is enabled and the workflow has an Autobuild step for the language using the \u003ccode\u003eautobuild\u003c/code\u003e action (\u003ccode\u003egithub/codeql-action/autobuild@v3\u003c/code\u003e).\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3 id=\"example-using-the-build-mode-option\" tabindex=\"-1\"\u003e\u003ca class=\"heading-link\" href=\"#example-using-the-build-mode-option\"\u003eExample using the \u003ccode\u003ebuild-mode\u003c/code\u003e option\u003cspan class=\"heading-link-symbol\" aria-hidden=\"true\"\u003e\u003c/span\u003e\u003c/a\u003e\u003c/h3\u003e\n\u003cpre\u003e\u003ccode class=\"hljs language-yaml\"\u003e\u003cspan class=\"hljs-comment\"\u003e# Initializes the CodeQL tools for scanning.\u003c/span\u003e\n\u003cspan class=\"hljs-attr\"\u003ename:\u003c/span\u003e \u003cspan class=\"hljs-string\"\u003eAnalyze\u003c/span\u003e\n\u003cspan class=\"hljs-attr\"\u003estrategy:\u003c/span\u003e\n \u003cspan class=\"hljs-attr\"\u003ematrix:\u003c/span\u003e\n \u003cspan class=\"hljs-attr\"\u003einclude:\u003c/span\u003e\n \u003cspan class=\"hljs-comment\"\u003e# Analyze C and C++ code\u003c/span\u003e\n \u003cspan class=\"hljs-bullet\"\u003e-\u003c/span\u003e \u003cspan class=\"hljs-attr\"\u003elanguage:\u003c/span\u003e \u003cspan class=\"hljs-string\"\u003ec-cpp\u003c/span\u003e\n \u003cspan class=\"hljs-attr\"\u003ebuild-mode:\u003c/span\u003e \u003cspan class=\"hljs-string\"\u003eautobuild\u003c/span\u003e\n \u003cspan class=\"hljs-comment\"\u003e# Analyze Go code\u003c/span\u003e\n \u003cspan class=\"hljs-bullet\"\u003e-\u003c/span\u003e \u003cspan class=\"hljs-attr\"\u003elanguage:\u003c/span\u003e \u003cspan class=\"hljs-string\"\u003ego\u003c/span\u003e\n \u003cspan class=\"hljs-attr\"\u003ebuild-mode:\u003c/span\u003e \u003cspan class=\"hljs-string\"\u003eautobuild\u003c/span\u003e\n\n\u003cspan class=\"hljs-attr\"\u003esteps:\u003c/span\u003e\n \u003cspan class=\"hljs-bullet\"\u003e-\u003c/span\u003e \u003cspan class=\"hljs-attr\"\u003euses:\u003c/span\u003e \u003cspan class=\"hljs-string\"\u003egithub/codeql-action/init@v3\u003c/span\u003e\n \u003cspan class=\"hljs-attr\"\u003ewith:\u003c/span\u003e\n \u003cspan class=\"hljs-attr\"\u003elanguages:\u003c/span\u003e \u003cspan class=\"hljs-string\"\u003e${{\u003c/span\u003e \u003cspan class=\"hljs-string\"\u003ematrix.language\u003c/span\u003e \u003cspan class=\"hljs-string\"\u003e}}\u003c/span\u003e\n \u003cspan class=\"hljs-attr\"\u003ebuild-mode:\u003c/span\u003e \u003cspan class=\"hljs-string\"\u003e${{\u003c/span\u003e \u003cspan class=\"hljs-string\"\u003ematrix.build-mode\u003c/span\u003e \u003cspan class=\"hljs-string\"\u003e}}\u003c/span\u003e\n\u003c/code\u003e\u003c/pre\u003e\n\u003ch3 id=\"example-using-the-autobuild-step\" tabindex=\"-1\"\u003e\u003ca class=\"heading-link\" href=\"#example-using-the-autobuild-step\"\u003eExample using the Autobuild step\u003cspan class=\"heading-link-symbol\" aria-hidden=\"true\"\u003e\u003c/span\u003e\u003c/a\u003e\u003c/h3\u003e\n\u003cpre\u003e\u003ccode class=\"hljs language-yaml\"\u003e \u003cspan class=\"hljs-comment\"\u003e# Initializes the CodeQL tools for scanning.\u003c/span\u003e\n \u003cspan class=\"hljs-bullet\"\u003e-\u003c/span\u003e \u003cspan class=\"hljs-attr\"\u003ename:\u003c/span\u003e \u003cspan class=\"hljs-string\"\u003eInitialize\u003c/span\u003e \u003cspan class=\"hljs-string\"\u003eCodeQL\u003c/span\u003e\n \u003cspan class=\"hljs-attr\"\u003euses:\u003c/span\u003e \u003cspan class=\"hljs-string\"\u003egithub/codeql-action/init@v3\u003c/span\u003e\n \u003cspan class=\"hljs-attr\"\u003ewith:\u003c/span\u003e\n \u003cspan class=\"hljs-attr\"\u003elanguages:\u003c/span\u003e \u003cspan class=\"hljs-string\"\u003e${{\u003c/span\u003e \u003cspan class=\"hljs-string\"\u003ematrix.language\u003c/span\u003e \u003cspan class=\"hljs-string\"\u003e}}\u003c/span\u003e\n\n \u003cspan class=\"hljs-bullet\"\u003e-\u003c/span\u003e \u003cspan class=\"hljs-attr\"\u003ename:\u003c/span\u003e \u003cspan class=\"hljs-string\"\u003eAutobuild\u003c/span\u003e\n \u003cspan class=\"hljs-attr\"\u003euses:\u003c/span\u003e \u003cspan class=\"hljs-string\"\u003egithub/codeql-action/autobuild@v3\u003c/span\u003e\n\u003c/code\u003e\u003c/pre\u003e\n\u003ch2 id=\"about-specifying-build-steps-manually\" tabindex=\"-1\"\u003e\u003ca class=\"heading-link\" href=\"#about-specifying-build-steps-manually\"\u003eAbout specifying build steps manually\u003cspan class=\"heading-link-symbol\" aria-hidden=\"true\"\u003e\u003c/span\u003e\u003c/a\u003e\u003c/h2\u003e\n\u003cp\u003eYou can only specify manual build steps if you have enabled advanced setup, see \"\u003ca href=\"/en/code-security/code-scanning/creating-an-advanced-setup-for-code-scanning/configuring-advanced-setup-for-code-scanning#configuring-advanced-setup-for-a-repository\" _originalHref=\"/code-security/code-scanning/creating-an-advanced-setup-for-code-scanning/configuring-advanced-setup-for-code-scanning#configuring-advanced-setup-for-a-repository\"\u003eConfiguring advanced setup for code scanning\u003c/a\u003e.\"\u003c/p\u003e\n\u003cp\u003eIf \u003ccode\u003eautobuild\u003c/code\u003e fails, or you want to analyze a different set of source files from those built by the \u003ccode\u003eautobuild\u003c/code\u003e process, you'll need to do the following:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eIf your workflow specifies a build mode for the language, change the build mode to \u003ccode\u003emanual\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eIf your workflow contains an \u003ccode\u003eautobuild\u003c/code\u003e step, remove or comment out the \u003ccode\u003eautobuild\u003c/code\u003e step in the workflow.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eThen uncomment the \u003ccode\u003erun\u003c/code\u003e step and manually specify the build process to use. For C/C++, C#, Go, Java, Kotlin, and Swift, CodeQL will analyze whatever source code is built by your specified build steps. For information on how to edit the workflow file, see \"\u003ca href=\"/en/code-security/code-scanning/creating-an-advanced-setup-for-code-scanning/customizing-your-advanced-setup-for-code-scanning#editing-a-code-scanning-workflow\" _originalHref=\"/code-security/code-scanning/creating-an-advanced-setup-for-code-scanning/customizing-your-advanced-setup-for-code-scanning#editing-a-code-scanning-workflow\"\u003eCustomizing your advanced setup for code scanning\u003c/a\u003e.\"\u003c/p\u003e\n\u003cp\u003eUpdate your workflow to define the \u003ccode\u003ebuild-mode\u003c/code\u003e as \u003ccode\u003emanual\u003c/code\u003e.\u003c/p\u003e\n\u003cpre\u003e\u003ccode class=\"hljs language-yaml\"\u003e\u003cspan class=\"hljs-comment\"\u003e# Initializes the CodeQL tools for scanning.\u003c/span\u003e\n\u003cspan class=\"hljs-bullet\"\u003e-\u003c/span\u003e \u003cspan class=\"hljs-attr\"\u003ename:\u003c/span\u003e \u003cspan class=\"hljs-string\"\u003eInitialize\u003c/span\u003e \u003cspan class=\"hljs-string\"\u003eCodeQL\u003c/span\u003e\n\u003cspan class=\"hljs-bullet\"\u003e-\u003c/span\u003e \u003cspan class=\"hljs-attr\"\u003euses:\u003c/span\u003e \u003cspan class=\"hljs-string\"\u003egithub/codeql-action/init@v3\u003c/span\u003e\n \u003cspan class=\"hljs-attr\"\u003ewith:\u003c/span\u003e\n \u003cspan class=\"hljs-attr\"\u003elanguages:\u003c/span\u003e \u003cspan class=\"hljs-string\"\u003e${{\u003c/span\u003e \u003cspan class=\"hljs-string\"\u003ematrix.language\u003c/span\u003e \u003cspan class=\"hljs-string\"\u003e}}\u003c/span\u003e\n \u003cspan class=\"hljs-attr\"\u003ebuild-mode:\u003c/span\u003e \u003cspan class=\"hljs-string\"\u003emanual\u003c/span\u003e\n\u003cspan class=\"hljs-bullet\"\u003e-\u003c/span\u003e \u003cspan class=\"hljs-attr\"\u003euses:\u003c/span\u003e \u003cspan class=\"hljs-string\"\u003egithub/codeql-action/analyze@v3\u003c/span\u003e\n \u003cspan class=\"hljs-attr\"\u003ewith:\u003c/span\u003e\n \u003cspan class=\"hljs-attr\"\u003ecategory:\u003c/span\u003e \u003cspan class=\"hljs-string\"\u003e\"/language:$\u003cspan class=\"hljs-template-variable\"\u003e{{ matrix.language }}\u003c/span\u003e\"\u003c/span\u003e\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003eAlternatively, update your workflow to comment out the \"Autobuild\" step.\u003c/p\u003e\n\u003cpre\u003e\u003ccode class=\"hljs language-yaml\"\u003e \u003cspan class=\"hljs-comment\"\u003e# Autobuild attempts to build any compiled languages.\u003c/span\u003e\n \u003cspan class=\"hljs-comment\"\u003e# - name: Autobuild\u003c/span\u003e\n \u003cspan class=\"hljs-comment\"\u003e# uses: github/codeql-action/autobuild@v3\u003c/span\u003e\n\u003c/code\u003e\u003c/pre\u003e\n\u003ch3 id=\"specifying-build-commands\" tabindex=\"-1\"\u003e\u003ca class=\"heading-link\" href=\"#specifying-build-commands\"\u003eSpecifying build commands\u003cspan class=\"heading-link-symbol\" aria-hidden=\"true\"\u003e\u003c/span\u003e\u003c/a\u003e\u003c/h3\u003e\n\u003cp\u003eWhen manual building is enabled, uncomment the \u003ccode\u003erun\u003c/code\u003e step in the workflow and add build commands that are suitable for your repository. The \u003ccode\u003erun\u003c/code\u003e step runs command-line programs using the operating system's shell. You can modify these commands and add more commands to customize the build process.\u003c/p\u003e\n\u003cpre\u003e\u003ccode class=\"hljs language-yaml\"\u003e\u003cspan class=\"hljs-bullet\"\u003e-\u003c/span\u003e \u003cspan class=\"hljs-attr\"\u003erun:\u003c/span\u003e \u003cspan class=\"hljs-string\"\u003e|\n make bootstrap\n make release\n\u003c/span\u003e\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003eFor more information about the \u003ccode\u003erun\u003c/code\u003e keyword, see \"\u003ca href=\"/en/actions/using-workflows/workflow-syntax-for-github-actions#jobsjob_idstepsrun\" _originalHref=\"/actions/using-workflows/workflow-syntax-for-github-actions#jobsjob_idstepsrun\"\u003eWorkflow syntax for GitHub Actions\u003c/a\u003e.\"\u003c/p\u003e\n\u003cp\u003eIf you added manual build steps for compiled languages and code scanning is still not working on your repository, contact us through the \u003ca href=\"https://support.github.com\"\u003eGitHub Support portal\u003c/a\u003e.\u003c/p\u003e\n\u003ch2 id=\"autobuild-steps-for-compiled-languages\" tabindex=\"-1\"\u003e\u003ca class=\"heading-link\" href=\"#autobuild-steps-for-compiled-languages\"\u003eAutobuild steps for compiled languages\u003cspan class=\"heading-link-symbol\" aria-hidden=\"true\"\u003e\u003c/span\u003e\u003c/a\u003e\u003c/h2\u003e\n\u003cp\u003eGitHub-hosted runners are always run with the software required by \u003ccode\u003eautobuild\u003c/code\u003e. If you use self-hosted runners for GitHub Actions, you may need to install additional software to use the \u003ccode\u003eautobuild\u003c/code\u003e process. Additionally, if your repository requires a specific version of a build tool, you may need to install it manually.\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"#building-cc\"\u003eBuilding C/C++\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"#building-c\"\u003eBuilding C#\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"#building-go\"\u003eBuilding Go\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"#building-java-and-kotlin\"\u003eBuilding Java and Kotlin\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"#building-swift\"\u003eBuilding Swift\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cdiv class=\"ghd-alert ghd-alert-accent\"\u003e\u003cp class=\"ghd-alert-title\"\u003e\u003csvg version=\"1.1\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" class=\"octicon mr-2\" aria-hidden\u003e\u003cpath d=\"M0 8a8 8 0 1 1 16 0A8 8 0 0 1 0 8Zm8-6.5a6.5 6.5 0 1 0 0 13 6.5 6.5 0 0 0 0-13ZM6.5 7.75A.75.75 0 0 1 7.25 7h1a.75.75 0 0 1 .75.75v2.75h.25a.75.75 0 0 1 0 1.5h-2a.75.75 0 0 1 0-1.5h.25v-2h-.25a.75.75 0 0 1-.75-.75ZM8 6a1 1 0 1 1 0-2 1 1 0 0 1 0 2Z\"\u003e\u003c/path\u003e\u003c/svg\u003eNote\u003c/p\u003e\n\u003cp\u003e\nIf your workflow uses a \u003ccode\u003elanguage\u003c/code\u003e matrix, \u003ccode\u003eautobuild\u003c/code\u003e attempts to build each of the compiled languages listed in the matrix. Without a matrix \u003ccode\u003eautobuild\u003c/code\u003e attempts to build the supported compiled language that has the most source files in the repository. With the exception of Go, analysis of other compiled languages in your repository will fail unless you supply explicit build commands.\u003c/p\u003e\n\u003c/div\u003e\n\u003ch2 id=\"building-cc\" tabindex=\"-1\"\u003e\u003ca class=\"heading-link\" href=\"#building-cc\"\u003eBuilding C/C++\u003cspan class=\"heading-link-symbol\" aria-hidden=\"true\"\u003e\u003c/span\u003e\u003c/a\u003e\u003c/h2\u003e\n\u003cp\u003eCodeQL supports build modes \u003ccode\u003eautobuild\u003c/code\u003e or \u003ccode\u003emanual\u003c/code\u003e for C/C++ code.\u003c/p\u003e\n\u003ch3 id=\"autobuild-summary-for-cc\" tabindex=\"-1\"\u003e\u003ca class=\"heading-link\" href=\"#autobuild-summary-for-cc\"\u003eAutobuild summary for C/C++\u003cspan class=\"heading-link-symbol\" aria-hidden=\"true\"\u003e\u003c/span\u003e\u003c/a\u003e\u003c/h3\u003e\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\u003ctable\u003e\u003cthead\u003e\u003ctr\u003e\u003cth scope=\"col\"\u003eSupported system type\u003c/th\u003e\u003cth scope=\"col\"\u003eSystem name\u003c/th\u003e\u003c/tr\u003e\u003c/thead\u003e\u003ctbody\u003e\u003ctr\u003e\u003ctd\u003eOperating system\u003c/td\u003e\u003ctd\u003eWindows, macOS, and Linux\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003eBuild system\u003c/td\u003e\u003ctd\u003eWindows: MSbuild and build scripts\u003cbr\u003eLinux and macOS: Autoconf, Make, CMake, qmake, Meson, Waf, SCons, Linux Kbuild, and build scripts\u003c/td\u003e\u003c/tr\u003e\u003c/tbody\u003e\u003c/table\u003e\n\u003cp\u003eThe behavior of the \u003ccode\u003eautobuild\u003c/code\u003e step varies according to the operating system that the extraction runs on.\u003c/p\u003e\n\u003ch3 id=\"windows-autodetection\" tabindex=\"-1\"\u003e\u003ca class=\"heading-link\" href=\"#windows-autodetection\"\u003eWindows autodetection\u003cspan class=\"heading-link-symbol\" aria-hidden=\"true\"\u003e\u003c/span\u003e\u003c/a\u003e\u003c/h3\u003e\n\u003cp\u003eOn Windows, the \u003ccode\u003eautobuild\u003c/code\u003e step attempts to autodetect a suitable build method for C/C++ using the following approach:\u003c/p\u003e\n\u003col\u003e\n\u003cli\u003eInvoke \u003ccode\u003eMSBuild.exe\u003c/code\u003e on the solution (\u003ccode\u003e.sln\u003c/code\u003e) or project (\u003ccode\u003e.vcxproj\u003c/code\u003e) file closest to the root.\nIf \u003ccode\u003eautobuild\u003c/code\u003e detects multiple solution or project files at the same (shortest) depth from the top level directory, it will attempt to build all of them.\u003c/li\u003e\n\u003cli\u003eInvoke a script that looks like a build script—\u003cem\u003ebuild.bat\u003c/em\u003e, \u003cem\u003ebuild.cmd\u003c/em\u003e, \u003cem\u003eand build.exe\u003c/em\u003e (in that order).\u003c/li\u003e\n\u003c/ol\u003e\n\u003ch3 id=\"linux-and-macos-autodetection\" tabindex=\"-1\"\u003e\u003ca class=\"heading-link\" href=\"#linux-and-macos-autodetection\"\u003eLinux and macOS autodetection\u003cspan class=\"heading-link-symbol\" aria-hidden=\"true\"\u003e\u003c/span\u003e\u003c/a\u003e\u003c/h3\u003e\n\u003cp\u003eOn Linux and macOS, the \u003ccode\u003eautobuild\u003c/code\u003e step reviews the files present in the repository to determine the build system used:\u003c/p\u003e\n\u003col\u003e\n\u003cli\u003eLook for a build system in the root directory.\u003c/li\u003e\n\u003cli\u003eIf none are found, search subdirectories for a unique directory with a build system for C/C++.\u003c/li\u003e\n\u003cli\u003eRun an appropriate command to configure the system.\u003c/li\u003e\n\u003c/ol\u003e\n\u003ch4 id=\"runner-requirements-for-cc\" tabindex=\"-1\"\u003e\u003ca class=\"heading-link\" href=\"#runner-requirements-for-cc\"\u003eRunner requirements for C/C++\u003cspan class=\"heading-link-symbol\" aria-hidden=\"true\"\u003e\u003c/span\u003e\u003c/a\u003e\u003c/h4\u003e\n\u003cp\u003eOn Ubuntu Linux runners, \u003ccode\u003eautobuild\u003c/code\u003e may try to automatically install dependencies required by the detected configuration and build steps. By default, this behavior is enabled on GitHub-hosted runners and disabled on self-hosted runners. You can enable or disable this feature explicitly by setting \u003ccode\u003eCODEQL_EXTRACTOR_CPP_AUTOINSTALL_DEPENDENCIES\u003c/code\u003e to \u003ccode\u003etrue\u003c/code\u003e or \u003ccode\u003efalse\u003c/code\u003e in the environment. For more information about defining environment variables, see \"\u003ca href=\"/en/actions/learn-github-actions/variables#defining-environment-variables-for-a-single-workflow\" _originalHref=\"/actions/learn-github-actions/variables#defining-environment-variables-for-a-single-workflow\"\u003eStore information in variables\u003c/a\u003e.\"\u003c/p\u003e\n\u003cp\u003eFor self-hosted runners, unless automatic installation of dependencies is enabled, you will likely need to install the \u003ccode\u003egcc\u003c/code\u003e compiler, and specific projects may also require access to \u003ccode\u003eclang\u003c/code\u003e or \u003ccode\u003emsvc\u003c/code\u003e executables. You will also need to install the build system (for example \u003ccode\u003emsbuild\u003c/code\u003e, \u003ccode\u003emake\u003c/code\u003e, \u003ccode\u003ecmake\u003c/code\u003e, \u003ccode\u003ebazel\u003c/code\u003e) and utilities (such as \u003ccode\u003epython\u003c/code\u003e, \u003ccode\u003eperl\u003c/code\u003e, \u003ccode\u003elex\u003c/code\u003e, and \u003ccode\u003eyacc\u003c/code\u003e) that your projects depend on.\nIf you enable automatic installation of dependencies, you must ensure that the runner is using Ubuntu and that it can run \u003ccode\u003esudo apt-get\u003c/code\u003e without requiring a password.\u003c/p\u003e\n\u003cp\u003eWindows runners require \u003ccode\u003epowershell.exe\u003c/code\u003e to be on the \u003ccode\u003ePATH\u003c/code\u003e.\u003c/p\u003e\n\u003ch2 id=\"building-c\" tabindex=\"-1\"\u003e\u003ca class=\"heading-link\" href=\"#building-c\"\u003eBuilding C#\u003cspan class=\"heading-link-symbol\" aria-hidden=\"true\"\u003e\u003c/span\u003e\u003c/a\u003e\u003c/h2\u003e\n\u003cp\u003eCodeQL supports build modes \u003ccode\u003enone\u003c/code\u003e, \u003ccode\u003eautobuild\u003c/code\u003e or \u003ccode\u003emanual\u003c/code\u003e for C# code.\u003c/p\u003e\n\u003cp\u003eWhen you enable default setup for a repository that contains C# code, the build mode is set to \u003ccode\u003enone\u003c/code\u003e automatically.\u003c/p\u003e\n\u003ch3 id=\"no-build-for-c\" tabindex=\"-1\"\u003e\u003ca class=\"heading-link\" href=\"#no-build-for-c\"\u003eNo build for C#\u003cspan class=\"heading-link-symbol\" aria-hidden=\"true\"\u003e\u003c/span\u003e\u003c/a\u003e\u003c/h3\u003e\n\u003cp\u003eCodeQL restores dependencies and generates a few additional source files, to give more accurate results, before creating a database from all the source files and dependencies.\u003c/p\u003e\n\u003cp\u003eDependencies are restored using multiple heuristics and strategies. The following files are the primary source of information: \u003ccode\u003e*.csproj\u003c/code\u003e, \u003ccode\u003e*.sln\u003c/code\u003e, \u003ccode\u003enuget.config\u003c/code\u003e, \u003ccode\u003epackages.config\u003c/code\u003e, \u003ccode\u003eglobal.json\u003c/code\u003e, and \u003ccode\u003eproject.assets.json\u003c/code\u003e.\u003c/p\u003e\n\u003cp\u003eThe following generated source files are optional, but significantly increase the correctness of the CodeQL database:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eglobal\u003c/code\u003e generated \u003ccode\u003eusing\u003c/code\u003e directives to handle the implicit \u003ccode\u003eusing\u003c/code\u003e feature of MSbuild.\u003c/li\u003e\n\u003cli\u003eASP.NET core view files, \u003ccode\u003e.cshtml\u003c/code\u003e files are converted to \u003ccode\u003e.cs\u003c/code\u003e files.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eThe information from the dependency assembly names, generated source files, and the source files in the repository is compiled and used to create a CodeQL database.\u003c/p\u003e\n\u003ch4 id=\"accuracy-of-no-build-analysis-for-c\" tabindex=\"-1\"\u003e\u003ca class=\"heading-link\" href=\"#accuracy-of-no-build-analysis-for-c\"\u003eAccuracy of no build analysis for C#\u003cspan class=\"heading-link-symbol\" aria-hidden=\"true\"\u003e\u003c/span\u003e\u003c/a\u003e\u003c/h4\u003e\n\u003cp\u003eCreating a CodeQL database without building the full code relies on being able to restore dependencies and being able to compile together the source files in the repository. When there are problems restoring dependencies or compiling the source code, this can affect the accuracy of the CodeQL database and code scanning analysis results.\u003c/p\u003e\n\u003cp\u003eYou can ensure a more accurate analysis by taking the following steps:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eProvide access to the public internet or ensure that access to a private Nuget feed is available.\u003c/li\u003e\n\u003cli\u003eCheck whether the repository requires multiple versions of the same Nuget dependency. CodeQL can use only one version and usually chooses the newer version where there are multiple versions. This approach may not work for all repositories.\u003c/li\u003e\n\u003cli\u003eCheck whether multiple versions of .NET are referenced, for example, \u003ccode\u003enet48\u003c/code\u003e, \u003ccode\u003enet5.0\u003c/code\u003e, and \u003ccode\u003enetstandard1.6\u003c/code\u003e. CodeQL can use only one version and this may affect accuracy.\u003c/li\u003e\n\u003cli\u003eAvoid colliding class names, otherwise this may cause missing method call targets, which has an impact on dataflow analysis.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3 id=\"autobuild-summary-for-c\" tabindex=\"-1\"\u003e\u003ca class=\"heading-link\" href=\"#autobuild-summary-for-c\"\u003eAutobuild summary for C#\u003cspan class=\"heading-link-symbol\" aria-hidden=\"true\"\u003e\u003c/span\u003e\u003c/a\u003e\u003c/h3\u003e\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\u003ctable\u003e\u003cthead\u003e\u003ctr\u003e\u003cth scope=\"col\"\u003eSupported system type\u003c/th\u003e\u003cth scope=\"col\"\u003eSystem name\u003c/th\u003e\u003c/tr\u003e\u003c/thead\u003e\u003ctbody\u003e\u003ctr\u003e\u003ctd\u003eOperating system\u003c/td\u003e\u003ctd\u003eWindows, macOS, and Linux\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003eBuild system\u003c/td\u003e\u003ctd\u003e.NET and MSbuild, as well as build scripts\u003c/td\u003e\u003c/tr\u003e\u003c/tbody\u003e\u003c/table\u003e\n\u003ch3 id=\"c-compiler-flags-injected-by-codeql\" tabindex=\"-1\"\u003e\u003ca class=\"heading-link\" href=\"#c-compiler-flags-injected-by-codeql\"\u003eC# compiler flags injected by CodeQL\u003cspan class=\"heading-link-symbol\" aria-hidden=\"true\"\u003e\u003c/span\u003e\u003c/a\u003e\u003c/h3\u003e\n\u003cdiv class=\"ghd-alert ghd-alert-accent\"\u003e\u003cp class=\"ghd-alert-title\"\u003e\u003csvg version=\"1.1\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" class=\"octicon mr-2\" aria-hidden\u003e\u003cpath d=\"M0 8a8 8 0 1 1 16 0A8 8 0 0 1 0 8Zm8-6.5a6.5 6.5 0 1 0 0 13 6.5 6.5 0 0 0 0-13ZM6.5 7.75A.75.75 0 0 1 7.25 7h1a.75.75 0 0 1 .75.75v2.75h.25a.75.75 0 0 1 0 1.5h-2a.75.75 0 0 1 0-1.5h.25v-2h-.25a.75.75 0 0 1-.75-.75ZM8 6a1 1 0 1 1 0-2 1 1 0 0 1 0 2Z\"\u003e\u003c/path\u003e\u003c/svg\u003eNote\u003c/p\u003e\n\u003cp\u003e The following compiler flags only apply if you're using build mode \u003ccode\u003emanual\u003c/code\u003e.\u003c/p\u003e\n\u003c/div\u003e\n\u003cp\u003eThe CodeQL tracer enables the extraction of all compiled languages by intercepting build processes and forwarding information to the relevant CodeQL language extractors. The tracer injects certain flags into the C# compiler invocation to ensure every component is built and included in the CodeQL database, which may cause your C# code to build in a different way to what you expect during CodeQL analysis.\u003c/p\u003e\n\u003ch4 id=\"pmvcbuildviewstrue\" tabindex=\"-1\"\u003e\u003ca class=\"heading-link\" href=\"#pmvcbuildviewstrue\"\u003e\u003ccode\u003e/p:MvcBuildViews=true\u003c/code\u003e\u003cspan class=\"heading-link-symbol\" aria-hidden=\"true\"\u003e\u003c/span\u003e\u003c/a\u003e\u003c/h4\u003e\n\u003cp\u003eWhen this option is set to \u003ccode\u003etrue\u003c/code\u003e, the views in ASP.NET model-view-controller (MVC) projects are precompiled as part of the build process, which can help to catch errors and improve performance. The tracer injects this flag to make sure CodeQL finds and highlights security issues that may involve dataflow through the code generated from these views. For more information, see \"\u003ca href=\"https://learn.microsoft.com/en-us/aspnet/mvc/overview/getting-started/introduction/adding-a-view\"\u003eAdding a View to an MVC Application\u003c/a\u003e\" in Microsoft Learn.\u003c/p\u003e\n\u003ch4 id=\"pusesharedcompilationfalse\" tabindex=\"-1\"\u003e\u003ca class=\"heading-link\" href=\"#pusesharedcompilationfalse\"\u003e\u003ccode\u003e/p:UseSharedCompilation=false\u003c/code\u003e\u003cspan class=\"heading-link-symbol\" aria-hidden=\"true\"\u003e\u003c/span\u003e\u003c/a\u003e\u003c/h4\u003e\n\u003cp\u003eSetting this option to \u003ccode\u003efalse\u003c/code\u003e disables the use of the shared compilation feature, which may result in slower build times. When \u003ccode\u003e/p:UseSharedCompilation=false\u003c/code\u003e is \u003cstrong\u003enot\u003c/strong\u003e specified, \u003ccode\u003emsbuild\u003c/code\u003e starts a compiler server process, and all the compilation will be done by that single process. However, the CodeQL tracer depends on inspecting the arguments of newly created processes.\u003c/p\u003e\n\u003ch4 id=\"pemitcompilergeneratedfilestrue\" tabindex=\"-1\"\u003e\u003ca class=\"heading-link\" href=\"#pemitcompilergeneratedfilestrue\"\u003e\u003ccode\u003e/p:EmitCompilerGeneratedFiles=true\u003c/code\u003e\u003cspan class=\"heading-link-symbol\" aria-hidden=\"true\"\u003e\u003c/span\u003e\u003c/a\u003e\u003c/h4\u003e\n\u003cp\u003eSetting this option to \u003ccode\u003etrue\u003c/code\u003e will emit compiler-generated files during the build process. This option causes the compiler to generate additional source files that are used to support features such as improved regular expression support, serialization, and web application view generation. These generated artifacts are typically not written to disk by the compiler, but setting the option to \u003ccode\u003etrue\u003c/code\u003e forces writing the files to disk, and so the extractor can process the files.\u003c/p\u003e\n\u003cp\u003eFor some legacy projects, and projects that use \u003ccode\u003e.sqlproj\u003c/code\u003e files, you may see that the injected \u003ccode\u003e/p:EmitCompilerGeneratedFiles=true\u003c/code\u003e property causes unexpected issues with \u003ccode\u003emsbuild\u003c/code\u003e. For information about troubleshooting this, see \"\u003ca href=\"/en/code-security/code-scanning/troubleshooting-code-scanning/c-sharp-compiler-unexpectedly-failing\" _originalHref=\"/code-security/code-scanning/troubleshooting-code-scanning/c-sharp-compiler-unexpectedly-failing\"\u003eC# compiler unexpectedly failing\u003c/a\u003e.\"\u003c/p\u003e\n\u003ch3 id=\"windows-autodetection-1\" tabindex=\"-1\"\u003e\u003ca class=\"heading-link\" href=\"#windows-autodetection-1\"\u003eWindows autodetection\u003cspan class=\"heading-link-symbol\" aria-hidden=\"true\"\u003e\u003c/span\u003e\u003c/a\u003e\u003c/h3\u003e\n\u003cp\u003eThe \u003ccode\u003eautobuild\u003c/code\u003e process attempts to autodetect a suitable build method for C# using the following approach:\u003c/p\u003e\n\u003col\u003e\n\u003cli\u003eInvoke \u003ccode\u003edotnet build\u003c/code\u003e on the solution (\u003ccode\u003e.sln\u003c/code\u003e) or project (\u003ccode\u003e.csproj\u003c/code\u003e) file closest to the root.\u003c/li\u003e\n\u003cli\u003eInvoke \u003ccode\u003eMSBuild.exe\u003c/code\u003e on the solution or project file closest to the root.\nIf \u003ccode\u003eautobuild\u003c/code\u003e detects multiple solution or project files at the same (shortest) depth from the top level directory, it will attempt to build all of them.\u003c/li\u003e\n\u003cli\u003eInvoke a script that looks like a build script—\u003ccode\u003ebuild.bat\u003c/code\u003e, \u003ccode\u003ebuild.cmd\u003c/code\u003e, and \u003ccode\u003ebuild.exe\u003c/code\u003e (in that order).\u003c/li\u003e\n\u003c/ol\u003e\n\u003ch4 id=\"runner-requirements-for-c-on-windows\" tabindex=\"-1\"\u003e\u003ca class=\"heading-link\" href=\"#runner-requirements-for-c-on-windows\"\u003eRunner requirements for C# on Windows\u003cspan class=\"heading-link-symbol\" aria-hidden=\"true\"\u003e\u003c/span\u003e\u003c/a\u003e\u003c/h4\u003e\n\u003cp\u003eFor .NET Core application development on self-hosted runners, the .NET SDK is required (for \u003ccode\u003edotnet\u003c/code\u003e).\u003c/p\u003e\n\u003cp\u003eFor .NET Framework application development, you will need Microsoft Build Tools (for \u003ccode\u003emsbuild\u003c/code\u003e) and Nuget CLI (for \u003ccode\u003enuget\u003c/code\u003e).\u003c/p\u003e\n\u003cp\u003eWindows runners require \u003ccode\u003epowershell.exe\u003c/code\u003e to be on the \u003ccode\u003ePATH\u003c/code\u003e.\u003c/p\u003e\n\u003cp\u003eIf you plan to create CodeQL databases using \u003ccode\u003ebuild-mode: none\u003c/code\u003e, you also need to provide access to the public internet, or you must ensure that access to a private Nuget feed is available.\u003c/p\u003e\n\u003ch3 id=\"linux-and-macos-autodetection-1\" tabindex=\"-1\"\u003e\u003ca class=\"heading-link\" href=\"#linux-and-macos-autodetection-1\"\u003eLinux and macOS autodetection\u003cspan class=\"heading-link-symbol\" aria-hidden=\"true\"\u003e\u003c/span\u003e\u003c/a\u003e\u003c/h3\u003e\n\u003col\u003e\n\u003cli\u003eInvoke \u003ccode\u003edotnet build\u003c/code\u003e on the solution (\u003ccode\u003e.sln\u003c/code\u003e) or project (\u003ccode\u003e.csproj\u003c/code\u003e) file closest to the root.\u003c/li\u003e\n\u003cli\u003eInvoke \u003ccode\u003eMSbuild\u003c/code\u003e on the solution or project file closest to the root.\nIf \u003ccode\u003eautobuild\u003c/code\u003e detects multiple solution or project files at the same (shortest) depth from the top level directory, it will attempt to build all of them.\u003c/li\u003e\n\u003cli\u003eInvoke a script that looks like a build script—\u003ccode\u003ebuild\u003c/code\u003e and \u003ccode\u003ebuild.sh\u003c/code\u003e (in that order).\u003c/li\u003e\n\u003c/ol\u003e\n\u003ch4 id=\"runner-requirements-for-c-on-linux-and-macos\" tabindex=\"-1\"\u003e\u003ca class=\"heading-link\" href=\"#runner-requirements-for-c-on-linux-and-macos\"\u003eRunner requirements for C# on Linux and macOS\u003cspan class=\"heading-link-symbol\" aria-hidden=\"true\"\u003e\u003c/span\u003e\u003c/a\u003e\u003c/h4\u003e\n\u003cp\u003eFor .NET Core application development on self-hosted runners, the .NET SDK is required (for \u003ccode\u003edotnet\u003c/code\u003e).\u003c/p\u003e\n\u003cp\u003eFor .NET Framework application development, you will require Mono Runtime (to run \u003ccode\u003emono\u003c/code\u003e, \u003ccode\u003emsbuild\u003c/code\u003e, or \u003ccode\u003enuget\u003c/code\u003e).\u003c/p\u003e\n\u003cp\u003eIf you plan to create CodeQL databases using \u003ccode\u003ebuild-mode: none\u003c/code\u003e, you also need to provide access to the public internet, or you must ensure that access to a private Nuget feed is available.\u003c/p\u003e\n\u003ch2 id=\"building-go\" tabindex=\"-1\"\u003e\u003ca class=\"heading-link\" href=\"#building-go\"\u003eBuilding Go\u003cspan class=\"heading-link-symbol\" aria-hidden=\"true\"\u003e\u003c/span\u003e\u003c/a\u003e\u003c/h2\u003e\n\u003cp\u003eCodeQL supports build modes \u003ccode\u003eautobuild\u003c/code\u003e or \u003ccode\u003emanual\u003c/code\u003e for Go code.\u003c/p\u003e\n\u003ch3 id=\"autobuild-summary-for-go\" tabindex=\"-1\"\u003e\u003ca class=\"heading-link\" href=\"#autobuild-summary-for-go\"\u003eAutobuild summary for Go\u003cspan class=\"heading-link-symbol\" aria-hidden=\"true\"\u003e\u003c/span\u003e\u003c/a\u003e\u003c/h3\u003e\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\u003ctable\u003e\u003cthead\u003e\u003ctr\u003e\u003cth scope=\"col\"\u003eSupported system type\u003c/th\u003e\u003cth scope=\"col\"\u003eSystem name\u003c/th\u003e\u003c/tr\u003e\u003c/thead\u003e\u003ctbody\u003e\u003ctr\u003e\u003ctd\u003eOperating system\u003c/td\u003e\u003ctd\u003eWindows, macOS, and Linux\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003eBuild system\u003c/td\u003e\u003ctd\u003eGo modules, \u003ccode\u003edep\u003c/code\u003e and Glide, as well as build scripts including Makefiles and Ninja scripts\u003c/td\u003e\u003c/tr\u003e\u003c/tbody\u003e\u003c/table\u003e\n\u003ch3 id=\"autodetection-for-go\" tabindex=\"-1\"\u003e\u003ca class=\"heading-link\" href=\"#autodetection-for-go\"\u003eAutodetection for Go\u003cspan class=\"heading-link-symbol\" aria-hidden=\"true\"\u003e\u003c/span\u003e\u003c/a\u003e\u003c/h3\u003e\n\u003cp\u003eThe \u003ccode\u003eautobuild\u003c/code\u003e process attempts to autodetect a suitable way to install the dependencies needed by a Go repository before extracting all \u003ccode\u003e.go\u003c/code\u003e files:\u003c/p\u003e\n\u003col\u003e\n\u003cli\u003eInvoke \u003ccode\u003emake\u003c/code\u003e, \u003ccode\u003eninja\u003c/code\u003e, \u003ccode\u003e./build\u003c/code\u003e or \u003ccode\u003e./build.sh\u003c/code\u003e (in that order) until one of these commands succeeds and a subsequent \u003ccode\u003ego list ./...\u003c/code\u003e also succeeds, indicating that the needed dependencies have been installed.\u003c/li\u003e\n\u003cli\u003eIf none of those commands succeeded, look for \u003ccode\u003ego.mod\u003c/code\u003e, \u003ccode\u003eGopkg.toml\u003c/code\u003e or \u003ccode\u003eglide.yaml\u003c/code\u003e, and run \u003ccode\u003ego get\u003c/code\u003e (unless vendoring is in use), \u003ccode\u003edep ensure -v\u003c/code\u003e or \u003ccode\u003eglide install\u003c/code\u003e respectively to try to install dependencies.\u003c/li\u003e\n\u003cli\u003eFinally, if configurations files for these dependency managers are not found, rearrange the repository directory structure suitable for addition to \u003ccode\u003eGOPATH\u003c/code\u003e, and use \u003ccode\u003ego get\u003c/code\u003e to install dependencies. The directory structure reverts to normal after extraction completes.\u003c/li\u003e\n\u003cli\u003eExtract all Go code in the repository, similar to running \u003ccode\u003ego build ./...\u003c/code\u003e.\u003c/li\u003e\n\u003c/ol\u003e\n\u003cdiv class=\"ghd-alert ghd-alert-accent\"\u003e\u003cp class=\"ghd-alert-title\"\u003e\u003csvg version=\"1.1\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" class=\"octicon mr-2\" aria-hidden\u003e\u003cpath d=\"M0 8a8 8 0 1 1 16 0A8 8 0 0 1 0 8Zm8-6.5a6.5 6.5 0 1 0 0 13 6.5 6.5 0 0 0 0-13ZM6.5 7.75A.75.75 0 0 1 7.25 7h1a.75.75 0 0 1 .75.75v2.75h.25a.75.75 0 0 1 0 1.5h-2a.75.75 0 0 1 0-1.5h.25v-2h-.25a.75.75 0 0 1-.75-.75ZM8 6a1 1 0 1 1 0-2 1 1 0 0 1 0 2Z\"\u003e\u003c/path\u003e\u003c/svg\u003eNote\u003c/p\u003e\n\u003cp\u003e\nIf you use default setup, it will look for a \u003ccode\u003ego.mod\u003c/code\u003e file to automatically install a compatible version of the Go language.\u003c/p\u003e\n\u003c/div\u003e\n\u003ch3 id=\"extractor-options-for-go\" tabindex=\"-1\"\u003e\u003ca class=\"heading-link\" href=\"#extractor-options-for-go\"\u003eExtractor options for Go\u003cspan class=\"heading-link-symbol\" aria-hidden=\"true\"\u003e\u003c/span\u003e\u003c/a\u003e\u003c/h3\u003e\n\u003cp\u003eBy default, test code (code in files ending in \u003ccode\u003e_test.go\u003c/code\u003e) is not analyzed. You can override this with the option \u003ccode\u003e--extractor-option extract_tests=true\u003c/code\u003e when using the CodeQL CLI, or by setting the environment variable \u003ccode\u003eCODEQL_EXTRACTOR_GO_OPTION_EXTRACT_TESTS\u003c/code\u003e to \u003ccode\u003etrue\u003c/code\u003e.\u003c/p\u003e\n\u003cp\u003eAdditionally, \u003ccode\u003evendor\u003c/code\u003e directories are excluded from CodeQL Go analysis by default. You can override this by passing the \u003ccode\u003e--extractor-option extract_vendor_dirs=true\u003c/code\u003e option when using the CodeQL CLI, or by setting the environment variable \u003ccode\u003eCODEQL_EXTRACTOR_GO_OPTION_EXTRACT_VENDOR_DIRS\u003c/code\u003e to \u003ccode\u003etrue\u003c/code\u003e.\u003c/p\u003e\n\u003ch2 id=\"building-java-and-kotlin\" tabindex=\"-1\"\u003e\u003ca class=\"heading-link\" href=\"#building-java-and-kotlin\"\u003eBuilding Java and Kotlin\u003cspan class=\"heading-link-symbol\" aria-hidden=\"true\"\u003e\u003c/span\u003e\u003c/a\u003e\u003c/h2\u003e\n\u003cp\u003eCodeQL supports the following build modes.\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eJava: \u003ccode\u003enone\u003c/code\u003e, \u003ccode\u003eautobuild\u003c/code\u003e, or \u003ccode\u003emanual\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eKotlin: \u003ccode\u003eautobuild\u003c/code\u003e or \u003ccode\u003emanual\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eWhen you first enable default setup for a repository, if only Java code is detected then the build mode is set to \u003ccode\u003enone\u003c/code\u003e. If Kotlin or a combination of Java and Kotlin code is detected, then the build mode is set to \u003ccode\u003eautobuild\u003c/code\u003e.\u003c/p\u003e\n\u003cp\u003eIf you later add Kotlin code to a repository that uses the \u003ccode\u003enone\u003c/code\u003e build mode, CodeQL analysis reports a warning message explaining that Kotlin is not supported. You will need to disable default setup and re-enable it. When you re-enable default setup, the build mode will change to \u003ccode\u003eautobuild\u003c/code\u003e so that both languages can be analyzed. Alternatively, you can change to an advanced setup. For more information, see \"\u003ca href=\"/en/code-security/code-scanning/troubleshooting-code-scanning/kotlin-detected-in-no-build\" _originalHref=\"/code-security/code-scanning/troubleshooting-code-scanning/kotlin-detected-in-no-build\"\u003eWarning: Detected X Kotlin files in your project that could not be processed without a build\u003c/a\u003e.\"\u003c/p\u003e\n\u003ch3 id=\"no-build-for-java\" tabindex=\"-1\"\u003e\u003ca class=\"heading-link\" href=\"#no-build-for-java\"\u003eNo build for Java\u003cspan class=\"heading-link-symbol\" aria-hidden=\"true\"\u003e\u003c/span\u003e\u003c/a\u003e\u003c/h3\u003e\n\u003cp\u003eCodeQL will attempt to run Gradle or Maven to extract accurate dependency information (but not to invoke a build), before creating a database from all Java files present. Every root Maven or Gradle project file (a build script without any build script present in an ancestor directory) is queried for dependency information, and more recent dependency versions are preferred if there is a clash. For information about the runner requirements to run Maven or Gradle, see \"\u003ca href=\"#runner-requirements-for-java\"\u003eRunner requirements for Java\u003c/a\u003e.\"\u003c/p\u003e\n\u003ch4 id=\"accuracy-of-no-build-analysis-for-java\" tabindex=\"-1\"\u003e\u003ca class=\"heading-link\" href=\"#accuracy-of-no-build-analysis-for-java\"\u003eAccuracy of no build analysis for Java\u003cspan class=\"heading-link-symbol\" aria-hidden=\"true\"\u003e\u003c/span\u003e\u003c/a\u003e\u003c/h4\u003e\n\u003cp\u003eCreating a CodeQL Java database without a build may produce less accurate results than using \u003ccode\u003eautobuild\u003c/code\u003e or manual build steps if:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eGradle or Maven build scripts cannot be queried for dependency information, and dependency guesses (based on Java package names) are inaccurate.\u003c/li\u003e\n\u003cli\u003eThe repository normally generates code during the build process. This would be analyzed if you created the CodeQL database using a different mode.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eYou can ensure a more accurate analysis by taking the following steps:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eProvide access to the public internet or ensure that access to a private artifact repository is available.\u003c/li\u003e\n\u003cli\u003eCheck whether the repository requires multiple versions of the same dependency. CodeQL can use only one version and usually chooses the newer version where there are multiple versions. This approach may not work for all repositories.\u003c/li\u003e\n\u003cli\u003eCheck whether more than one version of the JDK API is required by different source Java files. When multiple versions are seen, CodeQL will use the highest version required by any build script. This may mean that some files that require a lower version of the JDK will be partially analyzed. For example, if some files require JDK 8 but a JDK 17 requirement is found in one or more build scripts, CodeQL will use JDK 17. Any files that require JDK 8 and could not be built using JDK 17 will be partially analyzed.\u003c/li\u003e\n\u003cli\u003eAvoid colliding class names (for example, multiple files defining \u003ccode\u003eorg.myproject.Test\u003c/code\u003e), otherwise this may cause missing method call targets, which has an impact on dataflow analysis.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3 id=\"autobuild-summary-for-java\" tabindex=\"-1\"\u003e\u003ca class=\"heading-link\" href=\"#autobuild-summary-for-java\"\u003eAutobuild summary for Java\u003cspan class=\"heading-link-symbol\" aria-hidden=\"true\"\u003e\u003c/span\u003e\u003c/a\u003e\u003c/h3\u003e\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\u003ctable\u003e\u003cthead\u003e\u003ctr\u003e\u003cth scope=\"col\"\u003eSupported system type\u003c/th\u003e\u003cth scope=\"col\"\u003eSystem name\u003c/th\u003e\u003c/tr\u003e\u003c/thead\u003e\u003ctbody\u003e\u003ctr\u003e\u003ctd\u003eOperating system\u003c/td\u003e\u003ctd\u003eWindows, macOS, and Linux (no restriction)\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003eBuild system\u003c/td\u003e\u003ctd\u003eGradle, Maven and Ant\u003c/td\u003e\u003c/tr\u003e\u003c/tbody\u003e\u003c/table\u003e\n\u003ch3 id=\"autodetection-for-java\" tabindex=\"-1\"\u003e\u003ca class=\"heading-link\" href=\"#autodetection-for-java\"\u003eAutodetection for Java\u003cspan class=\"heading-link-symbol\" aria-hidden=\"true\"\u003e\u003c/span\u003e\u003c/a\u003e\u003c/h3\u003e\n\u003cp\u003eThe \u003ccode\u003eautobuild\u003c/code\u003e process tries to determine the build system for Java codebases by applying this strategy:\u003c/p\u003e\n\u003col\u003e\n\u003cli\u003eSearch for a build file in the root directory. Check for Gradle then Maven then Ant build files.\u003c/li\u003e\n\u003cli\u003eRun the first build file found. If both Gradle and Maven files are present, the Gradle file is used.\u003c/li\u003e\n\u003cli\u003eOtherwise, search for build files in direct subdirectories of the root directory. If only one subdirectory contains build files, run the first file identified in that subdirectory (using the same preference as for 1). If more than one subdirectory contains build files, report an error.\u003c/li\u003e\n\u003c/ol\u003e\n\u003ch3 id=\"runner-requirements-for-java\" tabindex=\"-1\"\u003e\u003ca class=\"heading-link\" href=\"#runner-requirements-for-java\"\u003eRunner requirements for Java\u003cspan class=\"heading-link-symbol\" aria-hidden=\"true\"\u003e\u003c/span\u003e\u003c/a\u003e\u003c/h3\u003e\n\u003cp\u003eIf you're using self-hosted runners, the required version(s) of Java should be present:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eIf the runner will be used for analyzing repositories that need a single version of Java, then the appropriate JDK version needs to be installed, and needs to be present in the PATH variable (so that \u003ccode\u003ejava\u003c/code\u003e and \u003ccode\u003ejavac\u003c/code\u003e can be found).\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eIf the runner will be used for analyzing repositories that need multiple versions of Java, then the appropriate JDK versions need to be installed, and can be specified via the \u003ccode\u003etoolchains.xml\u003c/code\u003e file. This is a configuration file, typically used by Apache Maven, that allows you to specify the location of the tools, the version of the tools, and any additional configuration that is required to use the tools. For more information, see \"\u003ca href=\"https://maven.apache.org/guides/mini/guide-using-toolchains.html\"\u003eGuide to Using Toolchains\u003c/a\u003e\" in the Apache Maven documentation.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eThe following executables will likely be required for a range of Java projects, and should be present in the PATH variable, but they will not be essential in all cases:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003emvn\u003c/code\u003e (Apache Maven)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003egradle\u003c/code\u003e (Gradle)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eant\u003c/code\u003e (Apache Ant)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eYou will also need to install the build system (for example \u003ccode\u003emake\u003c/code\u003e, \u003ccode\u003ecmake\u003c/code\u003e, \u003ccode\u003ebazel\u003c/code\u003e) and utilities (such as \u003ccode\u003epython\u003c/code\u003e, \u003ccode\u003eperl\u003c/code\u003e, \u003ccode\u003elex\u003c/code\u003e, and \u003ccode\u003eyacc\u003c/code\u003e) that your projects depend on.\u003c/p\u003e\n\u003cp\u003eWindows runners require \u003ccode\u003epowershell.exe\u003c/code\u003e to be on the \u003ccode\u003ePATH\u003c/code\u003e.\u003c/p\u003e\n\u003ch2 id=\"building-swift\" tabindex=\"-1\"\u003e\u003ca class=\"heading-link\" href=\"#building-swift\"\u003eBuilding Swift\u003cspan class=\"heading-link-symbol\" aria-hidden=\"true\"\u003e\u003c/span\u003e\u003c/a\u003e\u003c/h2\u003e\n\u003cp\u003eCodeQL supports build modes \u003ccode\u003eautobuild\u003c/code\u003e or \u003ccode\u003emanual\u003c/code\u003e for Swift code.\u003c/p\u003e\n\u003ch3 id=\"autobuild-summary-for-swift\" tabindex=\"-1\"\u003e\u003ca class=\"heading-link\" href=\"#autobuild-summary-for-swift\"\u003eAutobuild summary for Swift\u003cspan class=\"heading-link-symbol\" aria-hidden=\"true\"\u003e\u003c/span\u003e\u003c/a\u003e\u003c/h3\u003e\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\u003ctable\u003e\u003cthead\u003e\u003ctr\u003e\u003cth scope=\"col\"\u003eSupported system type\u003c/th\u003e\u003cth scope=\"col\"\u003eSystem name\u003c/th\u003e\u003c/tr\u003e\u003c/thead\u003e\u003ctbody\u003e\u003ctr\u003e\u003ctd\u003eOperating system\u003c/td\u003e\u003ctd\u003emacOS\u003c/td\u003e\u003c/tr\u003e\u003ctr\u003e\u003ctd\u003eBuild system\u003c/td\u003e\u003ctd\u003eXcode\u003c/td\u003e\u003c/tr\u003e\u003c/tbody\u003e\u003c/table\u003e\n\u003cp\u003eThe \u003ccode\u003eautobuild\u003c/code\u003e process tries to build the biggest target from an Xcode project or workspace.\u003c/p\u003e\n\u003cp\u003eCode scanning of Swift code uses macOS runners by default. Since GitHub-hosted macOS runners are more expensive than Linux and Windows runners, we recommend that you build only the code that you want to analyze. For more information about pricing for GitHub-hosted runners, see \"\u003ca href=\"/en/billing/managing-billing-for-github-actions/about-billing-for-github-actions\" _originalHref=\"/billing/managing-billing-for-github-actions/about-billing-for-github-actions\"\u003eAbout billing for GitHub Actions\u003c/a\u003e.\"\u003c/p\u003e\n\u003cp\u003eCode scanning of Swift code is not supported for runners that are part of an Actions Runner Controller (ARC), because ARC runners only use Linux and Swift requires macOS runners. However, you can have a mixture of both ARC runners and self-hosted macOS runners. For more information, see \"\u003ca href=\"/en/actions/hosting-your-own-runners/managing-self-hosted-runners-with-actions-runner-controller/about-actions-runner-controller\" _originalHref=\"/actions/hosting-your-own-runners/managing-self-hosted-runners-with-actions-runner-controller/about-actions-runner-controller\"\u003eAbout Actions Runner Controller\u003c/a\u003e.\"\u003c/p\u003e\n\u003ch3 id=\"customizing-swift-compilation-in-a-codeql-analysis-workflow\" tabindex=\"-1\"\u003e\u003ca class=\"heading-link\" href=\"#customizing-swift-compilation-in-a-codeql-analysis-workflow\"\u003eCustomizing Swift compilation in a CodeQL analysis workflow\u003cspan class=\"heading-link-symbol\" aria-hidden=\"true\"\u003e\u003c/span\u003e\u003c/a\u003e\u003c/h3\u003e\n\u003cp\u003e\u003ccode\u003excodebuild\u003c/code\u003e and \u003ccode\u003eswift build\u003c/code\u003e are both supported for Swift builds. We recommend only targeting one architecture during the build. For example, \u003ccode\u003eARCH=arm64\u003c/code\u003e for \u003ccode\u003excodebuild\u003c/code\u003e, or \u003ccode\u003e--arch arm64\u003c/code\u003e for \u003ccode\u003eswift build\u003c/code\u003e.\u003c/p\u003e\n\u003cp\u003eYou can pass the \u003ccode\u003earchive\u003c/code\u003e and \u003ccode\u003etest\u003c/code\u003e options to \u003ccode\u003excodebuild\u003c/code\u003e. However, the standard \u003ccode\u003excodebuild\u003c/code\u003e command is recommended as it should be the fastest, and should be all that CodeQL requires for a successful scan.\u003c/p\u003e\n\u003cp\u003eFor Swift analysis, you must always explicitly install dependencies managed via CocoaPods or Carthage before generating the CodeQL database.\u003c/p\u003e","miniTocItems":[{"contents":{"href":"#about-the-codeql-analysis-workflow-and-compiled-languages","title":"About the CodeQL analysis workflow and compiled languages"}},{"contents":{"href":"#codeql-build-modes","title":"CodeQL build modes"}},{"contents":{"href":"#about-build-mode-none-for-codeql","title":"About build mode None for CodeQL"}},{"contents":{"href":"#about-autobuild-for-codeql","title":"About Autobuild for CodeQL"}},{"contents":{"href":"#about-specifying-build-steps-manually","title":"About specifying build steps manually"}},{"contents":{"href":"#autobuild-steps-for-compiled-languages","title":"Autobuild steps for compiled languages"}},{"contents":{"href":"#building-cc","title":"Building C/C++"}},{"contents":{"href":"#building-c","title":"Building C#"}},{"contents":{"href":"#building-go","title":"Building Go"}},{"contents":{"href":"#building-java-and-kotlin","title":"Building Java and Kotlin"}},{"contents":{"href":"#building-swift","title":"Building Swift"}}],"permissions":"\u003cp\u003eUsers with \u003cstrong\u003ewrite\u003c/strong\u003e access if \u003ca href=\"/en/code-security/code-scanning/creating-an-advanced-setup-for-code-scanning/configuring-advanced-setup-for-code-scanning\" _originalHref=\"/code-security/code-scanning/creating-an-advanced-setup-for-code-scanning/configuring-advanced-setup-for-code-scanning\"\u003eadvanced setup\u003c/a\u003e is already enabled\u003c/p\u003e","includesPlatformSpecificContent":false,"includesToolSpecificContent":false,"defaultPlatform":"","defaultTool":"","product":"\u003cp\u003eCode scanning is available for the following repository types:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003ePublic repositories on GitHub.com\u003c/li\u003e\n\u003cli\u003eOrganization-owned repositories on GitHub Enterprise Cloud with \u003ca href=\"/en/get-started/learning-about-github/about-github-advanced-security\" _originalHref=\"/get-started/learning-about-github/about-github-advanced-security\"\u003eGitHub Advanced Security\u003c/a\u003e enabled\u003c/li\u003e\n\u003c/ul\u003e","productVideoUrl":"","currentLearningTrack":null,"detectedPlatforms":[],"detectedTools":[],"allTools":{"agents":"Agents","api":"API","azure_data_studio":"Azure Data Studio","bash":"Bash","cli":"GitHub CLI","codespaces":"Codespaces","curl":"curl","desktop":"Desktop","importer_cli":"GitHub Enterprise Importer CLI","javascript":"JavaScript","jetbrains":"JetBrains IDEs","jetbrains_beta":"JetBrains IDEs (Beta)","skillsets":"Skillsets","vimneovim":"Vim/Neovim","powershell":"PowerShell","visualstudio":"Visual Studio","vscode":"Visual Studio Code","webui":"Web browser","windowsterminal":"Windows Terminal","xcode":"Xcode"},"supportPortalVaIframeProps":{"supportPortalUrl":"https://support.github.com","vaFlowUrlParameter":""},"currentLayout":"default"}},"languagesContext":{"languages":{"en":{"name":"English","code":"en"},"zh":{"name":"Simplified Chinese","code":"zh","hreflang":"zh-Hans","nativeName":"简体中文"},"es":{"name":"Spanish","code":"es","nativeName":"Español"},"pt":{"name":"Portuguese","code":"pt","nativeName":"Português do Brasil"},"ru":{"name":"Russian","code":"ru","nativeName":"Русский"},"ja":{"name":"Japanese","code":"ja","nativeName":"日本語"},"fr":{"name":"French","code":"fr","nativeName":"Français"},"de":{"name":"German","code":"de","nativeName":"Deutsch"},"ko":{"name":"Korean","code":"ko","nativeName":"한국어"}}},"__N_SSP":true},"page":"/[versionId]/[productId]/[...restPage]","query":{"versionId":"free-pro-team@latest","productId":"code-security","restPage":["code-scanning","creating-an-advanced-setup-for-code-scanning","codeql-code-scanning-for-compiled-languages"]},"buildId":"LU1a4V_oZAzyRc7RojISL","isFallback":false,"isExperimentalCompile":false,"gssp":true,"appGip":true,"locale":"en","locales":["en","zh","es","pt","ru","ja","fr","de","ko"],"defaultLocale":"en","scriptLoader":[]}</script></body></html>