CINXE.COM

<!DOCTYPE html><html data-color-mode="auto" data-light-theme="light" data-dark-theme="dark" lang="en"><head><meta charSet="utf-8" data-next-head=""/><meta name="viewport" content="width=device-width, initial-scale=1" data-next-head=""/><link rel="icon" type="image/png" href="/assets/cb-345/images/site/favicon.png" data-next-head=""/><link href="/manifest.json" rel="manifest" data-next-head=""/><meta name="google-site-verification" content="c1kuD-K2HIVF635lypcsWPoD4kilo5-jA_wBFyT4uMY" data-next-head=""/><title data-next-head="">Deploying to Azure Static Web App - GitHub Docs</title><meta name="description" content="You can deploy your web app to Azure Static Web App as part of your continuous deployment (CD) workflows." data-next-head=""/><link rel="alternate" hrefLang="zh-Hans" href="https://docs.github.com/zh/actions/use-cases-and-examples/deploying/deploying-to-azure-static-web-app" data-next-head=""/><link rel="alternate" hrefLang="es" href="https://docs.github.com/es/actions/use-cases-and-examples/deploying/deploying-to-azure-static-web-app" data-next-head=""/><link rel="alternate" hrefLang="pt" href="https://docs.github.com/pt/actions/use-cases-and-examples/deploying/deploying-to-azure-static-web-app" data-next-head=""/><link rel="alternate" hrefLang="ru" href="https://docs.github.com/ru/actions/use-cases-and-examples/deploying/deploying-to-azure-static-web-app" data-next-head=""/><link rel="alternate" hrefLang="ja" href="https://docs.github.com/ja/actions/use-cases-and-examples/deploying/deploying-to-azure-static-web-app" data-next-head=""/><link rel="alternate" hrefLang="fr" href="https://docs.github.com/fr/actions/use-cases-and-examples/deploying/deploying-to-azure-static-web-app" data-next-head=""/><link rel="alternate" hrefLang="de" href="https://docs.github.com/de/actions/use-cases-and-examples/deploying/deploying-to-azure-static-web-app" data-next-head=""/><link rel="alternate" hrefLang="ko" href="https://docs.github.com/ko/actions/use-cases-and-examples/deploying/deploying-to-azure-static-web-app" data-next-head=""/><meta name="keywords" content="CD,Azure Static Web Apps" data-next-head=""/><meta name="path-language" content="en" data-next-head=""/><meta name="path-version" content="free-pro-team@latest" data-next-head=""/><meta name="path-product" content="actions" data-next-head=""/><meta name="path-article" content="actions/use-cases-and-examples/deploying/deploying-to-azure-static-web-app" data-next-head=""/><meta name="page-type" content="tutorial" data-next-head=""/><meta name="page-document-type" content="article" data-next-head=""/><meta name="status" content="200" data-next-head=""/><meta property="og:site_name" content="GitHub Docs" data-next-head=""/><meta property="og:title" content="Deploying to Azure Static Web App - GitHub Docs" data-next-head=""/><meta property="og:type" content="article" data-next-head=""/><meta property="og:url" content="https://docs-internal.github.com/en/actions/use-cases-and-examples/deploying/deploying-to-azure-static-web-app" data-next-head=""/><meta property="og:image" content="https://github.githubassets.com/images/modules/open_graph/github-logo.png" data-next-head=""/><link rel="preload" href="/_next/static/css/befc662d3a7d0204.css" as="style"/><link rel="stylesheet" href="/_next/static/css/befc662d3a7d0204.css" data-n-g=""/><link rel="preload" href="/_next/static/css/c48aebeabc14a7b5.css" as="style"/><link rel="stylesheet" href="/_next/static/css/c48aebeabc14a7b5.css" data-n-p=""/><noscript data-n-css=""></noscript><script defer="" nomodule="" src="/_next/static/chunks/polyfills-42372ed130431b0a.js"></script><script src="/_next/static/chunks/webpack-8641fa8367109a81.js" defer=""></script><script src="/_next/static/chunks/framework-19baaf6675f9027b.js" defer=""></script><script src="/_next/static/chunks/main-a2c1e924d9046c3c.js" defer=""></script><script src="/_next/static/chunks/pages/_app-ed2149ad90aeada5.js" defer=""></script><script src="/_next/static/chunks/727f57db-4bd4b01815458cf5.js" defer=""></script><script src="/_next/static/chunks/4197-10db3e81f24542eb.js" defer=""></script><script src="/_next/static/chunks/2872-eaff82eddfa86435.js" defer=""></script><script src="/_next/static/chunks/690-9f438af70d12addb.js" defer=""></script><script src="/_next/static/chunks/3460-dd9d4ed72839fb08.js" defer=""></script><script src="/_next/static/chunks/824-cd3224cdbacbc6e5.js" defer=""></script><script src="/_next/static/chunks/7685-9ca829555005f024.js" defer=""></script><script src="/_next/static/chunks/pages/%5BversionId%5D/%5BproductId%5D/%5B...restPage%5D-800cc696b967ab14.js" defer=""></script><script src="/_next/static/PNjGjP5MHlc4ECJ_bgyzz/_buildManifest.js" defer=""></script><script src="/_next/static/PNjGjP5MHlc4ECJ_bgyzz/_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*/ .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,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" style="row-gap:1rem" 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" display="inline-block" overflow="visible" style="vertical-align:text-bottom"><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, &amp; 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" display="inline-block" overflow="visible" style="vertical-align:text-bottom"><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="OldHeaderSearchAndWidgets_searchContainerWithClosedSearch__Lkq6t 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" display="inline-block" overflow="visible" style="vertical-align:text-bottom"><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" display="inline-block" overflow="visible" style="vertical-align:text-bottom"><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" display="inline-block" overflow="visible" style="vertical-align:text-bottom"><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" display="inline-block" overflow="visible" style="vertical-align:text-bottom"><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" display="inline-block" overflow="visible" style="vertical-align:text-bottom"><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" display="inline-block" overflow="visible" style="vertical-align:text-bottom"><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="GitHub Actions" class="Link--primary mr-2 color-fg-muted" href="/en/actions">GitHub Actions</a><span class="color-fg-muted pr-2">/</span></li><li class="d-inline-block"><a rel="" data-testid="breadcrumb-link" title="Use cases and examples" class="Link--primary mr-2 color-fg-muted" href="/en/actions/use-cases-and-examples">Use cases and examples</a><span class="color-fg-muted pr-2">/</span></li><li class="d-inline-block"><a rel="" data-testid="breadcrumb-link" title="Deployment" class="Link--primary mr-2 color-fg-muted" href="/en/actions/use-cases-and-examples/deploying">Deployment</a><span class="color-fg-muted pr-2">/</span></li><li class="d-inline-block"><a rel="" data-testid="breadcrumb-link" title="Deploying to Azure Static Web App" class="Link--primary mr-2 color-fg-muted" href="/en/actions/use-cases-and-examples/deploying/deploying-to-azure-static-web-app">Deploying to Azure Static Web App</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="octicon octicon-arrow-left mr-1" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" display="inline-block" overflow="visible" style="vertical-align:text-bottom"><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/actions">GitHub Actions</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">About GitHub Actions</span><span class="Box-sc-g0xbh4-0 lmYNOb"><svg sx="[object Object]" aria-hidden="true" focusable="false" class="octicon octicon-chevron-down Octicon-sc-9kayk9-0 daAEFx" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" display="inline-block" overflow="visible" style="vertical-align:text-bottom"><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=":R1l3b6n6:--label " id=":R1l3b6n6:" aria-current="false" class="Link__StyledLink-sc-14289xe-0 fuIgwR" href="/en/actions/about-github-actions/understanding-github-actions"><div data-component="ActionList.Item--DividerContainer" class="Box-sc-g0xbh4-0 hROlum"><span id=":R1l3b6n6:--label" class="Box-sc-g0xbh4-0 bmseMA">Understand GitHub Actions</span></div></a></li><li class="Item__LiBox-sc-yeql7o-0 lnYQME"><a sx="[object Object]" tabindex="0" aria-labelledby=":R2l3b6n6:--label " id=":R2l3b6n6:" aria-current="false" class="Link__StyledLink-sc-14289xe-0 fuIgwR" href="/en/actions/about-github-actions/about-continuous-integration-with-github-actions"><div data-component="ActionList.Item--DividerContainer" class="Box-sc-g0xbh4-0 hROlum"><span id=":R2l3b6n6:--label" class="Box-sc-g0xbh4-0 bmseMA">Continuous integration</span></div></a></li><li class="Item__LiBox-sc-yeql7o-0 lnYQME"><a sx="[object Object]" tabindex="0" aria-labelledby=":R3l3b6n6:--label " id=":R3l3b6n6:" aria-current="false" class="Link__StyledLink-sc-14289xe-0 fuIgwR" href="/en/actions/about-github-actions/about-continuous-deployment-with-github-actions"><div data-component="ActionList.Item--DividerContainer" class="Box-sc-g0xbh4-0 hROlum"><span id=":R3l3b6n6:--label" class="Box-sc-g0xbh4-0 bmseMA">Continuous deployment</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">Write workflows</span><span class="Box-sc-g0xbh4-0 lmYNOb"><svg sx="[object Object]" aria-hidden="true" focusable="false" class="octicon octicon-chevron-down Octicon-sc-9kayk9-0 daAEFx" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" display="inline-block" overflow="visible" style="vertical-align:text-bottom"><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 class="Item__LiBox-sc-yeql7o-0 lnYQME"><a sx="[object Object]" tabindex="0" aria-labelledby=":R1l5b6n6:--label " id=":R1l5b6n6:" aria-current="false" class="Link__StyledLink-sc-14289xe-0 fuIgwR" href="/en/actions/writing-workflows/quickstart"><div data-component="ActionList.Item--DividerContainer" class="Box-sc-g0xbh4-0 hROlum"><span id=":R1l5b6n6:--label" class="Box-sc-g0xbh4-0 bmseMA">Quickstart</span></div></a></li><li class="Item__LiBox-sc-yeql7o-0 lnYQME"><a sx="[object Object]" tabindex="0" aria-labelledby=":R2l5b6n6:--label " id=":R2l5b6n6:" aria-current="false" class="Link__StyledLink-sc-14289xe-0 fuIgwR" href="/en/actions/writing-workflows/about-workflows"><div data-component="ActionList.Item--DividerContainer" class="Box-sc-g0xbh4-0 hROlum"><span id=":R2l5b6n6:--label" class="Box-sc-g0xbh4-0 bmseMA">About workflows</span></div></a></li><li class="Item__LiBox-sc-yeql7o-0 lnYQME"><a sx="[object Object]" tabindex="0" aria-labelledby=":R3l5b6n6:--label " id=":R3l5b6n6:" aria-current="false" class="Link__StyledLink-sc-14289xe-0 fuIgwR" href="/en/actions/writing-workflows/using-workflow-templates"><div data-component="ActionList.Item--DividerContainer" class="Box-sc-g0xbh4-0 hROlum"><span id=":R3l5b6n6:--label" class="Box-sc-g0xbh4-0 bmseMA">Use workflow templates</span></div></a></li><li aria-labelledby=":R4l5b6n6:" class="Box-sc-g0xbh4-0 Ywlla"><button tabindex="0" aria-labelledby=":R4l5b6n6:--label " id=":R4l5b6n6:" aria-expanded="false" aria-controls=":R4l5b6n6H1:" 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=":R4l5b6n6:--label" class="Box-sc-g0xbh4-0 bmseMA">Choose when workflows run</span><span class="Box-sc-g0xbh4-0 lmYNOb"><svg sx="[object Object]" aria-hidden="true" focusable="false" class="octicon octicon-chevron-down Octicon-sc-9kayk9-0 daAEFx" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" display="inline-block" overflow="visible" style="vertical-align:text-bottom"><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=":R4l5b6n6H1:" aria-labelledby=":R4l5b6n6:" class="Box-sc-g0xbh4-0 gMkIpo"><li class="Item__LiBox-sc-yeql7o-0 lnYQME"><a sx="[object Object]" tabindex="0" aria-labelledby=":Rdcl5b6n6:--label " id=":Rdcl5b6n6:" aria-current="false" class="Link__StyledLink-sc-14289xe-0 dibTck" href="/en/actions/writing-workflows/choosing-when-your-workflow-runs/triggering-a-workflow"><div data-component="ActionList.Item--DividerContainer" class="Box-sc-g0xbh4-0 hROlum"><span id=":Rdcl5b6n6:--label" class="Box-sc-g0xbh4-0 bmseMA">Trigger a workflow</span></div></a></li><li class="Item__LiBox-sc-yeql7o-0 lnYQME"><a sx="[object Object]" tabindex="0" aria-labelledby=":Rlcl5b6n6:--label " id=":Rlcl5b6n6:" aria-current="false" class="Link__StyledLink-sc-14289xe-0 dibTck" href="/en/actions/writing-workflows/choosing-when-your-workflow-runs/using-conditions-to-control-job-execution"><div data-component="ActionList.Item--DividerContainer" class="Box-sc-g0xbh4-0 hROlum"><span id=":Rlcl5b6n6:--label" class="Box-sc-g0xbh4-0 bmseMA">Use conditions to control job execution</span></div></a></li><li class="Item__LiBox-sc-yeql7o-0 lnYQME"><a sx="[object Object]" tabindex="0" aria-labelledby=":Rtcl5b6n6:--label " id=":Rtcl5b6n6:" aria-current="false" class="Link__StyledLink-sc-14289xe-0 dibTck" href="/en/actions/writing-workflows/choosing-when-your-workflow-runs/events-that-trigger-workflows"><div data-component="ActionList.Item--DividerContainer" class="Box-sc-g0xbh4-0 hROlum"><span id=":Rtcl5b6n6:--label" class="Box-sc-g0xbh4-0 bmseMA">Events that trigger workflows</span></div></a></li></ul></div></li><li aria-labelledby=":R5l5b6n6:" class="Box-sc-g0xbh4-0 Ywlla"><button tabindex="0" aria-labelledby=":R5l5b6n6:--label " id=":R5l5b6n6:" aria-expanded="false" aria-controls=":R5l5b6n6H1:" 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=":R5l5b6n6:--label" class="Box-sc-g0xbh4-0 bmseMA">Choose where workflows run</span><span class="Box-sc-g0xbh4-0 lmYNOb"><svg sx="[object Object]" aria-hidden="true" focusable="false" class="octicon octicon-chevron-down Octicon-sc-9kayk9-0 daAEFx" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" display="inline-block" overflow="visible" style="vertical-align:text-bottom"><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=":R5l5b6n6H1:" aria-labelledby=":R5l5b6n6:" class="Box-sc-g0xbh4-0 gMkIpo"><li class="Item__LiBox-sc-yeql7o-0 lnYQME"><a sx="[object Object]" tabindex="0" aria-labelledby=":Rddl5b6n6:--label " id=":Rddl5b6n6:" aria-current="false" class="Link__StyledLink-sc-14289xe-0 dibTck" href="/en/actions/writing-workflows/choosing-where-your-workflow-runs/choosing-the-runner-for-a-job"><div data-component="ActionList.Item--DividerContainer" class="Box-sc-g0xbh4-0 hROlum"><span id=":Rddl5b6n6:--label" class="Box-sc-g0xbh4-0 bmseMA">Choose the runner for a job</span></div></a></li><li class="Item__LiBox-sc-yeql7o-0 lnYQME"><a sx="[object Object]" tabindex="0" aria-labelledby=":Rldl5b6n6:--label " id=":Rldl5b6n6:" aria-current="false" class="Link__StyledLink-sc-14289xe-0 dibTck" href="/en/actions/writing-workflows/choosing-where-your-workflow-runs/running-jobs-in-a-container"><div data-component="ActionList.Item--DividerContainer" class="Box-sc-g0xbh4-0 hROlum"><span id=":Rldl5b6n6:--label" class="Box-sc-g0xbh4-0 bmseMA">Run jobs in a container</span></div></a></li></ul></div></li><li aria-labelledby=":R6l5b6n6:" class="Box-sc-g0xbh4-0 Ywlla"><button tabindex="0" aria-labelledby=":R6l5b6n6:--label " id=":R6l5b6n6:" aria-expanded="false" aria-controls=":R6l5b6n6H1:" 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=":R6l5b6n6:--label" class="Box-sc-g0xbh4-0 bmseMA">Choose what workflows do</span><span class="Box-sc-g0xbh4-0 lmYNOb"><svg sx="[object Object]" aria-hidden="true" focusable="false" class="octicon octicon-chevron-down Octicon-sc-9kayk9-0 daAEFx" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" display="inline-block" overflow="visible" style="vertical-align:text-bottom"><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=":R6l5b6n6H1:" aria-labelledby=":R6l5b6n6:" class="Box-sc-g0xbh4-0 gMkIpo"><li class="Item__LiBox-sc-yeql7o-0 lnYQME"><a sx="[object Object]" tabindex="0" aria-labelledby=":Rdel5b6n6:--label " id=":Rdel5b6n6:" aria-current="false" class="Link__StyledLink-sc-14289xe-0 dibTck" href="/en/actions/writing-workflows/choosing-what-your-workflow-does/using-jobs-in-a-workflow"><div data-component="ActionList.Item--DividerContainer" class="Box-sc-g0xbh4-0 hROlum"><span id=":Rdel5b6n6:--label" class="Box-sc-g0xbh4-0 bmseMA">Use jobs in a workflow</span></div></a></li><li class="Item__LiBox-sc-yeql7o-0 lnYQME"><a sx="[object Object]" tabindex="0" aria-labelledby=":Rlel5b6n6:--label " id=":Rlel5b6n6:" aria-current="false" class="Link__StyledLink-sc-14289xe-0 dibTck" href="/en/actions/writing-workflows/choosing-what-your-workflow-does/using-pre-written-building-blocks-in-your-workflow"><div data-component="ActionList.Item--DividerContainer" class="Box-sc-g0xbh4-0 hROlum"><span id=":Rlel5b6n6:--label" class="Box-sc-g0xbh4-0 bmseMA">Find and customize actions</span></div></a></li><li class="Item__LiBox-sc-yeql7o-0 lnYQME"><a sx="[object Object]" tabindex="0" aria-labelledby=":Rtel5b6n6:--label " id=":Rtel5b6n6:" aria-current="false" class="Link__StyledLink-sc-14289xe-0 dibTck" href="/en/actions/writing-workflows/choosing-what-your-workflow-does/using-github-cli-in-workflows"><div data-component="ActionList.Item--DividerContainer" class="Box-sc-g0xbh4-0 hROlum"><span id=":Rtel5b6n6:--label" class="Box-sc-g0xbh4-0 bmseMA">GitHub CLI in workflows</span></div></a></li><li class="Item__LiBox-sc-yeql7o-0 lnYQME"><a sx="[object Object]" tabindex="0" aria-labelledby=":R15el5b6n6:--label " id=":R15el5b6n6:" aria-current="false" class="Link__StyledLink-sc-14289xe-0 dibTck" href="/en/actions/writing-workflows/choosing-what-your-workflow-does/workflow-commands-for-github-actions"><div data-component="ActionList.Item--DividerContainer" class="Box-sc-g0xbh4-0 hROlum"><span id=":R15el5b6n6:--label" class="Box-sc-g0xbh4-0 bmseMA">Workflow commands</span></div></a></li><li class="Item__LiBox-sc-yeql7o-0 lnYQME"><a sx="[object Object]" tabindex="0" aria-labelledby=":R1del5b6n6:--label " id=":R1del5b6n6:" aria-current="false" class="Link__StyledLink-sc-14289xe-0 dibTck" href="/en/actions/writing-workflows/choosing-what-your-workflow-does/adding-scripts-to-your-workflow"><div data-component="ActionList.Item--DividerContainer" class="Box-sc-g0xbh4-0 hROlum"><span id=":R1del5b6n6:--label" class="Box-sc-g0xbh4-0 bmseMA">Add scripts</span></div></a></li><li class="Item__LiBox-sc-yeql7o-0 lnYQME"><a sx="[object Object]" tabindex="0" aria-labelledby=":R1lel5b6n6:--label " id=":R1lel5b6n6:" aria-current="false" class="Link__StyledLink-sc-14289xe-0 dibTck" href="/en/actions/writing-workflows/choosing-what-your-workflow-does/controlling-permissions-for-github_token"><div data-component="ActionList.Item--DividerContainer" class="Box-sc-g0xbh4-0 hROlum"><span id=":R1lel5b6n6:--label" class="Box-sc-g0xbh4-0 bmseMA">Permissions for `GITHUB_TOKEN`</span></div></a></li><li class="Item__LiBox-sc-yeql7o-0 lnYQME"><a sx="[object Object]" tabindex="0" aria-labelledby=":R1tel5b6n6:--label " id=":R1tel5b6n6:" aria-current="false" class="Link__StyledLink-sc-14289xe-0 dibTck" href="/en/actions/writing-workflows/choosing-what-your-workflow-does/evaluate-expressions-in-workflows-and-actions"><div data-component="ActionList.Item--DividerContainer" class="Box-sc-g0xbh4-0 hROlum"><span id=":R1tel5b6n6:--label" class="Box-sc-g0xbh4-0 bmseMA">Expressions</span></div></a></li><li class="Item__LiBox-sc-yeql7o-0 lnYQME"><a sx="[object Object]" tabindex="0" aria-labelledby=":R25el5b6n6:--label " id=":R25el5b6n6:" aria-current="false" class="Link__StyledLink-sc-14289xe-0 dibTck" href="/en/actions/writing-workflows/choosing-what-your-workflow-does/store-information-in-variables"><div data-component="ActionList.Item--DividerContainer" class="Box-sc-g0xbh4-0 hROlum"><span id=":R25el5b6n6:--label" class="Box-sc-g0xbh4-0 bmseMA">Variables</span></div></a></li><li class="Item__LiBox-sc-yeql7o-0 lnYQME"><a sx="[object Object]" tabindex="0" aria-labelledby=":R2del5b6n6:--label " id=":R2del5b6n6:" aria-current="false" class="Link__StyledLink-sc-14289xe-0 dibTck" href="/en/actions/writing-workflows/choosing-what-your-workflow-does/accessing-contextual-information-about-workflow-runs"><div data-component="ActionList.Item--DividerContainer" class="Box-sc-g0xbh4-0 hROlum"><span id=":R2del5b6n6:--label" class="Box-sc-g0xbh4-0 bmseMA">Contexts</span></div></a></li><li class="Item__LiBox-sc-yeql7o-0 lnYQME"><a sx="[object Object]" tabindex="0" aria-labelledby=":R2lel5b6n6:--label " id=":R2lel5b6n6:" aria-current="false" class="Link__StyledLink-sc-14289xe-0 dibTck" href="/en/actions/writing-workflows/choosing-what-your-workflow-does/passing-information-between-jobs"><div data-component="ActionList.Item--DividerContainer" class="Box-sc-g0xbh4-0 hROlum"><span id=":R2lel5b6n6:--label" class="Box-sc-g0xbh4-0 bmseMA">Pass information</span></div></a></li><li class="Item__LiBox-sc-yeql7o-0 lnYQME"><a sx="[object Object]" tabindex="0" aria-labelledby=":R2tel5b6n6:--label " id=":R2tel5b6n6:" aria-current="false" class="Link__StyledLink-sc-14289xe-0 dibTck" href="/en/actions/writing-workflows/choosing-what-your-workflow-does/setting-a-default-shell-and-working-directory"><div data-component="ActionList.Item--DividerContainer" class="Box-sc-g0xbh4-0 hROlum"><span id=":R2tel5b6n6:--label" class="Box-sc-g0xbh4-0 bmseMA">Set default values for jobs</span></div></a></li><li class="Item__LiBox-sc-yeql7o-0 lnYQME"><a sx="[object Object]" tabindex="0" aria-labelledby=":R35el5b6n6:--label " id=":R35el5b6n6:" aria-current="false" class="Link__StyledLink-sc-14289xe-0 dibTck" href="/en/actions/writing-workflows/choosing-what-your-workflow-does/using-environments-for-deployment"><div data-component="ActionList.Item--DividerContainer" class="Box-sc-g0xbh4-0 hROlum"><span id=":R35el5b6n6:--label" class="Box-sc-g0xbh4-0 bmseMA">Environments</span></div></a></li><li class="Item__LiBox-sc-yeql7o-0 lnYQME"><a sx="[object Object]" tabindex="0" aria-labelledby=":R3del5b6n6:--label " id=":R3del5b6n6:" aria-current="false" class="Link__StyledLink-sc-14289xe-0 dibTck" href="/en/actions/writing-workflows/choosing-what-your-workflow-does/control-the-concurrency-of-workflows-and-jobs"><div data-component="ActionList.Item--DividerContainer" class="Box-sc-g0xbh4-0 hROlum"><span id=":R3del5b6n6:--label" class="Box-sc-g0xbh4-0 bmseMA">Concurrency</span></div></a></li><li class="Item__LiBox-sc-yeql7o-0 lnYQME"><a sx="[object Object]" tabindex="0" aria-labelledby=":R3lel5b6n6:--label " id=":R3lel5b6n6:" aria-current="false" class="Link__StyledLink-sc-14289xe-0 dibTck" href="/en/actions/writing-workflows/choosing-what-your-workflow-does/running-variations-of-jobs-in-a-workflow"><div data-component="ActionList.Item--DividerContainer" class="Box-sc-g0xbh4-0 hROlum"><span id=":R3lel5b6n6:--label" class="Box-sc-g0xbh4-0 bmseMA">Run job variations</span></div></a></li><li class="Item__LiBox-sc-yeql7o-0 lnYQME"><a sx="[object Object]" tabindex="0" aria-labelledby=":R3tel5b6n6:--label " id=":R3tel5b6n6:" aria-current="false" class="Link__StyledLink-sc-14289xe-0 dibTck" href="/en/actions/writing-workflows/choosing-what-your-workflow-does/caching-dependencies-to-speed-up-workflows"><div data-component="ActionList.Item--DividerContainer" class="Box-sc-g0xbh4-0 hROlum"><span id=":R3tel5b6n6:--label" class="Box-sc-g0xbh4-0 bmseMA">Cache dependencies</span></div></a></li><li class="Item__LiBox-sc-yeql7o-0 lnYQME"><a sx="[object Object]" tabindex="0" aria-labelledby=":R45el5b6n6:--label " id=":R45el5b6n6:" aria-current="false" class="Link__StyledLink-sc-14289xe-0 dibTck" href="/en/actions/writing-workflows/choosing-what-your-workflow-does/storing-and-sharing-data-from-a-workflow"><div data-component="ActionList.Item--DividerContainer" class="Box-sc-g0xbh4-0 hROlum"><span id=":R45el5b6n6:--label" class="Box-sc-g0xbh4-0 bmseMA">Store artifacts</span></div></a></li></ul></div></li><li class="Item__LiBox-sc-yeql7o-0 lnYQME"><a sx="[object Object]" tabindex="0" aria-labelledby=":R7l5b6n6:--label " id=":R7l5b6n6:" aria-current="false" class="Link__StyledLink-sc-14289xe-0 fuIgwR" href="/en/actions/writing-workflows/workflow-syntax-for-github-actions"><div data-component="ActionList.Item--DividerContainer" class="Box-sc-g0xbh4-0 hROlum"><span id=":R7l5b6n6:--label" class="Box-sc-g0xbh4-0 bmseMA">Workflow syntax</span></div></a></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">Manage workflows and deployments</span><span class="Box-sc-g0xbh4-0 lmYNOb"><svg sx="[object Object]" aria-hidden="true" focusable="false" class="octicon octicon-chevron-down Octicon-sc-9kayk9-0 daAEFx" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" display="inline-block" overflow="visible" style="vertical-align:text-bottom"><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=":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">Manage workflow runs</span><span class="Box-sc-g0xbh4-0 lmYNOb"><svg sx="[object Object]" aria-hidden="true" focusable="false" class="octicon octicon-chevron-down Octicon-sc-9kayk9-0 daAEFx" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" display="inline-block" overflow="visible" style="vertical-align:text-bottom"><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=":R6ll7b6n6:--label " id=":R6ll7b6n6:" aria-current="false" class="Link__StyledLink-sc-14289xe-0 dibTck" href="/en/actions/managing-workflow-runs-and-deployments/managing-workflow-runs/manually-running-a-workflow"><div data-component="ActionList.Item--DividerContainer" class="Box-sc-g0xbh4-0 hROlum"><span id=":R6ll7b6n6:--label" class="Box-sc-g0xbh4-0 bmseMA">Manually run a workflow</span></div></a></li><li class="Item__LiBox-sc-yeql7o-0 lnYQME"><a sx="[object Object]" tabindex="0" aria-labelledby=":Rall7b6n6:--label " id=":Rall7b6n6:" aria-current="false" class="Link__StyledLink-sc-14289xe-0 dibTck" href="/en/actions/managing-workflow-runs-and-deployments/managing-workflow-runs/re-running-workflows-and-jobs"><div data-component="ActionList.Item--DividerContainer" class="Box-sc-g0xbh4-0 hROlum"><span id=":Rall7b6n6:--label" class="Box-sc-g0xbh4-0 bmseMA">Re-run workflows and jobs</span></div></a></li><li class="Item__LiBox-sc-yeql7o-0 lnYQME"><a sx="[object Object]" tabindex="0" aria-labelledby=":Rell7b6n6:--label " id=":Rell7b6n6:" aria-current="false" class="Link__StyledLink-sc-14289xe-0 dibTck" href="/en/actions/managing-workflow-runs-and-deployments/managing-workflow-runs/canceling-a-workflow"><div data-component="ActionList.Item--DividerContainer" class="Box-sc-g0xbh4-0 hROlum"><span id=":Rell7b6n6:--label" class="Box-sc-g0xbh4-0 bmseMA">Cancel a workflow</span></div></a></li><li class="Item__LiBox-sc-yeql7o-0 lnYQME"><a sx="[object Object]" tabindex="0" aria-labelledby=":Rill7b6n6:--label " id=":Rill7b6n6:" aria-current="false" class="Link__StyledLink-sc-14289xe-0 dibTck" href="/en/actions/managing-workflow-runs-and-deployments/managing-workflow-runs/disabling-and-enabling-a-workflow"><div data-component="ActionList.Item--DividerContainer" class="Box-sc-g0xbh4-0 hROlum"><span id=":Rill7b6n6:--label" class="Box-sc-g0xbh4-0 bmseMA">Disable &amp; enable a workflow</span></div></a></li><li class="Item__LiBox-sc-yeql7o-0 lnYQME"><a sx="[object Object]" tabindex="0" aria-labelledby=":Rmll7b6n6:--label " id=":Rmll7b6n6:" aria-current="false" class="Link__StyledLink-sc-14289xe-0 dibTck" href="/en/actions/managing-workflow-runs-and-deployments/managing-workflow-runs/skipping-workflow-runs"><div data-component="ActionList.Item--DividerContainer" class="Box-sc-g0xbh4-0 hROlum"><span id=":Rmll7b6n6:--label" class="Box-sc-g0xbh4-0 bmseMA">Skip workflow runs</span></div></a></li><li class="Item__LiBox-sc-yeql7o-0 lnYQME"><a sx="[object Object]" tabindex="0" aria-labelledby=":Rqll7b6n6:--label " id=":Rqll7b6n6:" aria-current="false" class="Link__StyledLink-sc-14289xe-0 dibTck" href="/en/actions/managing-workflow-runs-and-deployments/managing-workflow-runs/deleting-a-workflow-run"><div data-component="ActionList.Item--DividerContainer" class="Box-sc-g0xbh4-0 hROlum"><span id=":Rqll7b6n6:--label" class="Box-sc-g0xbh4-0 bmseMA">Delete a workflow run</span></div></a></li><li class="Item__LiBox-sc-yeql7o-0 lnYQME"><a sx="[object Object]" tabindex="0" aria-labelledby=":Rull7b6n6:--label " id=":Rull7b6n6:" aria-current="false" class="Link__StyledLink-sc-14289xe-0 dibTck" href="/en/actions/managing-workflow-runs-and-deployments/managing-workflow-runs/downloading-workflow-artifacts"><div data-component="ActionList.Item--DividerContainer" class="Box-sc-g0xbh4-0 hROlum"><span id=":Rull7b6n6:--label" class="Box-sc-g0xbh4-0 bmseMA">Download workflow artifacts</span></div></a></li><li class="Item__LiBox-sc-yeql7o-0 lnYQME"><a sx="[object Object]" tabindex="0" aria-labelledby=":R12ll7b6n6:--label " id=":R12ll7b6n6:" aria-current="false" class="Link__StyledLink-sc-14289xe-0 dibTck" href="/en/actions/managing-workflow-runs-and-deployments/managing-workflow-runs/removing-workflow-artifacts"><div data-component="ActionList.Item--DividerContainer" class="Box-sc-g0xbh4-0 hROlum"><span id=":R12ll7b6n6:--label" class="Box-sc-g0xbh4-0 bmseMA">Remove workflow artifacts</span></div></a></li><li class="Item__LiBox-sc-yeql7o-0 lnYQME"><a sx="[object Object]" tabindex="0" aria-labelledby=":R16ll7b6n6:--label " id=":R16ll7b6n6:" aria-current="false" class="Link__StyledLink-sc-14289xe-0 dibTck" href="/en/actions/managing-workflow-runs-and-deployments/managing-workflow-runs/approving-workflow-runs-from-public-forks"><div data-component="ActionList.Item--DividerContainer" class="Box-sc-g0xbh4-0 hROlum"><span id=":R16ll7b6n6:--label" class="Box-sc-g0xbh4-0 bmseMA">Approve public fork runs</span></div></a></li><li class="Item__LiBox-sc-yeql7o-0 lnYQME"><a sx="[object Object]" tabindex="0" aria-labelledby=":R1all7b6n6:--label " id=":R1all7b6n6:" aria-current="false" class="Link__StyledLink-sc-14289xe-0 dibTck" href="/en/actions/managing-workflow-runs-and-deployments/managing-workflow-runs/approving-workflow-runs-from-private-forks"><div data-component="ActionList.Item--DividerContainer" class="Box-sc-g0xbh4-0 hROlum"><span id=":R1all7b6n6:--label" class="Box-sc-g0xbh4-0 bmseMA">Approve private fork runs</span></div></a></li></ul></div></li><li aria-labelledby=":R2l7b6n6:" class="Box-sc-g0xbh4-0 Ywlla"><button tabindex="0" aria-labelledby=":R2l7b6n6:--label " id=":R2l7b6n6:" aria-expanded="false" aria-controls=":R2l7b6n6H1:" 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=":R2l7b6n6:--label" class="Box-sc-g0xbh4-0 bmseMA">Manage deployments</span><span class="Box-sc-g0xbh4-0 lmYNOb"><svg sx="[object Object]" aria-hidden="true" focusable="false" class="octicon octicon-chevron-down Octicon-sc-9kayk9-0 daAEFx" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" display="inline-block" overflow="visible" style="vertical-align:text-bottom"><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=":R2l7b6n6H1:" aria-labelledby=":R2l7b6n6:" class="Box-sc-g0xbh4-0 gMkIpo"><li class="Item__LiBox-sc-yeql7o-0 lnYQME"><a sx="[object Object]" tabindex="0" aria-labelledby=":R6ml7b6n6:--label " id=":R6ml7b6n6:" aria-current="false" class="Link__StyledLink-sc-14289xe-0 dibTck" href="/en/actions/managing-workflow-runs-and-deployments/managing-deployments/viewing-deployment-history"><div data-component="ActionList.Item--DividerContainer" class="Box-sc-g0xbh4-0 hROlum"><span id=":R6ml7b6n6:--label" class="Box-sc-g0xbh4-0 bmseMA">Deployment history</span></div></a></li><li class="Item__LiBox-sc-yeql7o-0 lnYQME"><a sx="[object Object]" tabindex="0" aria-labelledby=":Raml7b6n6:--label " id=":Raml7b6n6:" aria-current="false" class="Link__StyledLink-sc-14289xe-0 dibTck" href="/en/actions/managing-workflow-runs-and-deployments/managing-deployments/managing-environments-for-deployment"><div data-component="ActionList.Item--DividerContainer" class="Box-sc-g0xbh4-0 hROlum"><span id=":Raml7b6n6:--label" class="Box-sc-g0xbh4-0 bmseMA">Manage environments</span></div></a></li><li class="Item__LiBox-sc-yeql7o-0 lnYQME"><a sx="[object Object]" tabindex="0" aria-labelledby=":Reml7b6n6:--label " id=":Reml7b6n6:" aria-current="false" class="Link__StyledLink-sc-14289xe-0 dibTck" href="/en/actions/managing-workflow-runs-and-deployments/managing-deployments/reviewing-deployments"><div data-component="ActionList.Item--DividerContainer" class="Box-sc-g0xbh4-0 hROlum"><span id=":Reml7b6n6:--label" class="Box-sc-g0xbh4-0 bmseMA">Review deployments</span></div></a></li><li class="Item__LiBox-sc-yeql7o-0 lnYQME"><a sx="[object Object]" tabindex="0" aria-labelledby=":Riml7b6n6:--label " id=":Riml7b6n6:" aria-current="false" class="Link__StyledLink-sc-14289xe-0 dibTck" href="/en/actions/managing-workflow-runs-and-deployments/managing-deployments/creating-custom-deployment-protection-rules"><div data-component="ActionList.Item--DividerContainer" class="Box-sc-g0xbh4-0 hROlum"><span id=":Riml7b6n6:--label" class="Box-sc-g0xbh4-0 bmseMA">Create custom protection rules</span></div></a></li><li class="Item__LiBox-sc-yeql7o-0 lnYQME"><a sx="[object Object]" tabindex="0" aria-labelledby=":Rmml7b6n6:--label " id=":Rmml7b6n6:" aria-current="false" class="Link__StyledLink-sc-14289xe-0 dibTck" href="/en/actions/managing-workflow-runs-and-deployments/managing-deployments/configuring-custom-deployment-protection-rules"><div data-component="ActionList.Item--DividerContainer" class="Box-sc-g0xbh4-0 hROlum"><span id=":Rmml7b6n6:--label" class="Box-sc-g0xbh4-0 bmseMA">Configure custom protection rules</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="false" 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">Share automations</span><span class="Box-sc-g0xbh4-0 lmYNOb"><svg sx="[object Object]" aria-hidden="true" focusable="false" class="octicon octicon-chevron-down Octicon-sc-9kayk9-0 daAEFx" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" display="inline-block" overflow="visible" style="vertical-align:text-bottom"><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 gMkIpo"><li class="Item__LiBox-sc-yeql7o-0 lnYQME"><a sx="[object Object]" tabindex="0" aria-labelledby=":R1l9b6n6:--label " id=":R1l9b6n6:" aria-current="false" class="Link__StyledLink-sc-14289xe-0 fuIgwR" href="/en/actions/sharing-automations/avoiding-duplication"><div data-component="ActionList.Item--DividerContainer" class="Box-sc-g0xbh4-0 hROlum"><span id=":R1l9b6n6:--label" class="Box-sc-g0xbh4-0 bmseMA">Avoid duplication</span></div></a></li><li aria-labelledby=":R2l9b6n6:" class="Box-sc-g0xbh4-0 Ywlla"><button tabindex="0" aria-labelledby=":R2l9b6n6:--label " id=":R2l9b6n6:" aria-expanded="false" aria-controls=":R2l9b6n6H1:" 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=":R2l9b6n6:--label" class="Box-sc-g0xbh4-0 bmseMA">Create actions</span><span class="Box-sc-g0xbh4-0 lmYNOb"><svg sx="[object Object]" aria-hidden="true" focusable="false" class="octicon octicon-chevron-down Octicon-sc-9kayk9-0 daAEFx" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" display="inline-block" overflow="visible" style="vertical-align:text-bottom"><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=":R2l9b6n6H1:" aria-labelledby=":R2l9b6n6:" class="Box-sc-g0xbh4-0 gMkIpo"><li class="Item__LiBox-sc-yeql7o-0 lnYQME"><a sx="[object Object]" tabindex="0" aria-labelledby=":Rdal9b6n6:--label " id=":Rdal9b6n6:" aria-current="false" class="Link__StyledLink-sc-14289xe-0 dibTck" href="/en/actions/sharing-automations/creating-actions/about-custom-actions"><div data-component="ActionList.Item--DividerContainer" class="Box-sc-g0xbh4-0 hROlum"><span id=":Rdal9b6n6:--label" class="Box-sc-g0xbh4-0 bmseMA">About custom actions</span></div></a></li><li class="Item__LiBox-sc-yeql7o-0 lnYQME"><a sx="[object Object]" tabindex="0" aria-labelledby=":Rlal9b6n6:--label " id=":Rlal9b6n6:" aria-current="false" class="Link__StyledLink-sc-14289xe-0 dibTck" href="/en/actions/sharing-automations/creating-actions/creating-a-docker-container-action"><div data-component="ActionList.Item--DividerContainer" class="Box-sc-g0xbh4-0 hROlum"><span id=":Rlal9b6n6:--label" class="Box-sc-g0xbh4-0 bmseMA">Create a Docker container action</span></div></a></li><li class="Item__LiBox-sc-yeql7o-0 lnYQME"><a sx="[object Object]" tabindex="0" aria-labelledby=":Rtal9b6n6:--label " id=":Rtal9b6n6:" aria-current="false" class="Link__StyledLink-sc-14289xe-0 dibTck" href="/en/actions/sharing-automations/creating-actions/creating-a-javascript-action"><div data-component="ActionList.Item--DividerContainer" class="Box-sc-g0xbh4-0 hROlum"><span id=":Rtal9b6n6:--label" class="Box-sc-g0xbh4-0 bmseMA">Create a JavaScript action</span></div></a></li><li class="Item__LiBox-sc-yeql7o-0 lnYQME"><a sx="[object Object]" tabindex="0" aria-labelledby=":R15al9b6n6:--label " id=":R15al9b6n6:" aria-current="false" class="Link__StyledLink-sc-14289xe-0 dibTck" href="/en/actions/sharing-automations/creating-actions/creating-a-composite-action"><div data-component="ActionList.Item--DividerContainer" class="Box-sc-g0xbh4-0 hROlum"><span id=":R15al9b6n6:--label" class="Box-sc-g0xbh4-0 bmseMA">Create a composite action</span></div></a></li><li class="Item__LiBox-sc-yeql7o-0 lnYQME"><a sx="[object Object]" tabindex="0" aria-labelledby=":R1dal9b6n6:--label " id=":R1dal9b6n6:" aria-current="false" class="Link__StyledLink-sc-14289xe-0 dibTck" href="/en/actions/sharing-automations/creating-actions/metadata-syntax-for-github-actions"><div data-component="ActionList.Item--DividerContainer" class="Box-sc-g0xbh4-0 hROlum"><span id=":R1dal9b6n6:--label" class="Box-sc-g0xbh4-0 bmseMA">Metadata syntax</span></div></a></li><li class="Item__LiBox-sc-yeql7o-0 lnYQME"><a sx="[object Object]" tabindex="0" aria-labelledby=":R1lal9b6n6:--label " id=":R1lal9b6n6:" aria-current="false" class="Link__StyledLink-sc-14289xe-0 dibTck" href="/en/actions/sharing-automations/creating-actions/dockerfile-support-for-github-actions"><div data-component="ActionList.Item--DividerContainer" class="Box-sc-g0xbh4-0 hROlum"><span id=":R1lal9b6n6:--label" class="Box-sc-g0xbh4-0 bmseMA">Dockerfile support</span></div></a></li><li class="Item__LiBox-sc-yeql7o-0 lnYQME"><a sx="[object Object]" tabindex="0" aria-labelledby=":R1tal9b6n6:--label " id=":R1tal9b6n6:" aria-current="false" class="Link__StyledLink-sc-14289xe-0 dibTck" href="/en/actions/sharing-automations/creating-actions/setting-exit-codes-for-actions"><div data-component="ActionList.Item--DividerContainer" class="Box-sc-g0xbh4-0 hROlum"><span id=":R1tal9b6n6:--label" class="Box-sc-g0xbh4-0 bmseMA">Set exit codes</span></div></a></li><li class="Item__LiBox-sc-yeql7o-0 lnYQME"><a sx="[object Object]" tabindex="0" aria-labelledby=":R25al9b6n6:--label " id=":R25al9b6n6:" aria-current="false" class="Link__StyledLink-sc-14289xe-0 dibTck" href="/en/actions/sharing-automations/creating-actions/releasing-and-maintaining-actions"><div data-component="ActionList.Item--DividerContainer" class="Box-sc-g0xbh4-0 hROlum"><span id=":R25al9b6n6:--label" class="Box-sc-g0xbh4-0 bmseMA">Release and maintain actions</span></div></a></li><li class="Item__LiBox-sc-yeql7o-0 lnYQME"><a sx="[object Object]" tabindex="0" aria-labelledby=":R2dal9b6n6:--label " id=":R2dal9b6n6:" aria-current="false" class="Link__StyledLink-sc-14289xe-0 dibTck" href="/en/actions/sharing-automations/creating-actions/publishing-actions-in-github-marketplace"><div data-component="ActionList.Item--DividerContainer" class="Box-sc-g0xbh4-0 hROlum"><span id=":R2dal9b6n6:--label" class="Box-sc-g0xbh4-0 bmseMA">Publish in GitHub Marketplace</span></div></a></li><li class="Item__LiBox-sc-yeql7o-0 lnYQME"><a sx="[object Object]" tabindex="0" aria-labelledby=":R2lal9b6n6:--label " id=":R2lal9b6n6:" aria-current="false" class="Link__StyledLink-sc-14289xe-0 dibTck" href="/en/actions/sharing-automations/creating-actions/developing-a-third-party-cli-action"><div data-component="ActionList.Item--DividerContainer" class="Box-sc-g0xbh4-0 hROlum"><span id=":R2lal9b6n6:--label" class="Box-sc-g0xbh4-0 bmseMA">CLI setup action</span></div></a></li></ul></div></li><li class="Item__LiBox-sc-yeql7o-0 lnYQME"><a sx="[object Object]" tabindex="0" aria-labelledby=":R3l9b6n6:--label " id=":R3l9b6n6:" aria-current="false" class="Link__StyledLink-sc-14289xe-0 fuIgwR" href="/en/actions/sharing-automations/reusing-workflows"><div data-component="ActionList.Item--DividerContainer" class="Box-sc-g0xbh4-0 hROlum"><span id=":R3l9b6n6:--label" class="Box-sc-g0xbh4-0 bmseMA">Reuse workflows</span></div></a></li><li class="Item__LiBox-sc-yeql7o-0 lnYQME"><a sx="[object Object]" tabindex="0" aria-labelledby=":R4l9b6n6:--label " id=":R4l9b6n6:" aria-current="false" class="Link__StyledLink-sc-14289xe-0 fuIgwR" href="/en/actions/sharing-automations/creating-workflow-templates-for-your-organization"><div data-component="ActionList.Item--DividerContainer" class="Box-sc-g0xbh4-0 hROlum"><span id=":R4l9b6n6:--label" class="Box-sc-g0xbh4-0 bmseMA">Create workflow templates</span></div></a></li><li class="Item__LiBox-sc-yeql7o-0 lnYQME"><a sx="[object Object]" tabindex="0" aria-labelledby=":R5l9b6n6:--label " id=":R5l9b6n6:" aria-current="false" class="Link__StyledLink-sc-14289xe-0 fuIgwR" href="/en/actions/sharing-automations/sharing-actions-and-workflows-from-your-private-repository"><div data-component="ActionList.Item--DividerContainer" class="Box-sc-g0xbh4-0 hROlum"><span id=":R5l9b6n6:--label" class="Box-sc-g0xbh4-0 bmseMA">Share from your private repository</span></div></a></li><li class="Item__LiBox-sc-yeql7o-0 lnYQME"><a sx="[object Object]" tabindex="0" aria-labelledby=":R6l9b6n6:--label " id=":R6l9b6n6:" aria-current="false" class="Link__StyledLink-sc-14289xe-0 fuIgwR" href="/en/actions/sharing-automations/sharing-actions-and-workflows-with-your-organization"><div data-component="ActionList.Item--DividerContainer" class="Box-sc-g0xbh4-0 hROlum"><span id=":R6l9b6n6:--label" class="Box-sc-g0xbh4-0 bmseMA">Share with your organization</span></div></a></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">Monitor &amp; troubleshoot</span><span class="Box-sc-g0xbh4-0 lmYNOb"><svg sx="[object Object]" aria-hidden="true" focusable="false" class="octicon octicon-chevron-down Octicon-sc-9kayk9-0 daAEFx" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" display="inline-block" overflow="visible" style="vertical-align:text-bottom"><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=":R1lbb6n6:" class="Box-sc-g0xbh4-0 Ywlla"><button tabindex="0" aria-labelledby=":R1lbb6n6:--label " id=":R1lbb6n6:" aria-expanded="false" aria-controls=":R1lbb6n6H1:" 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=":R1lbb6n6:--label" class="Box-sc-g0xbh4-0 bmseMA">Monitor</span><span class="Box-sc-g0xbh4-0 lmYNOb"><svg sx="[object Object]" aria-hidden="true" focusable="false" class="octicon octicon-chevron-down Octicon-sc-9kayk9-0 daAEFx" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" display="inline-block" overflow="visible" style="vertical-align:text-bottom"><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=":R1lbb6n6H1:" aria-labelledby=":R1lbb6n6:" class="Box-sc-g0xbh4-0 gMkIpo"><li class="Item__LiBox-sc-yeql7o-0 lnYQME"><a sx="[object Object]" tabindex="0" aria-labelledby=":R6llbb6n6:--label " id=":R6llbb6n6:" aria-current="false" class="Link__StyledLink-sc-14289xe-0 dibTck" href="/en/actions/monitoring-and-troubleshooting-workflows/monitoring-workflows/about-monitoring-workflows"><div data-component="ActionList.Item--DividerContainer" class="Box-sc-g0xbh4-0 hROlum"><span id=":R6llbb6n6:--label" class="Box-sc-g0xbh4-0 bmseMA">About monitoring</span></div></a></li><li class="Item__LiBox-sc-yeql7o-0 lnYQME"><a sx="[object Object]" tabindex="0" aria-labelledby=":Rallbb6n6:--label " id=":Rallbb6n6:" aria-current="false" class="Link__StyledLink-sc-14289xe-0 dibTck" href="/en/actions/monitoring-and-troubleshooting-workflows/monitoring-workflows/notifications-for-workflow-runs"><div data-component="ActionList.Item--DividerContainer" class="Box-sc-g0xbh4-0 hROlum"><span id=":Rallbb6n6:--label" class="Box-sc-g0xbh4-0 bmseMA">Notifications for workflow runs</span></div></a></li><li class="Item__LiBox-sc-yeql7o-0 lnYQME"><a sx="[object Object]" tabindex="0" aria-labelledby=":Rellbb6n6:--label " id=":Rellbb6n6:" aria-current="false" class="Link__StyledLink-sc-14289xe-0 dibTck" href="/en/actions/monitoring-and-troubleshooting-workflows/monitoring-workflows/using-the-visualization-graph"><div data-component="ActionList.Item--DividerContainer" class="Box-sc-g0xbh4-0 hROlum"><span id=":Rellbb6n6:--label" class="Box-sc-g0xbh4-0 bmseMA">Visualization graph</span></div></a></li><li class="Item__LiBox-sc-yeql7o-0 lnYQME"><a sx="[object Object]" tabindex="0" aria-labelledby=":Rillbb6n6:--label " id=":Rillbb6n6:" aria-current="false" class="Link__StyledLink-sc-14289xe-0 dibTck" href="/en/actions/monitoring-and-troubleshooting-workflows/monitoring-workflows/viewing-workflow-run-history"><div data-component="ActionList.Item--DividerContainer" class="Box-sc-g0xbh4-0 hROlum"><span id=":Rillbb6n6:--label" class="Box-sc-g0xbh4-0 bmseMA">Workflow run history</span></div></a></li><li class="Item__LiBox-sc-yeql7o-0 lnYQME"><a sx="[object Object]" tabindex="0" aria-labelledby=":Rmllbb6n6:--label " id=":Rmllbb6n6:" aria-current="false" class="Link__StyledLink-sc-14289xe-0 dibTck" href="/en/actions/monitoring-and-troubleshooting-workflows/monitoring-workflows/viewing-job-execution-time"><div data-component="ActionList.Item--DividerContainer" class="Box-sc-g0xbh4-0 hROlum"><span id=":Rmllbb6n6:--label" class="Box-sc-g0xbh4-0 bmseMA">View job execution time</span></div></a></li><li class="Item__LiBox-sc-yeql7o-0 lnYQME"><a sx="[object Object]" tabindex="0" aria-labelledby=":Rqllbb6n6:--label " id=":Rqllbb6n6:" aria-current="false" class="Link__StyledLink-sc-14289xe-0 dibTck" href="/en/actions/monitoring-and-troubleshooting-workflows/monitoring-workflows/adding-a-workflow-status-badge"><div data-component="ActionList.Item--DividerContainer" class="Box-sc-g0xbh4-0 hROlum"><span id=":Rqllbb6n6:--label" class="Box-sc-g0xbh4-0 bmseMA">Add a status badge</span></div></a></li><li class="Item__LiBox-sc-yeql7o-0 lnYQME"><a sx="[object Object]" tabindex="0" aria-labelledby=":Rullbb6n6:--label " id=":Rullbb6n6:" aria-current="false" class="Link__StyledLink-sc-14289xe-0 dibTck" href="/en/actions/monitoring-and-troubleshooting-workflows/monitoring-workflows/using-workflow-run-logs"><div data-component="ActionList.Item--DividerContainer" class="Box-sc-g0xbh4-0 hROlum"><span id=":Rullbb6n6:--label" class="Box-sc-g0xbh4-0 bmseMA">Workflow run logs</span></div></a></li></ul></div></li><li aria-labelledby=":R2lbb6n6:" class="Box-sc-g0xbh4-0 Ywlla"><button tabindex="0" aria-labelledby=":R2lbb6n6:--label " id=":R2lbb6n6:" aria-expanded="false" aria-controls=":R2lbb6n6H1:" 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=":R2lbb6n6:--label" class="Box-sc-g0xbh4-0 bmseMA">Troubleshoot</span><span class="Box-sc-g0xbh4-0 lmYNOb"><svg sx="[object Object]" aria-hidden="true" focusable="false" class="octicon octicon-chevron-down Octicon-sc-9kayk9-0 daAEFx" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" display="inline-block" overflow="visible" style="vertical-align:text-bottom"><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=":R2lbb6n6H1:" aria-labelledby=":R2lbb6n6:" class="Box-sc-g0xbh4-0 gMkIpo"><li class="Item__LiBox-sc-yeql7o-0 lnYQME"><a sx="[object Object]" tabindex="0" aria-labelledby=":R6mlbb6n6:--label " id=":R6mlbb6n6:" aria-current="false" class="Link__StyledLink-sc-14289xe-0 dibTck" href="/en/actions/monitoring-and-troubleshooting-workflows/troubleshooting-workflows/about-troubleshooting-workflows"><div data-component="ActionList.Item--DividerContainer" class="Box-sc-g0xbh4-0 hROlum"><span id=":R6mlbb6n6:--label" class="Box-sc-g0xbh4-0 bmseMA">About troubleshooting</span></div></a></li><li class="Item__LiBox-sc-yeql7o-0 lnYQME"><a sx="[object Object]" tabindex="0" aria-labelledby=":Ramlbb6n6:--label " id=":Ramlbb6n6:" aria-current="false" class="Link__StyledLink-sc-14289xe-0 dibTck" href="/en/actions/monitoring-and-troubleshooting-workflows/troubleshooting-workflows/using-copilot-to-troubleshoot-workflows"><div data-component="ActionList.Item--DividerContainer" class="Box-sc-g0xbh4-0 hROlum"><span id=":Ramlbb6n6:--label" class="Box-sc-g0xbh4-0 bmseMA">Use Copilot</span></div></a></li><li class="Item__LiBox-sc-yeql7o-0 lnYQME"><a sx="[object Object]" tabindex="0" aria-labelledby=":Remlbb6n6:--label " id=":Remlbb6n6:" aria-current="false" class="Link__StyledLink-sc-14289xe-0 dibTck" href="/en/actions/monitoring-and-troubleshooting-workflows/troubleshooting-workflows/enabling-debug-logging"><div data-component="ActionList.Item--DividerContainer" class="Box-sc-g0xbh4-0 hROlum"><span id=":Remlbb6n6:--label" class="Box-sc-g0xbh4-0 bmseMA">Enable debug logging</span></div></a></li><li class="Item__LiBox-sc-yeql7o-0 lnYQME"><a sx="[object Object]" tabindex="0" aria-labelledby=":Rimlbb6n6:--label " id=":Rimlbb6n6:" aria-current="false" class="Link__StyledLink-sc-14289xe-0 dibTck" href="/en/actions/monitoring-and-troubleshooting-workflows/troubleshooting-workflows/working-with-support-for-github-actions"><div data-component="ActionList.Item--DividerContainer" class="Box-sc-g0xbh4-0 hROlum"><span id=":Rimlbb6n6:--label" class="Box-sc-g0xbh4-0 bmseMA">Working with GitHub Support</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">GitHub-hosted runners</span><span class="Box-sc-g0xbh4-0 lmYNOb"><svg sx="[object Object]" aria-hidden="true" focusable="false" class="octicon octicon-chevron-down Octicon-sc-9kayk9-0 daAEFx" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" display="inline-block" overflow="visible" style="vertical-align:text-bottom"><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=":R1ldb6n6:" class="Box-sc-g0xbh4-0 Ywlla"><button tabindex="0" aria-labelledby=":R1ldb6n6:--label " id=":R1ldb6n6:" aria-expanded="false" aria-controls=":R1ldb6n6H1:" 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=":R1ldb6n6:--label" class="Box-sc-g0xbh4-0 bmseMA">About GitHub-hosted runners</span><span class="Box-sc-g0xbh4-0 lmYNOb"><svg sx="[object Object]" aria-hidden="true" focusable="false" class="octicon octicon-chevron-down Octicon-sc-9kayk9-0 daAEFx" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" display="inline-block" overflow="visible" style="vertical-align:text-bottom"><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=":R1ldb6n6H1:" aria-labelledby=":R1ldb6n6:" class="Box-sc-g0xbh4-0 gMkIpo"><li class="Item__LiBox-sc-yeql7o-0 lnYQME"><a sx="[object Object]" tabindex="0" aria-labelledby=":R6lldb6n6:--label " id=":R6lldb6n6:" aria-current="false" class="Link__StyledLink-sc-14289xe-0 dibTck" href="/en/actions/using-github-hosted-runners/using-github-hosted-runners/about-github-hosted-runners"><div data-component="ActionList.Item--DividerContainer" class="Box-sc-g0xbh4-0 hROlum"><span id=":R6lldb6n6:--label" class="Box-sc-g0xbh4-0 bmseMA">About GitHub-hosted runners</span></div></a></li><li class="Item__LiBox-sc-yeql7o-0 lnYQME"><a sx="[object Object]" tabindex="0" aria-labelledby=":Ralldb6n6:--label " id=":Ralldb6n6:" aria-current="false" class="Link__StyledLink-sc-14289xe-0 dibTck" href="/en/actions/using-github-hosted-runners/using-github-hosted-runners/monitoring-your-current-jobs"><div data-component="ActionList.Item--DividerContainer" class="Box-sc-g0xbh4-0 hROlum"><span id=":Ralldb6n6:--label" class="Box-sc-g0xbh4-0 bmseMA">Monitor current jobs</span></div></a></li><li class="Item__LiBox-sc-yeql7o-0 lnYQME"><a sx="[object Object]" tabindex="0" aria-labelledby=":Relldb6n6:--label " id=":Relldb6n6:" aria-current="false" class="Link__StyledLink-sc-14289xe-0 dibTck" href="/en/actions/using-github-hosted-runners/using-github-hosted-runners/customizing-github-hosted-runners"><div data-component="ActionList.Item--DividerContainer" class="Box-sc-g0xbh4-0 hROlum"><span id=":Relldb6n6:--label" class="Box-sc-g0xbh4-0 bmseMA">Customize runners</span></div></a></li></ul></div></li><li aria-labelledby=":R2ldb6n6:" class="Box-sc-g0xbh4-0 Ywlla"><button tabindex="0" aria-labelledby=":R2ldb6n6:--label " id=":R2ldb6n6:" aria-expanded="false" aria-controls=":R2ldb6n6H1:" 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=":R2ldb6n6:--label" class="Box-sc-g0xbh4-0 bmseMA">Using larger runners</span><span class="Box-sc-g0xbh4-0 lmYNOb"><svg sx="[object Object]" aria-hidden="true" focusable="false" class="octicon octicon-chevron-down Octicon-sc-9kayk9-0 daAEFx" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" display="inline-block" overflow="visible" style="vertical-align:text-bottom"><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=":R2ldb6n6H1:" aria-labelledby=":R2ldb6n6:" class="Box-sc-g0xbh4-0 gMkIpo"><li class="Item__LiBox-sc-yeql7o-0 lnYQME"><a sx="[object Object]" tabindex="0" aria-labelledby=":R6mldb6n6:--label " id=":R6mldb6n6:" aria-current="false" class="Link__StyledLink-sc-14289xe-0 dibTck" href="/en/actions/using-github-hosted-runners/using-larger-runners/about-larger-runners"><div data-component="ActionList.Item--DividerContainer" class="Box-sc-g0xbh4-0 hROlum"><span id=":R6mldb6n6:--label" class="Box-sc-g0xbh4-0 bmseMA">About larger runners</span></div></a></li><li class="Item__LiBox-sc-yeql7o-0 lnYQME"><a sx="[object Object]" tabindex="0" aria-labelledby=":Ramldb6n6:--label " id=":Ramldb6n6:" aria-current="false" class="Link__StyledLink-sc-14289xe-0 dibTck" href="/en/actions/using-github-hosted-runners/using-larger-runners/managing-larger-runners"><div data-component="ActionList.Item--DividerContainer" class="Box-sc-g0xbh4-0 hROlum"><span id=":Ramldb6n6:--label" class="Box-sc-g0xbh4-0 bmseMA">Manage larger runners</span></div></a></li><li class="Item__LiBox-sc-yeql7o-0 lnYQME"><a sx="[object Object]" tabindex="0" aria-labelledby=":Remldb6n6:--label " id=":Remldb6n6:" aria-current="false" class="Link__StyledLink-sc-14289xe-0 dibTck" href="/en/actions/using-github-hosted-runners/using-larger-runners/controlling-access-to-larger-runners"><div data-component="ActionList.Item--DividerContainer" class="Box-sc-g0xbh4-0 hROlum"><span id=":Remldb6n6:--label" class="Box-sc-g0xbh4-0 bmseMA">Control access to larger runners</span></div></a></li><li class="Item__LiBox-sc-yeql7o-0 lnYQME"><a sx="[object Object]" tabindex="0" aria-labelledby=":Rimldb6n6:--label " id=":Rimldb6n6:" aria-current="false" class="Link__StyledLink-sc-14289xe-0 dibTck" href="/en/actions/using-github-hosted-runners/using-larger-runners/running-jobs-on-larger-runners"><div data-component="ActionList.Item--DividerContainer" class="Box-sc-g0xbh4-0 hROlum"><span id=":Rimldb6n6:--label" class="Box-sc-g0xbh4-0 bmseMA">Run jobs on larger runners</span></div></a></li></ul></div></li><li aria-labelledby=":R3ldb6n6:" class="Box-sc-g0xbh4-0 Ywlla"><button tabindex="0" aria-labelledby=":R3ldb6n6:--label " id=":R3ldb6n6:" aria-expanded="false" aria-controls=":R3ldb6n6H1:" 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=":R3ldb6n6:--label" class="Box-sc-g0xbh4-0 bmseMA">Private networking</span><span class="Box-sc-g0xbh4-0 lmYNOb"><svg sx="[object Object]" aria-hidden="true" focusable="false" class="octicon octicon-chevron-down Octicon-sc-9kayk9-0 daAEFx" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" display="inline-block" overflow="visible" style="vertical-align:text-bottom"><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=":R3ldb6n6H1:" aria-labelledby=":R3ldb6n6:" class="Box-sc-g0xbh4-0 gMkIpo"><li class="Item__LiBox-sc-yeql7o-0 lnYQME"><a sx="[object Object]" tabindex="0" aria-labelledby=":R6nldb6n6:--label " id=":R6nldb6n6:" aria-current="false" class="Link__StyledLink-sc-14289xe-0 dibTck" href="/en/actions/using-github-hosted-runners/connecting-to-a-private-network/about-private-networking-with-github-hosted-runners"><div data-component="ActionList.Item--DividerContainer" class="Box-sc-g0xbh4-0 hROlum"><span id=":R6nldb6n6:--label" class="Box-sc-g0xbh4-0 bmseMA">About private networking</span></div></a></li><li class="Item__LiBox-sc-yeql7o-0 lnYQME"><a sx="[object Object]" tabindex="0" aria-labelledby=":Ranldb6n6:--label " id=":Ranldb6n6:" aria-current="false" class="Link__StyledLink-sc-14289xe-0 dibTck" href="/en/actions/using-github-hosted-runners/connecting-to-a-private-network/using-an-api-gateway-with-oidc"><div data-component="ActionList.Item--DividerContainer" class="Box-sc-g0xbh4-0 hROlum"><span id=":Ranldb6n6:--label" class="Box-sc-g0xbh4-0 bmseMA">Using OIDC</span></div></a></li><li class="Item__LiBox-sc-yeql7o-0 lnYQME"><a sx="[object Object]" tabindex="0" aria-labelledby=":Renldb6n6:--label " id=":Renldb6n6:" aria-current="false" class="Link__StyledLink-sc-14289xe-0 dibTck" href="/en/actions/using-github-hosted-runners/connecting-to-a-private-network/using-wireguard-to-create-a-network-overlay"><div data-component="ActionList.Item--DividerContainer" class="Box-sc-g0xbh4-0 hROlum"><span id=":Renldb6n6:--label" class="Box-sc-g0xbh4-0 bmseMA">Using WireGuard</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">Self-hosted runners</span><span class="Box-sc-g0xbh4-0 lmYNOb"><svg sx="[object Object]" aria-hidden="true" focusable="false" class="octicon octicon-chevron-down Octicon-sc-9kayk9-0 daAEFx" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" display="inline-block" overflow="visible" style="vertical-align:text-bottom"><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=":R1lfb6n6:" class="Box-sc-g0xbh4-0 Ywlla"><button tabindex="0" aria-labelledby=":R1lfb6n6:--label " id=":R1lfb6n6:" aria-expanded="false" aria-controls=":R1lfb6n6H1:" 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=":R1lfb6n6:--label" class="Box-sc-g0xbh4-0 bmseMA">Manage self-hosted runners</span><span class="Box-sc-g0xbh4-0 lmYNOb"><svg sx="[object Object]" aria-hidden="true" focusable="false" class="octicon octicon-chevron-down Octicon-sc-9kayk9-0 daAEFx" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" display="inline-block" overflow="visible" style="vertical-align:text-bottom"><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=":R1lfb6n6H1:" aria-labelledby=":R1lfb6n6:" class="Box-sc-g0xbh4-0 gMkIpo"><li class="Item__LiBox-sc-yeql7o-0 lnYQME"><a sx="[object Object]" tabindex="0" aria-labelledby=":R6llfb6n6:--label " id=":R6llfb6n6:" aria-current="false" class="Link__StyledLink-sc-14289xe-0 dibTck" href="/en/actions/hosting-your-own-runners/managing-self-hosted-runners/about-self-hosted-runners"><div data-component="ActionList.Item--DividerContainer" class="Box-sc-g0xbh4-0 hROlum"><span id=":R6llfb6n6:--label" class="Box-sc-g0xbh4-0 bmseMA">About self-hosted runners</span></div></a></li><li class="Item__LiBox-sc-yeql7o-0 lnYQME"><a sx="[object Object]" tabindex="0" aria-labelledby=":Rallfb6n6:--label " id=":Rallfb6n6:" aria-current="false" class="Link__StyledLink-sc-14289xe-0 dibTck" href="/en/actions/hosting-your-own-runners/managing-self-hosted-runners/adding-self-hosted-runners"><div data-component="ActionList.Item--DividerContainer" class="Box-sc-g0xbh4-0 hROlum"><span id=":Rallfb6n6:--label" class="Box-sc-g0xbh4-0 bmseMA">Add self-hosted runners</span></div></a></li><li class="Item__LiBox-sc-yeql7o-0 lnYQME"><a sx="[object Object]" tabindex="0" aria-labelledby=":Rellfb6n6:--label " id=":Rellfb6n6:" aria-current="false" class="Link__StyledLink-sc-14289xe-0 dibTck" href="/en/actions/hosting-your-own-runners/managing-self-hosted-runners/autoscaling-with-self-hosted-runners"><div data-component="ActionList.Item--DividerContainer" class="Box-sc-g0xbh4-0 hROlum"><span id=":Rellfb6n6:--label" class="Box-sc-g0xbh4-0 bmseMA">Autoscale self-hosted runners</span></div></a></li><li class="Item__LiBox-sc-yeql7o-0 lnYQME"><a sx="[object Object]" tabindex="0" aria-labelledby=":Rillfb6n6:--label " id=":Rillfb6n6:" aria-current="false" class="Link__StyledLink-sc-14289xe-0 dibTck" href="/en/actions/hosting-your-own-runners/managing-self-hosted-runners/running-scripts-before-or-after-a-job"><div data-component="ActionList.Item--DividerContainer" class="Box-sc-g0xbh4-0 hROlum"><span id=":Rillfb6n6:--label" class="Box-sc-g0xbh4-0 bmseMA">Run a script before or after a job</span></div></a></li><li class="Item__LiBox-sc-yeql7o-0 lnYQME"><a sx="[object Object]" tabindex="0" aria-labelledby=":Rmllfb6n6:--label " id=":Rmllfb6n6:" aria-current="false" class="Link__StyledLink-sc-14289xe-0 dibTck" href="/en/actions/hosting-your-own-runners/managing-self-hosted-runners/customizing-the-containers-used-by-jobs"><div data-component="ActionList.Item--DividerContainer" class="Box-sc-g0xbh4-0 hROlum"><span id=":Rmllfb6n6:--label" class="Box-sc-g0xbh4-0 bmseMA">Customize containers used by jobs</span></div></a></li><li class="Item__LiBox-sc-yeql7o-0 lnYQME"><a sx="[object Object]" tabindex="0" aria-labelledby=":Rqllfb6n6:--label " id=":Rqllfb6n6:" aria-current="false" class="Link__StyledLink-sc-14289xe-0 dibTck" href="/en/actions/hosting-your-own-runners/managing-self-hosted-runners/configuring-the-self-hosted-runner-application-as-a-service"><div data-component="ActionList.Item--DividerContainer" class="Box-sc-g0xbh4-0 hROlum"><span id=":Rqllfb6n6:--label" class="Box-sc-g0xbh4-0 bmseMA">Run the runner app as a service</span></div></a></li><li class="Item__LiBox-sc-yeql7o-0 lnYQME"><a sx="[object Object]" tabindex="0" aria-labelledby=":Rullfb6n6:--label " id=":Rullfb6n6:" aria-current="false" class="Link__StyledLink-sc-14289xe-0 dibTck" href="/en/actions/hosting-your-own-runners/managing-self-hosted-runners/using-a-proxy-server-with-self-hosted-runners"><div data-component="ActionList.Item--DividerContainer" class="Box-sc-g0xbh4-0 hROlum"><span id=":Rullfb6n6:--label" class="Box-sc-g0xbh4-0 bmseMA">Proxy servers</span></div></a></li><li class="Item__LiBox-sc-yeql7o-0 lnYQME"><a sx="[object Object]" tabindex="0" aria-labelledby=":R12llfb6n6:--label " id=":R12llfb6n6:" aria-current="false" class="Link__StyledLink-sc-14289xe-0 dibTck" href="/en/actions/hosting-your-own-runners/managing-self-hosted-runners/using-labels-with-self-hosted-runners"><div data-component="ActionList.Item--DividerContainer" class="Box-sc-g0xbh4-0 hROlum"><span id=":R12llfb6n6:--label" class="Box-sc-g0xbh4-0 bmseMA">Label runners</span></div></a></li><li class="Item__LiBox-sc-yeql7o-0 lnYQME"><a sx="[object Object]" tabindex="0" aria-labelledby=":R16llfb6n6:--label " id=":R16llfb6n6:" aria-current="false" class="Link__StyledLink-sc-14289xe-0 dibTck" href="/en/actions/hosting-your-own-runners/managing-self-hosted-runners/using-self-hosted-runners-in-a-workflow"><div data-component="ActionList.Item--DividerContainer" class="Box-sc-g0xbh4-0 hROlum"><span id=":R16llfb6n6:--label" class="Box-sc-g0xbh4-0 bmseMA">Use runners in a workflow</span></div></a></li><li class="Item__LiBox-sc-yeql7o-0 lnYQME"><a sx="[object Object]" tabindex="0" aria-labelledby=":R1allfb6n6:--label " id=":R1allfb6n6:" aria-current="false" class="Link__StyledLink-sc-14289xe-0 dibTck" href="/en/actions/hosting-your-own-runners/managing-self-hosted-runners/managing-access-to-self-hosted-runners-using-groups"><div data-component="ActionList.Item--DividerContainer" class="Box-sc-g0xbh4-0 hROlum"><span id=":R1allfb6n6:--label" class="Box-sc-g0xbh4-0 bmseMA">Manage access with runner groups</span></div></a></li><li class="Item__LiBox-sc-yeql7o-0 lnYQME"><a sx="[object Object]" tabindex="0" aria-labelledby=":R1ellfb6n6:--label " id=":R1ellfb6n6:" aria-current="false" class="Link__StyledLink-sc-14289xe-0 dibTck" href="/en/actions/hosting-your-own-runners/managing-self-hosted-runners/monitoring-and-troubleshooting-self-hosted-runners"><div data-component="ActionList.Item--DividerContainer" class="Box-sc-g0xbh4-0 hROlum"><span id=":R1ellfb6n6:--label" class="Box-sc-g0xbh4-0 bmseMA">Monitor &amp; troubleshoot</span></div></a></li><li class="Item__LiBox-sc-yeql7o-0 lnYQME"><a sx="[object Object]" tabindex="0" aria-labelledby=":R1illfb6n6:--label " id=":R1illfb6n6:" aria-current="false" class="Link__StyledLink-sc-14289xe-0 dibTck" href="/en/actions/hosting-your-own-runners/managing-self-hosted-runners/removing-self-hosted-runners"><div data-component="ActionList.Item--DividerContainer" class="Box-sc-g0xbh4-0 hROlum"><span id=":R1illfb6n6:--label" class="Box-sc-g0xbh4-0 bmseMA">Remove self-hosted runners</span></div></a></li></ul></div></li><li aria-labelledby=":R2lfb6n6:" class="Box-sc-g0xbh4-0 Ywlla"><button tabindex="0" aria-labelledby=":R2lfb6n6:--label " id=":R2lfb6n6:" aria-expanded="false" aria-controls=":R2lfb6n6H1:" 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=":R2lfb6n6:--label" class="Box-sc-g0xbh4-0 bmseMA">Actions Runner Controller</span><span class="Box-sc-g0xbh4-0 lmYNOb"><svg sx="[object Object]" aria-hidden="true" focusable="false" class="octicon octicon-chevron-down Octicon-sc-9kayk9-0 daAEFx" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" display="inline-block" overflow="visible" style="vertical-align:text-bottom"><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=":R2lfb6n6H1:" aria-labelledby=":R2lfb6n6:" class="Box-sc-g0xbh4-0 gMkIpo"><li class="Item__LiBox-sc-yeql7o-0 lnYQME"><a sx="[object Object]" tabindex="0" aria-labelledby=":R6mlfb6n6:--label " id=":R6mlfb6n6:" aria-current="false" class="Link__StyledLink-sc-14289xe-0 dibTck" href="/en/actions/hosting-your-own-runners/managing-self-hosted-runners-with-actions-runner-controller/about-actions-runner-controller"><div data-component="ActionList.Item--DividerContainer" class="Box-sc-g0xbh4-0 hROlum"><span id=":R6mlfb6n6:--label" class="Box-sc-g0xbh4-0 bmseMA">About ARC</span></div></a></li><li class="Item__LiBox-sc-yeql7o-0 lnYQME"><a sx="[object Object]" tabindex="0" aria-labelledby=":Ramlfb6n6:--label " id=":Ramlfb6n6:" aria-current="false" class="Link__StyledLink-sc-14289xe-0 dibTck" href="/en/actions/hosting-your-own-runners/managing-self-hosted-runners-with-actions-runner-controller/quickstart-for-actions-runner-controller"><div data-component="ActionList.Item--DividerContainer" class="Box-sc-g0xbh4-0 hROlum"><span id=":Ramlfb6n6:--label" class="Box-sc-g0xbh4-0 bmseMA">Quickstart</span></div></a></li><li class="Item__LiBox-sc-yeql7o-0 lnYQME"><a sx="[object Object]" tabindex="0" aria-labelledby=":Remlfb6n6:--label " id=":Remlfb6n6:" aria-current="false" class="Link__StyledLink-sc-14289xe-0 dibTck" href="/en/actions/hosting-your-own-runners/managing-self-hosted-runners-with-actions-runner-controller/authenticating-to-the-github-api"><div data-component="ActionList.Item--DividerContainer" class="Box-sc-g0xbh4-0 hROlum"><span id=":Remlfb6n6:--label" class="Box-sc-g0xbh4-0 bmseMA">Authenticating</span></div></a></li><li class="Item__LiBox-sc-yeql7o-0 lnYQME"><a sx="[object Object]" tabindex="0" aria-labelledby=":Rimlfb6n6:--label " id=":Rimlfb6n6:" aria-current="false" class="Link__StyledLink-sc-14289xe-0 dibTck" href="/en/actions/hosting-your-own-runners/managing-self-hosted-runners-with-actions-runner-controller/deploying-runner-scale-sets-with-actions-runner-controller"><div data-component="ActionList.Item--DividerContainer" class="Box-sc-g0xbh4-0 hROlum"><span id=":Rimlfb6n6:--label" class="Box-sc-g0xbh4-0 bmseMA">Deploying runner scale sets</span></div></a></li><li class="Item__LiBox-sc-yeql7o-0 lnYQME"><a sx="[object Object]" tabindex="0" aria-labelledby=":Rmmlfb6n6:--label " id=":Rmmlfb6n6:" aria-current="false" class="Link__StyledLink-sc-14289xe-0 dibTck" href="/en/actions/hosting-your-own-runners/managing-self-hosted-runners-with-actions-runner-controller/using-actions-runner-controller-runners-in-a-workflow"><div data-component="ActionList.Item--DividerContainer" class="Box-sc-g0xbh4-0 hROlum"><span id=":Rmmlfb6n6:--label" class="Box-sc-g0xbh4-0 bmseMA">Using ARC in a workflow</span></div></a></li><li class="Item__LiBox-sc-yeql7o-0 lnYQME"><a sx="[object Object]" tabindex="0" aria-labelledby=":Rqmlfb6n6:--label " id=":Rqmlfb6n6:" aria-current="false" class="Link__StyledLink-sc-14289xe-0 dibTck" href="/en/actions/hosting-your-own-runners/managing-self-hosted-runners-with-actions-runner-controller/troubleshooting-actions-runner-controller-errors"><div data-component="ActionList.Item--DividerContainer" class="Box-sc-g0xbh4-0 hROlum"><span id=":Rqmlfb6n6:--label" class="Box-sc-g0xbh4-0 bmseMA">Troubleshoot</span></div></a></li><li class="Item__LiBox-sc-yeql7o-0 lnYQME"><a sx="[object Object]" tabindex="0" aria-labelledby=":Rumlfb6n6:--label " id=":Rumlfb6n6:" aria-current="false" class="Link__StyledLink-sc-14289xe-0 dibTck" href="/en/actions/hosting-your-own-runners/managing-self-hosted-runners-with-actions-runner-controller/about-support-for-actions-runner-controller"><div data-component="ActionList.Item--DividerContainer" class="Box-sc-g0xbh4-0 hROlum"><span id=":Rumlfb6n6:--label" class="Box-sc-g0xbh4-0 bmseMA">About Support for ARC</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">Security</span><span class="Box-sc-g0xbh4-0 lmYNOb"><svg sx="[object Object]" aria-hidden="true" focusable="false" class="octicon octicon-chevron-down Octicon-sc-9kayk9-0 daAEFx" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" display="inline-block" overflow="visible" style="vertical-align:text-bottom"><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=":R1lhb6n6:" class="Box-sc-g0xbh4-0 Ywlla"><button tabindex="0" aria-labelledby=":R1lhb6n6:--label " id=":R1lhb6n6:" aria-expanded="false" aria-controls=":R1lhb6n6H1:" 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=":R1lhb6n6:--label" class="Box-sc-g0xbh4-0 bmseMA">Security guides</span><span class="Box-sc-g0xbh4-0 lmYNOb"><svg sx="[object Object]" aria-hidden="true" focusable="false" class="octicon octicon-chevron-down Octicon-sc-9kayk9-0 daAEFx" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" display="inline-block" overflow="visible" style="vertical-align:text-bottom"><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=":R1lhb6n6H1:" aria-labelledby=":R1lhb6n6:" class="Box-sc-g0xbh4-0 gMkIpo"><li class="Item__LiBox-sc-yeql7o-0 lnYQME"><a sx="[object Object]" tabindex="0" aria-labelledby=":R6llhb6n6:--label " id=":R6llhb6n6:" aria-current="false" class="Link__StyledLink-sc-14289xe-0 dibTck" href="/en/actions/security-for-github-actions/security-guides/security-hardening-for-github-actions"><div data-component="ActionList.Item--DividerContainer" class="Box-sc-g0xbh4-0 hROlum"><span id=":R6llhb6n6:--label" class="Box-sc-g0xbh4-0 bmseMA">Security hardening</span></div></a></li><li class="Item__LiBox-sc-yeql7o-0 lnYQME"><a sx="[object Object]" tabindex="0" aria-labelledby=":Rallhb6n6:--label " id=":Rallhb6n6:" aria-current="false" class="Link__StyledLink-sc-14289xe-0 dibTck" href="/en/actions/security-for-github-actions/security-guides/using-secrets-in-github-actions"><div data-component="ActionList.Item--DividerContainer" class="Box-sc-g0xbh4-0 hROlum"><span id=":Rallhb6n6:--label" class="Box-sc-g0xbh4-0 bmseMA">Using secrets</span></div></a></li><li class="Item__LiBox-sc-yeql7o-0 lnYQME"><a sx="[object Object]" tabindex="0" aria-labelledby=":Rellhb6n6:--label " id=":Rellhb6n6:" aria-current="false" class="Link__StyledLink-sc-14289xe-0 dibTck" href="/en/actions/security-for-github-actions/security-guides/automatic-token-authentication"><div data-component="ActionList.Item--DividerContainer" class="Box-sc-g0xbh4-0 hROlum"><span id=":Rellhb6n6:--label" class="Box-sc-g0xbh4-0 bmseMA">Automatic token authentication</span></div></a></li><li class="Item__LiBox-sc-yeql7o-0 lnYQME"><a sx="[object Object]" tabindex="0" aria-labelledby=":Rillhb6n6:--label " id=":Rillhb6n6:" aria-current="false" class="Link__StyledLink-sc-14289xe-0 dibTck" href="/en/actions/security-for-github-actions/security-guides/using-githubs-security-features-to-secure-your-use-of-github-actions"><div data-component="ActionList.Item--DividerContainer" class="Box-sc-g0xbh4-0 hROlum"><span id=":Rillhb6n6:--label" class="Box-sc-g0xbh4-0 bmseMA">GitHub security features</span></div></a></li></ul></div></li><li aria-labelledby=":R2lhb6n6:" class="Box-sc-g0xbh4-0 Ywlla"><button tabindex="0" aria-labelledby=":R2lhb6n6:--label " id=":R2lhb6n6:" aria-expanded="false" aria-controls=":R2lhb6n6H1:" 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=":R2lhb6n6:--label" class="Box-sc-g0xbh4-0 bmseMA">Artifact attestations</span><span class="Box-sc-g0xbh4-0 lmYNOb"><svg sx="[object Object]" aria-hidden="true" focusable="false" class="octicon octicon-chevron-down Octicon-sc-9kayk9-0 daAEFx" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" display="inline-block" overflow="visible" style="vertical-align:text-bottom"><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=":R2lhb6n6H1:" aria-labelledby=":R2lhb6n6:" class="Box-sc-g0xbh4-0 gMkIpo"><li class="Item__LiBox-sc-yeql7o-0 lnYQME"><a sx="[object Object]" tabindex="0" aria-labelledby=":R6mlhb6n6:--label " id=":R6mlhb6n6:" aria-current="false" class="Link__StyledLink-sc-14289xe-0 dibTck" href="/en/actions/security-for-github-actions/using-artifact-attestations/using-artifact-attestations-to-establish-provenance-for-builds"><div data-component="ActionList.Item--DividerContainer" class="Box-sc-g0xbh4-0 hROlum"><span id=":R6mlhb6n6:--label" class="Box-sc-g0xbh4-0 bmseMA">Artifact attestations</span></div></a></li><li class="Item__LiBox-sc-yeql7o-0 lnYQME"><a sx="[object Object]" tabindex="0" aria-labelledby=":Ramlhb6n6:--label " id=":Ramlhb6n6:" aria-current="false" class="Link__StyledLink-sc-14289xe-0 dibTck" href="/en/actions/security-for-github-actions/using-artifact-attestations/using-artifact-attestations-and-reusable-workflows-to-achieve-slsa-v1-build-level-3"><div data-component="ActionList.Item--DividerContainer" class="Box-sc-g0xbh4-0 hROlum"><span id=":Ramlhb6n6:--label" class="Box-sc-g0xbh4-0 bmseMA">Attest with reusable workflows</span></div></a></li><li class="Item__LiBox-sc-yeql7o-0 lnYQME"><a sx="[object Object]" tabindex="0" aria-labelledby=":Remlhb6n6:--label " id=":Remlhb6n6:" aria-current="false" class="Link__StyledLink-sc-14289xe-0 dibTck" href="/en/actions/security-for-github-actions/using-artifact-attestations/enforcing-artifact-attestations-with-a-kubernetes-admission-controller"><div data-component="ActionList.Item--DividerContainer" class="Box-sc-g0xbh4-0 hROlum"><span id=":Remlhb6n6:--label" class="Box-sc-g0xbh4-0 bmseMA">Artifact attestations Kubernetes admission controller</span></div></a></li><li class="Item__LiBox-sc-yeql7o-0 lnYQME"><a sx="[object Object]" tabindex="0" aria-labelledby=":Rimlhb6n6:--label " id=":Rimlhb6n6:" aria-current="false" class="Link__StyledLink-sc-14289xe-0 dibTck" href="/en/actions/security-for-github-actions/using-artifact-attestations/verifying-attestations-offline"><div data-component="ActionList.Item--DividerContainer" class="Box-sc-g0xbh4-0 hROlum"><span id=":Rimlhb6n6:--label" class="Box-sc-g0xbh4-0 bmseMA">Verifying attestations offline</span></div></a></li></ul></div></li><li aria-labelledby=":R3lhb6n6:" class="Box-sc-g0xbh4-0 Ywlla"><button tabindex="0" aria-labelledby=":R3lhb6n6:--label " id=":R3lhb6n6:" aria-expanded="false" aria-controls=":R3lhb6n6H1:" 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=":R3lhb6n6:--label" class="Box-sc-g0xbh4-0 bmseMA">Security harden deployments</span><span class="Box-sc-g0xbh4-0 lmYNOb"><svg sx="[object Object]" aria-hidden="true" focusable="false" class="octicon octicon-chevron-down Octicon-sc-9kayk9-0 daAEFx" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" display="inline-block" overflow="visible" style="vertical-align:text-bottom"><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=":R3lhb6n6H1:" aria-labelledby=":R3lhb6n6:" class="Box-sc-g0xbh4-0 gMkIpo"><li class="Item__LiBox-sc-yeql7o-0 lnYQME"><a sx="[object Object]" tabindex="0" aria-labelledby=":R6nlhb6n6:--label " id=":R6nlhb6n6:" aria-current="false" class="Link__StyledLink-sc-14289xe-0 dibTck" href="/en/actions/security-for-github-actions/security-hardening-your-deployments/about-security-hardening-with-openid-connect"><div data-component="ActionList.Item--DividerContainer" class="Box-sc-g0xbh4-0 hROlum"><span id=":R6nlhb6n6:--label" class="Box-sc-g0xbh4-0 bmseMA">Security hardening with OpenID Connect</span></div></a></li><li class="Item__LiBox-sc-yeql7o-0 lnYQME"><a sx="[object Object]" tabindex="0" aria-labelledby=":Ranlhb6n6:--label " id=":Ranlhb6n6:" aria-current="false" class="Link__StyledLink-sc-14289xe-0 dibTck" href="/en/actions/security-for-github-actions/security-hardening-your-deployments/configuring-openid-connect-in-amazon-web-services"><div data-component="ActionList.Item--DividerContainer" class="Box-sc-g0xbh4-0 hROlum"><span id=":Ranlhb6n6:--label" class="Box-sc-g0xbh4-0 bmseMA">OpenID Connect in AWS</span></div></a></li><li class="Item__LiBox-sc-yeql7o-0 lnYQME"><a sx="[object Object]" tabindex="0" aria-labelledby=":Renlhb6n6:--label " id=":Renlhb6n6:" aria-current="false" class="Link__StyledLink-sc-14289xe-0 dibTck" href="/en/actions/security-for-github-actions/security-hardening-your-deployments/configuring-openid-connect-in-azure"><div data-component="ActionList.Item--DividerContainer" class="Box-sc-g0xbh4-0 hROlum"><span id=":Renlhb6n6:--label" class="Box-sc-g0xbh4-0 bmseMA">OpenID Connect in Azure</span></div></a></li><li class="Item__LiBox-sc-yeql7o-0 lnYQME"><a sx="[object Object]" tabindex="0" aria-labelledby=":Rinlhb6n6:--label " id=":Rinlhb6n6:" aria-current="false" class="Link__StyledLink-sc-14289xe-0 dibTck" href="/en/actions/security-for-github-actions/security-hardening-your-deployments/configuring-openid-connect-in-google-cloud-platform"><div data-component="ActionList.Item--DividerContainer" class="Box-sc-g0xbh4-0 hROlum"><span id=":Rinlhb6n6:--label" class="Box-sc-g0xbh4-0 bmseMA">OpenID Connect in Google Cloud Platform</span></div></a></li><li class="Item__LiBox-sc-yeql7o-0 lnYQME"><a sx="[object Object]" tabindex="0" aria-labelledby=":Rmnlhb6n6:--label " id=":Rmnlhb6n6:" aria-current="false" class="Link__StyledLink-sc-14289xe-0 dibTck" href="/en/actions/security-for-github-actions/security-hardening-your-deployments/configuring-openid-connect-in-hashicorp-vault"><div data-component="ActionList.Item--DividerContainer" class="Box-sc-g0xbh4-0 hROlum"><span id=":Rmnlhb6n6:--label" class="Box-sc-g0xbh4-0 bmseMA">OpenID Connect in HashiCorp Vault</span></div></a></li><li class="Item__LiBox-sc-yeql7o-0 lnYQME"><a sx="[object Object]" tabindex="0" aria-labelledby=":Rqnlhb6n6:--label " id=":Rqnlhb6n6:" aria-current="false" class="Link__StyledLink-sc-14289xe-0 dibTck" href="/en/actions/security-for-github-actions/security-hardening-your-deployments/configuring-openid-connect-in-jfrog"><div data-component="ActionList.Item--DividerContainer" class="Box-sc-g0xbh4-0 hROlum"><span id=":Rqnlhb6n6:--label" class="Box-sc-g0xbh4-0 bmseMA">OpenID Connect in JFrog</span></div></a></li><li class="Item__LiBox-sc-yeql7o-0 lnYQME"><a sx="[object Object]" tabindex="0" aria-labelledby=":Runlhb6n6:--label " id=":Runlhb6n6:" aria-current="false" class="Link__StyledLink-sc-14289xe-0 dibTck" href="/en/actions/security-for-github-actions/security-hardening-your-deployments/configuring-openid-connect-in-pypi"><div data-component="ActionList.Item--DividerContainer" class="Box-sc-g0xbh4-0 hROlum"><span id=":Runlhb6n6:--label" class="Box-sc-g0xbh4-0 bmseMA">OpenID Connect in PyPI</span></div></a></li><li class="Item__LiBox-sc-yeql7o-0 lnYQME"><a sx="[object Object]" tabindex="0" aria-labelledby=":R12nlhb6n6:--label " id=":R12nlhb6n6:" aria-current="false" class="Link__StyledLink-sc-14289xe-0 dibTck" href="/en/actions/security-for-github-actions/security-hardening-your-deployments/configuring-openid-connect-in-cloud-providers"><div data-component="ActionList.Item--DividerContainer" class="Box-sc-g0xbh4-0 hROlum"><span id=":R12nlhb6n6:--label" class="Box-sc-g0xbh4-0 bmseMA">OpenID Connect in cloud providers</span></div></a></li><li class="Item__LiBox-sc-yeql7o-0 lnYQME"><a sx="[object Object]" tabindex="0" aria-labelledby=":R16nlhb6n6:--label " id=":R16nlhb6n6:" aria-current="false" class="Link__StyledLink-sc-14289xe-0 dibTck" href="/en/actions/security-for-github-actions/security-hardening-your-deployments/using-openid-connect-with-reusable-workflows"><div data-component="ActionList.Item--DividerContainer" class="Box-sc-g0xbh4-0 hROlum"><span id=":R16nlhb6n6:--label" class="Box-sc-g0xbh4-0 bmseMA">OpenID Connect with reusable workflows</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="true" 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">Use cases and examples</span><span class="Box-sc-g0xbh4-0 lmYNOb"><svg sx="[object Object]" aria-hidden="true" focusable="false" class="octicon octicon-chevron-down Octicon-sc-9kayk9-0 gzcJGA" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" display="inline-block" overflow="visible" style="vertical-align:text-bottom"><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 enEvIH"><li class="Item__LiBox-sc-yeql7o-0 lnYQME"><a sx="[object Object]" tabindex="0" aria-labelledby=":R1ljb6n6:--label " id=":R1ljb6n6:" aria-current="false" class="Link__StyledLink-sc-14289xe-0 fuIgwR" href="/en/actions/use-cases-and-examples/creating-an-example-workflow"><div data-component="ActionList.Item--DividerContainer" class="Box-sc-g0xbh4-0 hROlum"><span id=":R1ljb6n6:--label" class="Box-sc-g0xbh4-0 bmseMA">Create an example workflow</span></div></a></li><li aria-labelledby=":R2ljb6n6:" class="Box-sc-g0xbh4-0 Ywlla"><button tabindex="0" aria-labelledby=":R2ljb6n6:--label " id=":R2ljb6n6:" aria-expanded="false" aria-controls=":R2ljb6n6H1:" 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=":R2ljb6n6:--label" class="Box-sc-g0xbh4-0 bmseMA">Build and test</span><span class="Box-sc-g0xbh4-0 lmYNOb"><svg sx="[object Object]" aria-hidden="true" focusable="false" class="octicon octicon-chevron-down Octicon-sc-9kayk9-0 daAEFx" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" display="inline-block" overflow="visible" style="vertical-align:text-bottom"><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=":R2ljb6n6H1:" aria-labelledby=":R2ljb6n6:" class="Box-sc-g0xbh4-0 gMkIpo"><li class="Item__LiBox-sc-yeql7o-0 lnYQME"><a sx="[object Object]" tabindex="0" aria-labelledby=":Rdaljb6n6:--label " id=":Rdaljb6n6:" aria-current="false" class="Link__StyledLink-sc-14289xe-0 dibTck" href="/en/actions/use-cases-and-examples/building-and-testing/building-and-testing-go"><div data-component="ActionList.Item--DividerContainer" class="Box-sc-g0xbh4-0 hROlum"><span id=":Rdaljb6n6:--label" class="Box-sc-g0xbh4-0 bmseMA">Build &amp; test Go</span></div></a></li><li class="Item__LiBox-sc-yeql7o-0 lnYQME"><a sx="[object Object]" tabindex="0" aria-labelledby=":Rlaljb6n6:--label " id=":Rlaljb6n6:" aria-current="false" class="Link__StyledLink-sc-14289xe-0 dibTck" href="/en/actions/use-cases-and-examples/building-and-testing/building-and-testing-java-with-ant"><div data-component="ActionList.Item--DividerContainer" class="Box-sc-g0xbh4-0 hROlum"><span id=":Rlaljb6n6:--label" class="Box-sc-g0xbh4-0 bmseMA">Build &amp; test Java &amp; Ant</span></div></a></li><li class="Item__LiBox-sc-yeql7o-0 lnYQME"><a sx="[object Object]" tabindex="0" aria-labelledby=":Rtaljb6n6:--label " id=":Rtaljb6n6:" aria-current="false" class="Link__StyledLink-sc-14289xe-0 dibTck" href="/en/actions/use-cases-and-examples/building-and-testing/building-and-testing-java-with-gradle"><div data-component="ActionList.Item--DividerContainer" class="Box-sc-g0xbh4-0 hROlum"><span id=":Rtaljb6n6:--label" class="Box-sc-g0xbh4-0 bmseMA">Build &amp; test Java &amp; Gradle</span></div></a></li><li class="Item__LiBox-sc-yeql7o-0 lnYQME"><a sx="[object Object]" tabindex="0" aria-labelledby=":R15aljb6n6:--label " id=":R15aljb6n6:" aria-current="false" class="Link__StyledLink-sc-14289xe-0 dibTck" href="/en/actions/use-cases-and-examples/building-and-testing/building-and-testing-java-with-maven"><div data-component="ActionList.Item--DividerContainer" class="Box-sc-g0xbh4-0 hROlum"><span id=":R15aljb6n6:--label" class="Box-sc-g0xbh4-0 bmseMA">Build &amp; test Java with Maven</span></div></a></li><li class="Item__LiBox-sc-yeql7o-0 lnYQME"><a sx="[object Object]" tabindex="0" aria-labelledby=":R1daljb6n6:--label " id=":R1daljb6n6:" aria-current="false" class="Link__StyledLink-sc-14289xe-0 dibTck" href="/en/actions/use-cases-and-examples/building-and-testing/building-and-testing-net"><div data-component="ActionList.Item--DividerContainer" class="Box-sc-g0xbh4-0 hROlum"><span id=":R1daljb6n6:--label" class="Box-sc-g0xbh4-0 bmseMA">Build &amp; test .NET</span></div></a></li><li class="Item__LiBox-sc-yeql7o-0 lnYQME"><a sx="[object Object]" tabindex="0" aria-labelledby=":R1laljb6n6:--label " id=":R1laljb6n6:" aria-current="false" class="Link__StyledLink-sc-14289xe-0 dibTck" href="/en/actions/use-cases-and-examples/building-and-testing/building-and-testing-nodejs"><div data-component="ActionList.Item--DividerContainer" class="Box-sc-g0xbh4-0 hROlum"><span id=":R1laljb6n6:--label" class="Box-sc-g0xbh4-0 bmseMA">Build &amp; test Node.js</span></div></a></li><li class="Item__LiBox-sc-yeql7o-0 lnYQME"><a sx="[object Object]" tabindex="0" aria-labelledby=":R1taljb6n6:--label " id=":R1taljb6n6:" aria-current="false" class="Link__StyledLink-sc-14289xe-0 dibTck" href="/en/actions/use-cases-and-examples/building-and-testing/building-and-testing-powershell"><div data-component="ActionList.Item--DividerContainer" class="Box-sc-g0xbh4-0 hROlum"><span id=":R1taljb6n6:--label" class="Box-sc-g0xbh4-0 bmseMA">Build &amp; test PowerShell</span></div></a></li><li class="Item__LiBox-sc-yeql7o-0 lnYQME"><a sx="[object Object]" tabindex="0" aria-labelledby=":R25aljb6n6:--label " id=":R25aljb6n6:" aria-current="false" class="Link__StyledLink-sc-14289xe-0 dibTck" href="/en/actions/use-cases-and-examples/building-and-testing/building-and-testing-python"><div data-component="ActionList.Item--DividerContainer" class="Box-sc-g0xbh4-0 hROlum"><span id=":R25aljb6n6:--label" class="Box-sc-g0xbh4-0 bmseMA">Build &amp; test Python</span></div></a></li><li class="Item__LiBox-sc-yeql7o-0 lnYQME"><a sx="[object Object]" tabindex="0" aria-labelledby=":R2daljb6n6:--label " id=":R2daljb6n6:" aria-current="false" class="Link__StyledLink-sc-14289xe-0 dibTck" href="/en/actions/use-cases-and-examples/building-and-testing/building-and-testing-ruby"><div data-component="ActionList.Item--DividerContainer" class="Box-sc-g0xbh4-0 hROlum"><span id=":R2daljb6n6:--label" class="Box-sc-g0xbh4-0 bmseMA">Build &amp; test Ruby</span></div></a></li><li class="Item__LiBox-sc-yeql7o-0 lnYQME"><a sx="[object Object]" tabindex="0" aria-labelledby=":R2laljb6n6:--label " id=":R2laljb6n6:" aria-current="false" class="Link__StyledLink-sc-14289xe-0 dibTck" href="/en/actions/use-cases-and-examples/building-and-testing/building-and-testing-rust"><div data-component="ActionList.Item--DividerContainer" class="Box-sc-g0xbh4-0 hROlum"><span id=":R2laljb6n6:--label" class="Box-sc-g0xbh4-0 bmseMA">Build &amp; test Rust</span></div></a></li><li class="Item__LiBox-sc-yeql7o-0 lnYQME"><a sx="[object Object]" tabindex="0" aria-labelledby=":R2taljb6n6:--label " id=":R2taljb6n6:" aria-current="false" class="Link__StyledLink-sc-14289xe-0 dibTck" href="/en/actions/use-cases-and-examples/building-and-testing/building-and-testing-swift"><div data-component="ActionList.Item--DividerContainer" class="Box-sc-g0xbh4-0 hROlum"><span id=":R2taljb6n6:--label" class="Box-sc-g0xbh4-0 bmseMA">Build &amp; test Swift</span></div></a></li><li class="Item__LiBox-sc-yeql7o-0 lnYQME"><a sx="[object Object]" tabindex="0" aria-labelledby=":R35aljb6n6:--label " id=":R35aljb6n6:" aria-current="false" class="Link__StyledLink-sc-14289xe-0 dibTck" href="/en/actions/use-cases-and-examples/building-and-testing/building-and-testing-xamarin-applications"><div data-component="ActionList.Item--DividerContainer" class="Box-sc-g0xbh4-0 hROlum"><span id=":R35aljb6n6:--label" class="Box-sc-g0xbh4-0 bmseMA">Build &amp; test Xamarin apps</span></div></a></li></ul></div></li><li aria-labelledby=":R3ljb6n6:" class="Box-sc-g0xbh4-0 Ywlla"><button tabindex="0" aria-labelledby=":R3ljb6n6:--label " id=":R3ljb6n6:" aria-expanded="true" aria-controls=":R3ljb6n6H1:" 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=":R3ljb6n6:--label" class="Box-sc-g0xbh4-0 bmseMA">Deployment</span><span class="Box-sc-g0xbh4-0 lmYNOb"><svg sx="[object Object]" aria-hidden="true" focusable="false" class="octicon octicon-chevron-down Octicon-sc-9kayk9-0 gzcJGA" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" display="inline-block" overflow="visible" style="vertical-align:text-bottom"><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=":R3ljb6n6H1:" aria-labelledby=":R3ljb6n6:" class="Box-sc-g0xbh4-0 enEvIH"><li class="Item__LiBox-sc-yeql7o-0 lnYQME"><a sx="[object Object]" tabindex="0" aria-labelledby=":Rdbljb6n6:--label " id=":Rdbljb6n6:" aria-current="false" class="Link__StyledLink-sc-14289xe-0 dibTck" href="/en/actions/use-cases-and-examples/deploying/deploying-with-github-actions"><div data-component="ActionList.Item--DividerContainer" class="Box-sc-g0xbh4-0 hROlum"><span id=":Rdbljb6n6:--label" class="Box-sc-g0xbh4-0 bmseMA">Deploy with GitHub Actions</span></div></a></li><li class="Item__LiBox-sc-yeql7o-0 lnYQME"><a sx="[object Object]" tabindex="0" aria-labelledby=":Rlbljb6n6:--label " id=":Rlbljb6n6:" aria-current="false" class="Link__StyledLink-sc-14289xe-0 dibTck" href="/en/actions/use-cases-and-examples/deploying/deploying-nodejs-to-azure-app-service"><div data-component="ActionList.Item--DividerContainer" class="Box-sc-g0xbh4-0 hROlum"><span id=":Rlbljb6n6:--label" class="Box-sc-g0xbh4-0 bmseMA">Deploying Node.js to Azure App Service</span></div></a></li><li class="Item__LiBox-sc-yeql7o-0 lnYQME"><a sx="[object Object]" tabindex="0" aria-labelledby=":Rtbljb6n6:--label " id=":Rtbljb6n6:" aria-current="false" class="Link__StyledLink-sc-14289xe-0 dibTck" href="/en/actions/use-cases-and-examples/deploying/deploying-python-to-azure-app-service"><div data-component="ActionList.Item--DividerContainer" class="Box-sc-g0xbh4-0 hROlum"><span id=":Rtbljb6n6:--label" class="Box-sc-g0xbh4-0 bmseMA">Deploying Python to Azure App Service</span></div></a></li><li class="Item__LiBox-sc-yeql7o-0 lnYQME"><a sx="[object Object]" tabindex="0" aria-labelledby=":R15bljb6n6:--label " id=":R15bljb6n6:" aria-current="false" class="Link__StyledLink-sc-14289xe-0 dibTck" href="/en/actions/use-cases-and-examples/deploying/deploying-java-to-azure-app-service"><div data-component="ActionList.Item--DividerContainer" class="Box-sc-g0xbh4-0 hROlum"><span id=":R15bljb6n6:--label" class="Box-sc-g0xbh4-0 bmseMA">Deploying Java to Azure App Service</span></div></a></li><li class="Item__LiBox-sc-yeql7o-0 lnYQME"><a sx="[object Object]" tabindex="0" aria-labelledby=":R1dbljb6n6:--label " id=":R1dbljb6n6:" aria-current="false" class="Link__StyledLink-sc-14289xe-0 dibTck" href="/en/actions/use-cases-and-examples/deploying/deploying-net-to-azure-app-service"><div data-component="ActionList.Item--DividerContainer" class="Box-sc-g0xbh4-0 hROlum"><span id=":R1dbljb6n6:--label" class="Box-sc-g0xbh4-0 bmseMA">Deploying .NET to Azure App Service</span></div></a></li><li class="Item__LiBox-sc-yeql7o-0 lnYQME"><a sx="[object Object]" tabindex="0" aria-labelledby=":R1lbljb6n6:--label " id=":R1lbljb6n6:" aria-current="false" class="Link__StyledLink-sc-14289xe-0 dibTck" href="/en/actions/use-cases-and-examples/deploying/deploying-php-to-azure-app-service"><div data-component="ActionList.Item--DividerContainer" class="Box-sc-g0xbh4-0 hROlum"><span id=":R1lbljb6n6:--label" class="Box-sc-g0xbh4-0 bmseMA">Deploying PHP to Azure App Service</span></div></a></li><li class="Item__LiBox-sc-yeql7o-0 lnYQME"><a sx="[object Object]" tabindex="0" aria-labelledby=":R1tbljb6n6:--label " id=":R1tbljb6n6:" aria-current="false" class="Link__StyledLink-sc-14289xe-0 dibTck" href="/en/actions/use-cases-and-examples/deploying/deploying-docker-to-azure-app-service"><div data-component="ActionList.Item--DividerContainer" class="Box-sc-g0xbh4-0 hROlum"><span id=":R1tbljb6n6:--label" class="Box-sc-g0xbh4-0 bmseMA">Deploying Docker to Azure App Service</span></div></a></li><li class="Item__LiBox-sc-yeql7o-0 hTSEii"><a sx="[object Object]" tabindex="0" aria-labelledby=":R25bljb6n6:--label " id=":R25bljb6n6:" aria-current="page" class="Link__StyledLink-sc-14289xe-0 dibTck" href="/en/actions/use-cases-and-examples/deploying/deploying-to-azure-static-web-app"><div data-component="ActionList.Item--DividerContainer" class="Box-sc-g0xbh4-0 hROlum"><span id=":R25bljb6n6:--label" class="Box-sc-g0xbh4-0 ivpQTm">Deploying to Azure Static Web App</span></div></a></li><li class="Item__LiBox-sc-yeql7o-0 lnYQME"><a sx="[object Object]" tabindex="0" aria-labelledby=":R2dbljb6n6:--label " id=":R2dbljb6n6:" aria-current="false" class="Link__StyledLink-sc-14289xe-0 dibTck" href="/en/actions/use-cases-and-examples/deploying/deploying-to-azure-kubernetes-service"><div data-component="ActionList.Item--DividerContainer" class="Box-sc-g0xbh4-0 hROlum"><span id=":R2dbljb6n6:--label" class="Box-sc-g0xbh4-0 bmseMA">Deploying to Azure Kubernetes Service</span></div></a></li><li class="Item__LiBox-sc-yeql7o-0 lnYQME"><a sx="[object Object]" tabindex="0" aria-labelledby=":R2lbljb6n6:--label " id=":R2lbljb6n6:" aria-current="false" class="Link__StyledLink-sc-14289xe-0 dibTck" href="/en/actions/use-cases-and-examples/deploying/deploying-to-amazon-elastic-container-service"><div data-component="ActionList.Item--DividerContainer" class="Box-sc-g0xbh4-0 hROlum"><span id=":R2lbljb6n6:--label" class="Box-sc-g0xbh4-0 bmseMA">Deploy to Amazon ECS</span></div></a></li><li class="Item__LiBox-sc-yeql7o-0 lnYQME"><a sx="[object Object]" tabindex="0" aria-labelledby=":R2tbljb6n6:--label " id=":R2tbljb6n6:" aria-current="false" class="Link__StyledLink-sc-14289xe-0 dibTck" href="/en/actions/use-cases-and-examples/deploying/deploying-to-google-kubernetes-engine"><div data-component="ActionList.Item--DividerContainer" class="Box-sc-g0xbh4-0 hROlum"><span id=":R2tbljb6n6:--label" class="Box-sc-g0xbh4-0 bmseMA">Deploy to Google Kubernetes Engine</span></div></a></li><li class="Item__LiBox-sc-yeql7o-0 lnYQME"><a sx="[object Object]" tabindex="0" aria-labelledby=":R35bljb6n6:--label " id=":R35bljb6n6:" aria-current="false" class="Link__StyledLink-sc-14289xe-0 dibTck" href="/en/actions/use-cases-and-examples/deploying/installing-an-apple-certificate-on-macos-runners-for-xcode-development"><div data-component="ActionList.Item--DividerContainer" class="Box-sc-g0xbh4-0 hROlum"><span id=":R35bljb6n6:--label" class="Box-sc-g0xbh4-0 bmseMA">Sign Xcode applications</span></div></a></li></ul></div></li><li aria-labelledby=":R4ljb6n6:" class="Box-sc-g0xbh4-0 Ywlla"><button tabindex="0" aria-labelledby=":R4ljb6n6:--label " id=":R4ljb6n6:" aria-expanded="false" aria-controls=":R4ljb6n6H1:" 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=":R4ljb6n6:--label" class="Box-sc-g0xbh4-0 bmseMA">Publish packages</span><span class="Box-sc-g0xbh4-0 lmYNOb"><svg sx="[object Object]" aria-hidden="true" focusable="false" class="octicon octicon-chevron-down Octicon-sc-9kayk9-0 daAEFx" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" display="inline-block" overflow="visible" style="vertical-align:text-bottom"><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=":R4ljb6n6H1:" aria-labelledby=":R4ljb6n6:" class="Box-sc-g0xbh4-0 gMkIpo"><li class="Item__LiBox-sc-yeql7o-0 lnYQME"><a sx="[object Object]" tabindex="0" aria-labelledby=":Rdcljb6n6:--label " id=":Rdcljb6n6:" aria-current="false" class="Link__StyledLink-sc-14289xe-0 dibTck" href="/en/actions/use-cases-and-examples/publishing-packages/about-packaging-with-github-actions"><div data-component="ActionList.Item--DividerContainer" class="Box-sc-g0xbh4-0 hROlum"><span id=":Rdcljb6n6:--label" class="Box-sc-g0xbh4-0 bmseMA">Packaging with GitHub Actions</span></div></a></li><li class="Item__LiBox-sc-yeql7o-0 lnYQME"><a sx="[object Object]" tabindex="0" aria-labelledby=":Rlcljb6n6:--label " id=":Rlcljb6n6:" aria-current="false" class="Link__StyledLink-sc-14289xe-0 dibTck" href="/en/actions/use-cases-and-examples/publishing-packages/publishing-docker-images"><div data-component="ActionList.Item--DividerContainer" class="Box-sc-g0xbh4-0 hROlum"><span id=":Rlcljb6n6:--label" class="Box-sc-g0xbh4-0 bmseMA">Publish Docker images</span></div></a></li><li class="Item__LiBox-sc-yeql7o-0 lnYQME"><a sx="[object Object]" tabindex="0" aria-labelledby=":Rtcljb6n6:--label " id=":Rtcljb6n6:" aria-current="false" class="Link__StyledLink-sc-14289xe-0 dibTck" href="/en/actions/use-cases-and-examples/publishing-packages/publishing-java-packages-with-gradle"><div data-component="ActionList.Item--DividerContainer" class="Box-sc-g0xbh4-0 hROlum"><span id=":Rtcljb6n6:--label" class="Box-sc-g0xbh4-0 bmseMA">Publish Java packages with Gradle</span></div></a></li><li class="Item__LiBox-sc-yeql7o-0 lnYQME"><a sx="[object Object]" tabindex="0" aria-labelledby=":R15cljb6n6:--label " id=":R15cljb6n6:" aria-current="false" class="Link__StyledLink-sc-14289xe-0 dibTck" href="/en/actions/use-cases-and-examples/publishing-packages/publishing-java-packages-with-maven"><div data-component="ActionList.Item--DividerContainer" class="Box-sc-g0xbh4-0 hROlum"><span id=":R15cljb6n6:--label" class="Box-sc-g0xbh4-0 bmseMA">Publish Java packages with Maven</span></div></a></li><li class="Item__LiBox-sc-yeql7o-0 lnYQME"><a sx="[object Object]" tabindex="0" aria-labelledby=":R1dcljb6n6:--label " id=":R1dcljb6n6:" aria-current="false" class="Link__StyledLink-sc-14289xe-0 dibTck" href="/en/actions/use-cases-and-examples/publishing-packages/publishing-nodejs-packages"><div data-component="ActionList.Item--DividerContainer" class="Box-sc-g0xbh4-0 hROlum"><span id=":R1dcljb6n6:--label" class="Box-sc-g0xbh4-0 bmseMA">Publish Node.js packages</span></div></a></li></ul></div></li><li aria-labelledby=":R5ljb6n6:" class="Box-sc-g0xbh4-0 Ywlla"><button tabindex="0" aria-labelledby=":R5ljb6n6:--label " id=":R5ljb6n6:" aria-expanded="false" aria-controls=":R5ljb6n6H1:" 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=":R5ljb6n6:--label" class="Box-sc-g0xbh4-0 bmseMA">Project management</span><span class="Box-sc-g0xbh4-0 lmYNOb"><svg sx="[object Object]" aria-hidden="true" focusable="false" class="octicon octicon-chevron-down Octicon-sc-9kayk9-0 daAEFx" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" display="inline-block" overflow="visible" style="vertical-align:text-bottom"><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=":R5ljb6n6H1:" aria-labelledby=":R5ljb6n6:" class="Box-sc-g0xbh4-0 gMkIpo"><li class="Item__LiBox-sc-yeql7o-0 lnYQME"><a sx="[object Object]" tabindex="0" aria-labelledby=":Rddljb6n6:--label " id=":Rddljb6n6:" aria-current="false" class="Link__StyledLink-sc-14289xe-0 dibTck" href="/en/actions/use-cases-and-examples/project-management/using-github-actions-for-project-management"><div data-component="ActionList.Item--DividerContainer" class="Box-sc-g0xbh4-0 hROlum"><span id=":Rddljb6n6:--label" class="Box-sc-g0xbh4-0 bmseMA">Actions for project management</span></div></a></li><li class="Item__LiBox-sc-yeql7o-0 lnYQME"><a sx="[object Object]" tabindex="0" aria-labelledby=":Rldljb6n6:--label " id=":Rldljb6n6:" aria-current="false" class="Link__StyledLink-sc-14289xe-0 dibTck" href="/en/actions/use-cases-and-examples/project-management/adding-labels-to-issues"><div data-component="ActionList.Item--DividerContainer" class="Box-sc-g0xbh4-0 hROlum"><span id=":Rldljb6n6:--label" class="Box-sc-g0xbh4-0 bmseMA">Add labels to issues</span></div></a></li><li class="Item__LiBox-sc-yeql7o-0 lnYQME"><a sx="[object Object]" tabindex="0" aria-labelledby=":Rtdljb6n6:--label " id=":Rtdljb6n6:" aria-current="false" class="Link__StyledLink-sc-14289xe-0 dibTck" href="/en/actions/use-cases-and-examples/project-management/closing-inactive-issues"><div data-component="ActionList.Item--DividerContainer" class="Box-sc-g0xbh4-0 hROlum"><span id=":Rtdljb6n6:--label" class="Box-sc-g0xbh4-0 bmseMA">Close inactive issues</span></div></a></li><li class="Item__LiBox-sc-yeql7o-0 lnYQME"><a sx="[object Object]" tabindex="0" aria-labelledby=":R15dljb6n6:--label " id=":R15dljb6n6:" aria-current="false" class="Link__StyledLink-sc-14289xe-0 dibTck" href="/en/actions/use-cases-and-examples/project-management/commenting-on-an-issue-when-a-label-is-added"><div data-component="ActionList.Item--DividerContainer" class="Box-sc-g0xbh4-0 hROlum"><span id=":R15dljb6n6:--label" class="Box-sc-g0xbh4-0 bmseMA">Add label to comment on issue</span></div></a></li><li class="Item__LiBox-sc-yeql7o-0 lnYQME"><a sx="[object Object]" tabindex="0" aria-labelledby=":R1ddljb6n6:--label " id=":R1ddljb6n6:" aria-current="false" class="Link__StyledLink-sc-14289xe-0 dibTck" href="/en/actions/use-cases-and-examples/project-management/scheduling-issue-creation"><div data-component="ActionList.Item--DividerContainer" class="Box-sc-g0xbh4-0 hROlum"><span id=":R1ddljb6n6:--label" class="Box-sc-g0xbh4-0 bmseMA">Schedule issue creation</span></div></a></li></ul></div></li><li aria-labelledby=":R6ljb6n6:" class="Box-sc-g0xbh4-0 Ywlla"><button tabindex="0" aria-labelledby=":R6ljb6n6:--label " id=":R6ljb6n6:" aria-expanded="false" aria-controls=":R6ljb6n6H1:" 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=":R6ljb6n6:--label" class="Box-sc-g0xbh4-0 bmseMA">Containerized services</span><span class="Box-sc-g0xbh4-0 lmYNOb"><svg sx="[object Object]" aria-hidden="true" focusable="false" class="octicon octicon-chevron-down Octicon-sc-9kayk9-0 daAEFx" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" display="inline-block" overflow="visible" style="vertical-align:text-bottom"><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=":R6ljb6n6H1:" aria-labelledby=":R6ljb6n6:" class="Box-sc-g0xbh4-0 gMkIpo"><li class="Item__LiBox-sc-yeql7o-0 lnYQME"><a sx="[object Object]" tabindex="0" aria-labelledby=":Rdeljb6n6:--label " id=":Rdeljb6n6:" aria-current="false" class="Link__StyledLink-sc-14289xe-0 dibTck" href="/en/actions/use-cases-and-examples/using-containerized-services/about-service-containers"><div data-component="ActionList.Item--DividerContainer" class="Box-sc-g0xbh4-0 hROlum"><span id=":Rdeljb6n6:--label" class="Box-sc-g0xbh4-0 bmseMA">About service containers</span></div></a></li><li class="Item__LiBox-sc-yeql7o-0 lnYQME"><a sx="[object Object]" tabindex="0" aria-labelledby=":Rleljb6n6:--label " id=":Rleljb6n6:" aria-current="false" class="Link__StyledLink-sc-14289xe-0 dibTck" href="/en/actions/use-cases-and-examples/using-containerized-services/creating-postgresql-service-containers"><div data-component="ActionList.Item--DividerContainer" class="Box-sc-g0xbh4-0 hROlum"><span id=":Rleljb6n6:--label" class="Box-sc-g0xbh4-0 bmseMA">Create PostgreSQL service containers</span></div></a></li><li class="Item__LiBox-sc-yeql7o-0 lnYQME"><a sx="[object Object]" tabindex="0" aria-labelledby=":Rteljb6n6:--label " id=":Rteljb6n6:" aria-current="false" class="Link__StyledLink-sc-14289xe-0 dibTck" href="/en/actions/use-cases-and-examples/using-containerized-services/creating-redis-service-containers"><div data-component="ActionList.Item--DividerContainer" class="Box-sc-g0xbh4-0 hROlum"><span id=":Rteljb6n6:--label" class="Box-sc-g0xbh4-0 bmseMA">Create Redis service containers</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">Migrate to GitHub Actions</span><span class="Box-sc-g0xbh4-0 lmYNOb"><svg sx="[object Object]" aria-hidden="true" focusable="false" class="octicon octicon-chevron-down Octicon-sc-9kayk9-0 daAEFx" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" display="inline-block" overflow="visible" style="vertical-align:text-bottom"><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 aria-labelledby=":R1llb6n6:" class="Box-sc-g0xbh4-0 Ywlla"><button tabindex="0" aria-labelledby=":R1llb6n6:--label " id=":R1llb6n6:" aria-expanded="false" aria-controls=":R1llb6n6H1:" 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=":R1llb6n6:--label" class="Box-sc-g0xbh4-0 bmseMA">Automated migrations</span><span class="Box-sc-g0xbh4-0 lmYNOb"><svg sx="[object Object]" aria-hidden="true" focusable="false" class="octicon octicon-chevron-down Octicon-sc-9kayk9-0 daAEFx" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" display="inline-block" overflow="visible" style="vertical-align:text-bottom"><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=":R1llb6n6H1:" aria-labelledby=":R1llb6n6:" class="Box-sc-g0xbh4-0 gMkIpo"><li class="Item__LiBox-sc-yeql7o-0 lnYQME"><a sx="[object Object]" tabindex="0" aria-labelledby=":R6lllb6n6:--label " id=":R6lllb6n6:" aria-current="false" class="Link__StyledLink-sc-14289xe-0 dibTck" href="/en/actions/migrating-to-github-actions/using-github-actions-importer-to-automate-migrations/automating-migration-with-github-actions-importer"><div data-component="ActionList.Item--DividerContainer" class="Box-sc-g0xbh4-0 hROlum"><span id=":R6lllb6n6:--label" class="Box-sc-g0xbh4-0 bmseMA">Automate migration with GitHub Actions Importer</span></div></a></li><li class="Item__LiBox-sc-yeql7o-0 lnYQME"><a sx="[object Object]" tabindex="0" aria-labelledby=":Ralllb6n6:--label " id=":Ralllb6n6:" aria-current="false" class="Link__StyledLink-sc-14289xe-0 dibTck" href="/en/actions/migrating-to-github-actions/using-github-actions-importer-to-automate-migrations/extending-github-actions-importer-with-custom-transformers"><div data-component="ActionList.Item--DividerContainer" class="Box-sc-g0xbh4-0 hROlum"><span id=":Ralllb6n6:--label" class="Box-sc-g0xbh4-0 bmseMA">Extending GitHub Actions Importer</span></div></a></li><li class="Item__LiBox-sc-yeql7o-0 lnYQME"><a sx="[object Object]" tabindex="0" aria-labelledby=":Relllb6n6:--label " id=":Relllb6n6:" aria-current="false" class="Link__StyledLink-sc-14289xe-0 dibTck" href="/en/actions/migrating-to-github-actions/using-github-actions-importer-to-automate-migrations/supplemental-arguments-and-settings"><div data-component="ActionList.Item--DividerContainer" class="Box-sc-g0xbh4-0 hROlum"><span id=":Relllb6n6:--label" class="Box-sc-g0xbh4-0 bmseMA">Supplemental arguments and settings</span></div></a></li><li class="Item__LiBox-sc-yeql7o-0 lnYQME"><a sx="[object Object]" tabindex="0" aria-labelledby=":Rilllb6n6:--label " id=":Rilllb6n6:" aria-current="false" class="Link__StyledLink-sc-14289xe-0 dibTck" href="/en/actions/migrating-to-github-actions/using-github-actions-importer-to-automate-migrations/migrating-from-azure-devops-with-github-actions-importer"><div data-component="ActionList.Item--DividerContainer" class="Box-sc-g0xbh4-0 hROlum"><span id=":Rilllb6n6:--label" class="Box-sc-g0xbh4-0 bmseMA">Azure DevOps migration</span></div></a></li><li class="Item__LiBox-sc-yeql7o-0 lnYQME"><a sx="[object Object]" tabindex="0" aria-labelledby=":Rmlllb6n6:--label " id=":Rmlllb6n6:" aria-current="false" class="Link__StyledLink-sc-14289xe-0 dibTck" href="/en/actions/migrating-to-github-actions/using-github-actions-importer-to-automate-migrations/migrating-from-bamboo-with-github-actions-importer"><div data-component="ActionList.Item--DividerContainer" class="Box-sc-g0xbh4-0 hROlum"><span id=":Rmlllb6n6:--label" class="Box-sc-g0xbh4-0 bmseMA">Bamboo migration</span></div></a></li><li class="Item__LiBox-sc-yeql7o-0 lnYQME"><a sx="[object Object]" tabindex="0" aria-labelledby=":Rqlllb6n6:--label " id=":Rqlllb6n6:" aria-current="false" class="Link__StyledLink-sc-14289xe-0 dibTck" href="/en/actions/migrating-to-github-actions/using-github-actions-importer-to-automate-migrations/migrating-from-bitbucket-pipelines-with-github-actions-importer"><div data-component="ActionList.Item--DividerContainer" class="Box-sc-g0xbh4-0 hROlum"><span id=":Rqlllb6n6:--label" class="Box-sc-g0xbh4-0 bmseMA">Bitbucket Pipelines migration</span></div></a></li><li class="Item__LiBox-sc-yeql7o-0 lnYQME"><a sx="[object Object]" tabindex="0" aria-labelledby=":Rulllb6n6:--label " id=":Rulllb6n6:" aria-current="false" class="Link__StyledLink-sc-14289xe-0 dibTck" href="/en/actions/migrating-to-github-actions/using-github-actions-importer-to-automate-migrations/migrating-from-circleci-with-github-actions-importer"><div data-component="ActionList.Item--DividerContainer" class="Box-sc-g0xbh4-0 hROlum"><span id=":Rulllb6n6:--label" class="Box-sc-g0xbh4-0 bmseMA">CircleCI migration</span></div></a></li><li class="Item__LiBox-sc-yeql7o-0 lnYQME"><a sx="[object Object]" tabindex="0" aria-labelledby=":R12lllb6n6:--label " id=":R12lllb6n6:" aria-current="false" class="Link__StyledLink-sc-14289xe-0 dibTck" href="/en/actions/migrating-to-github-actions/using-github-actions-importer-to-automate-migrations/migrating-from-gitlab-with-github-actions-importer"><div data-component="ActionList.Item--DividerContainer" class="Box-sc-g0xbh4-0 hROlum"><span id=":R12lllb6n6:--label" class="Box-sc-g0xbh4-0 bmseMA">GitLab migration</span></div></a></li><li class="Item__LiBox-sc-yeql7o-0 lnYQME"><a sx="[object Object]" tabindex="0" aria-labelledby=":R16lllb6n6:--label " id=":R16lllb6n6:" aria-current="false" class="Link__StyledLink-sc-14289xe-0 dibTck" href="/en/actions/migrating-to-github-actions/using-github-actions-importer-to-automate-migrations/migrating-from-jenkins-with-github-actions-importer"><div data-component="ActionList.Item--DividerContainer" class="Box-sc-g0xbh4-0 hROlum"><span id=":R16lllb6n6:--label" class="Box-sc-g0xbh4-0 bmseMA">Jenkins migration</span></div></a></li><li class="Item__LiBox-sc-yeql7o-0 lnYQME"><a sx="[object Object]" tabindex="0" aria-labelledby=":R1alllb6n6:--label " id=":R1alllb6n6:" aria-current="false" class="Link__StyledLink-sc-14289xe-0 dibTck" href="/en/actions/migrating-to-github-actions/using-github-actions-importer-to-automate-migrations/migrating-from-travis-ci-with-github-actions-importer"><div data-component="ActionList.Item--DividerContainer" class="Box-sc-g0xbh4-0 hROlum"><span id=":R1alllb6n6:--label" class="Box-sc-g0xbh4-0 bmseMA">Travis CI migration</span></div></a></li></ul></div></li><li aria-labelledby=":R2llb6n6:" class="Box-sc-g0xbh4-0 Ywlla"><button tabindex="0" aria-labelledby=":R2llb6n6:--label " id=":R2llb6n6:" aria-expanded="false" aria-controls=":R2llb6n6H1:" 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=":R2llb6n6:--label" class="Box-sc-g0xbh4-0 bmseMA">Manual migrations</span><span class="Box-sc-g0xbh4-0 lmYNOb"><svg sx="[object Object]" aria-hidden="true" focusable="false" class="octicon octicon-chevron-down Octicon-sc-9kayk9-0 daAEFx" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" display="inline-block" overflow="visible" style="vertical-align:text-bottom"><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=":R2llb6n6H1:" aria-labelledby=":R2llb6n6:" class="Box-sc-g0xbh4-0 gMkIpo"><li class="Item__LiBox-sc-yeql7o-0 lnYQME"><a sx="[object Object]" tabindex="0" aria-labelledby=":R6mllb6n6:--label " id=":R6mllb6n6:" aria-current="false" class="Link__StyledLink-sc-14289xe-0 dibTck" href="/en/actions/migrating-to-github-actions/manually-migrating-to-github-actions/migrating-from-azure-pipelines-to-github-actions"><div data-component="ActionList.Item--DividerContainer" class="Box-sc-g0xbh4-0 hROlum"><span id=":R6mllb6n6:--label" class="Box-sc-g0xbh4-0 bmseMA">Migrate from Azure Pipelines</span></div></a></li><li class="Item__LiBox-sc-yeql7o-0 lnYQME"><a sx="[object Object]" tabindex="0" aria-labelledby=":Ramllb6n6:--label " id=":Ramllb6n6:" aria-current="false" class="Link__StyledLink-sc-14289xe-0 dibTck" href="/en/actions/migrating-to-github-actions/manually-migrating-to-github-actions/migrating-from-circleci-to-github-actions"><div data-component="ActionList.Item--DividerContainer" class="Box-sc-g0xbh4-0 hROlum"><span id=":Ramllb6n6:--label" class="Box-sc-g0xbh4-0 bmseMA">Migrate from CircleCI</span></div></a></li><li class="Item__LiBox-sc-yeql7o-0 lnYQME"><a sx="[object Object]" tabindex="0" aria-labelledby=":Remllb6n6:--label " id=":Remllb6n6:" aria-current="false" class="Link__StyledLink-sc-14289xe-0 dibTck" href="/en/actions/migrating-to-github-actions/manually-migrating-to-github-actions/migrating-from-gitlab-cicd-to-github-actions"><div data-component="ActionList.Item--DividerContainer" class="Box-sc-g0xbh4-0 hROlum"><span id=":Remllb6n6:--label" class="Box-sc-g0xbh4-0 bmseMA">Migrate from GitLab CI/CD</span></div></a></li><li class="Item__LiBox-sc-yeql7o-0 lnYQME"><a sx="[object Object]" tabindex="0" aria-labelledby=":Rimllb6n6:--label " id=":Rimllb6n6:" aria-current="false" class="Link__StyledLink-sc-14289xe-0 dibTck" href="/en/actions/migrating-to-github-actions/manually-migrating-to-github-actions/migrating-from-jenkins-to-github-actions"><div data-component="ActionList.Item--DividerContainer" class="Box-sc-g0xbh4-0 hROlum"><span id=":Rimllb6n6:--label" class="Box-sc-g0xbh4-0 bmseMA">Migrate from Jenkins</span></div></a></li><li class="Item__LiBox-sc-yeql7o-0 lnYQME"><a sx="[object Object]" tabindex="0" aria-labelledby=":Rmmllb6n6:--label " id=":Rmmllb6n6:" aria-current="false" class="Link__StyledLink-sc-14289xe-0 dibTck" href="/en/actions/migrating-to-github-actions/manually-migrating-to-github-actions/migrating-from-travis-ci-to-github-actions"><div data-component="ActionList.Item--DividerContainer" class="Box-sc-g0xbh4-0 hROlum"><span id=":Rmmllb6n6:--label" class="Box-sc-g0xbh4-0 bmseMA">Migrate from Travis CI</span></div></a></li></ul></div></li></ul></div></li><li aria-labelledby=":Rnb6n6:" class="Box-sc-g0xbh4-0 Ywlla"><button tabindex="0" aria-labelledby=":Rnb6n6:--label " id=":Rnb6n6:" aria-expanded="false" aria-controls=":Rnb6n6H1:" 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=":Rnb6n6:--label" class="Box-sc-g0xbh4-0 bmseMA">Administer GitHub Actions</span><span class="Box-sc-g0xbh4-0 lmYNOb"><svg sx="[object Object]" aria-hidden="true" focusable="false" class="octicon octicon-chevron-down Octicon-sc-9kayk9-0 daAEFx" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" display="inline-block" overflow="visible" style="vertical-align:text-bottom"><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=":Rnb6n6H1:" aria-labelledby=":Rnb6n6:" class="Box-sc-g0xbh4-0 gMkIpo"><li class="Item__LiBox-sc-yeql7o-0 lnYQME"><a sx="[object Object]" tabindex="0" aria-labelledby=":R1lnb6n6:--label " id=":R1lnb6n6:" aria-current="false" class="Link__StyledLink-sc-14289xe-0 fuIgwR" href="/en/actions/administering-github-actions/usage-limits-billing-and-administration"><div data-component="ActionList.Item--DividerContainer" class="Box-sc-g0xbh4-0 hROlum"><span id=":R1lnb6n6:--label" class="Box-sc-g0xbh4-0 bmseMA">Workflow billing &amp; limits</span></div></a></li><li class="Item__LiBox-sc-yeql7o-0 lnYQME"><a sx="[object Object]" tabindex="0" aria-labelledby=":R2lnb6n6:--label " id=":R2lnb6n6:" aria-current="false" class="Link__StyledLink-sc-14289xe-0 fuIgwR" href="/en/actions/administering-github-actions/viewing-github-actions-metrics"><div data-component="ActionList.Item--DividerContainer" class="Box-sc-g0xbh4-0 hROlum"><span id=":R2lnb6n6:--label" class="Box-sc-g0xbh4-0 bmseMA">GitHub Actions metrics</span></div></a></li><li class="Item__LiBox-sc-yeql7o-0 lnYQME"><a sx="[object Object]" tabindex="0" aria-labelledby=":R3lnb6n6:--label " id=":R3lnb6n6:" aria-current="false" class="Link__StyledLink-sc-14289xe-0 fuIgwR" href="/en/actions/administering-github-actions/sharing-workflows-secrets-and-runners-with-your-organization"><div data-component="ActionList.Item--DividerContainer" class="Box-sc-g0xbh4-0 hROlum"><span id=":R3lnb6n6:--label" class="Box-sc-g0xbh4-0 bmseMA">Share workflows with your organization</span></div></a></li></ul></div></li><li class="Item__LiBox-sc-yeql7o-0 lnYQME"><a sx="[object Object]" tabindex="0" aria-labelledby=":Rpb6n6:--label " id=":Rpb6n6:" aria-current="false" class="Link__StyledLink-sc-14289xe-0 cJbOew" href="/en/actions/guides"><div data-component="ActionList.Item--DividerContainer" class="Box-sc-g0xbh4-0 hROlum"><span id=":Rpb6n6:--label" class="Box-sc-g0xbh4-0 bmseMA">Guides for GitHub Actions</span></div></a></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="GitHub Actions" class="Link--primary mr-2 color-fg-muted" href="/en/actions">GitHub Actions</a><span class="color-fg-muted pr-2">/</span></li><li class="d-inline-block"><a rel="" data-testid="breadcrumb-link" title="Use cases and examples" class="Link--primary mr-2 color-fg-muted" href="/en/actions/use-cases-and-examples">Use cases and examples</a><span class="color-fg-muted pr-2">/</span></li><li class="d-inline-block"><a rel="" data-testid="breadcrumb-link" title="Deployment" class="Link--primary mr-2 color-fg-muted" href="/en/actions/use-cases-and-examples/deploying">Deployment</a><span class="color-fg-muted pr-2">/</span></li><li class="d-inline-block"><a rel="" data-testid="breadcrumb-link" title="Deploying to Azure Static Web App" class="Link--primary mr-2 color-fg-muted d-none" href="/en/actions/use-cases-and-examples/deploying/deploying-to-azure-static-web-app">Deploying to Azure Static Web App</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">Deploying to Azure Static Web App</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>You can deploy your web app to Azure Static Web App as part of your continuous deployment (CD) workflows.</p></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=":R2dkteqn6:--label " id=":R2dkteqn6:" aria-current="false" href="#introduction" class="Link__StyledLink-sc-14289xe-0 cJbOew Minitocs_nested__JSAov"><div data-component="ActionList.Item--DividerContainer" class="Box-sc-g0xbh4-0 hROlum"><span id=":R2dkteqn6:--label" class="Box-sc-g0xbh4-0 bmseMA">Introduction</span></div></a></li><li class="Item__LiBox-sc-yeql7o-0 lnYQME"><a tabindex="0" aria-labelledby=":R2lkteqn6:--label " id=":R2lkteqn6:" aria-current="false" href="#prerequisites" class="Link__StyledLink-sc-14289xe-0 cJbOew Minitocs_nested__JSAov"><div data-component="ActionList.Item--DividerContainer" class="Box-sc-g0xbh4-0 hROlum"><span id=":R2lkteqn6:--label" class="Box-sc-g0xbh4-0 bmseMA">Prerequisites</span></div></a></li><li class="Item__LiBox-sc-yeql7o-0 lnYQME"><a tabindex="0" aria-labelledby=":R2tkteqn6:--label " id=":R2tkteqn6:" aria-current="false" href="#creating-the-workflow" class="Link__StyledLink-sc-14289xe-0 cJbOew Minitocs_nested__JSAov"><div data-component="ActionList.Item--DividerContainer" class="Box-sc-g0xbh4-0 hROlum"><span id=":R2tkteqn6:--label" class="Box-sc-g0xbh4-0 bmseMA">Creating the workflow</span></div></a></li><li class="Item__LiBox-sc-yeql7o-0 lnYQME"><a tabindex="0" aria-labelledby=":R35kteqn6:--label " id=":R35kteqn6:" aria-current="false" href="#additional-resources" class="Link__StyledLink-sc-14289xe-0 cJbOew Minitocs_nested__JSAov"><div data-component="ActionList.Item--DividerContainer" class="Box-sc-g0xbh4-0 hROlum"><span id=":R35kteqn6:--label" class="Box-sc-g0xbh4-0 bmseMA">Additional resources</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="introduction" tabindex="-1"><a class="heading-link" href="#introduction">Introduction<span class="heading-link-symbol" aria-hidden="true"></span></a></h2> <p>This guide explains how to use GitHub Actions to build and deploy a web app to <a href="https://azure.microsoft.com/services/app-service/static/">Azure Static Web Apps</a>.</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> If your GitHub Actions workflows need to access resources from a cloud provider that supports OpenID Connect (OIDC), you can configure your workflows to authenticate directly to the cloud provider. This will let you stop storing these credentials as long-lived secrets and provide other security benefits. For more information, see <a href="/en/actions/deployment/security-hardening-your-deployments/about-security-hardening-with-openid-connect" _originalHref="/actions/deployment/security-hardening-your-deployments/about-security-hardening-with-openid-connect">About security hardening with OpenID Connect</a>. and <a href="/en/actions/deployment/security-hardening-your-deployments/configuring-openid-connect-in-azure" _originalHref="/actions/deployment/security-hardening-your-deployments/configuring-openid-connect-in-azure">Configuring OpenID Connect in Azure</a>.</p> </div> <h2 id="prerequisites" tabindex="-1"><a class="heading-link" href="#prerequisites">Prerequisites<span class="heading-link-symbol" aria-hidden="true"></span></a></h2> <p>Before creating your GitHub Actions workflow, you will first need to complete the following setup steps:</p> <ol> <li> <p>Create an Azure Static Web App using the 'Other' option for deployment source. For more information, see <a href="https://docs.microsoft.com/azure/static-web-apps/get-started-portal">Quickstart: Building your first static site in the Azure portal</a> in the Azure documentation.</p> </li> <li> <p>Create a secret called <code>AZURE_STATIC_WEB_APPS_API_TOKEN</code> with the value of your static web app deployment token. For more information about how to find your deployment token, see <a href="https://docs.microsoft.com/azure/static-web-apps/deployment-token-management">Reset deployment tokens in Azure Static Web Apps</a> in the Azure documentation.</p> </li> </ol> <h2 id="creating-the-workflow" tabindex="-1"><a class="heading-link" href="#creating-the-workflow">Creating the workflow<span class="heading-link-symbol" aria-hidden="true"></span></a></h2> <p>Once you've completed the prerequisites, you can proceed with creating the workflow.</p> <p>The following example workflow demonstrates how to build and deploy an Azure static web app when there is a push to the <code>main</code> branch or when a pull request targeting <code>main</code> is opened, synchronized, or reopened. The workflow also tears down the corresponding pre-production deployment when a pull request targeting <code>main</code> is closed.</p> <p>Under the workflow <code>env</code> key, change the following values:</p> <ul> <li><code>APP_LOCATION</code> to the location of your client code</li> <li><code>API_LOCATION</code> to the location of your API source code. If <code>API_LOCATION</code> is not relevant, you can delete the variable and the lines where it is used.</li> <li><code>OUTPUT_LOCATION</code> to the location of your client code build output</li> </ul> <p>For more information about these values, see <a href="https://docs.microsoft.com/azure/static-web-apps/build-configuration?tabs=github-actions">Build configuration for Azure Static Web Apps</a> in the Azure documentation.</p> <div class="code-example"><header class="d-flex flex-items-center flex-justify-between p-2 text-small rounded-top-1 border-top border-left border-right"><span class="flex-1">YAML</span><button class="js-btn-copy btn btn-sm tooltipped tooltipped-nw" aria-label="Copy YAML code to clipboard" data-clipboard="3480649448"><svg version="1.1" width="16" height="16" viewBox="0 0 16 16" class="octicon octicon-copy" aria-hidden="true"><path d="M0 6.75C0 5.784.784 5 1.75 5h1.5a.75.75 0 0 1 0 1.5h-1.5a.25.25 0 0 0-.25.25v7.5c0 .138.112.25.25.25h7.5a.25.25 0 0 0 .25-.25v-1.5a.75.75 0 0 1 1.5 0v1.5A1.75 1.75 0 0 1 9.25 16h-7.5A1.75 1.75 0 0 1 0 14.25Z"></path><path d="M5 1.75C5 .784 5.784 0 6.75 0h7.5C15.216 0 16 .784 16 1.75v7.5A1.75 1.75 0 0 1 14.25 11h-7.5A1.75 1.75 0 0 1 5 9.25Zm1.75-.25a.25.25 0 0 0-.25.25v7.5c0 .138.112.25.25.25h7.5a.25.25 0 0 0 .25-.25v-7.5a.25.25 0 0 0-.25-.25Z"></path></svg></button><pre hidden data-clipboard="3480649448"># This workflow uses actions that are not certified by GitHub. # They are provided by a third-party and are governed by # separate terms of service, privacy policy, and support # documentation. # GitHub recommends pinning actions to a commit SHA. # To get a newer version, you will need to update the SHA. # You can also reference a tag or branch, but the action may change without warning. name: Deploy web app to Azure Static Web Apps env: APP_LOCATION: "/" # location of your client code API_LOCATION: "api" # location of your api source code - optional OUTPUT_LOCATION: "build" # location of client code build output on: push: branches: - main pull_request: types: [opened, synchronize, reopened, closed] branches: - main permissions: issues: write contents: read pull-requests: write jobs: build_and_deploy: if: github.event_name == 'push' || (github.event_name == 'pull_request' &#x26;&#x26; github.event.action != 'closed') runs-on: ubuntu-latest name: Build and Deploy steps: - uses: actions/checkout@v4 with: submodules: true - name: Build And Deploy uses: Azure/static-web-apps-deploy@1a947af9992250f3bc2e68ad0754c0b0c11566c9 with: azure_static_web_apps_api_token: ${{ secrets.AZURE_STATIC_WEB_APPS_API_TOKEN }} repo_token: ${{ secrets.GITHUB_TOKEN }} action: "upload" app_location: ${{ env.APP_LOCATION }} api_location: ${{ env.API_LOCATION }} output_location: ${{ env.OUTPUT_LOCATION }} close_pull_request: if: github.event_name == 'pull_request' &#x26;&#x26; github.event.action == 'closed' runs-on: ubuntu-latest name: Close Pull Request steps: - name: Close Pull Request uses: Azure/static-web-apps-deploy@1a947af9992250f3bc2e68ad0754c0b0c11566c9 with: azure_static_web_apps_api_token: ${{ secrets.AZURE_STATIC_WEB_APPS_API_TOKEN }} action: "close" </pre></header><pre><code class="hljs language-yaml"><span class="hljs-comment"># This workflow uses actions that are not certified by GitHub.</span> <span class="hljs-comment"># They are provided by a third-party and are governed by</span> <span class="hljs-comment"># separate terms of service, privacy policy, and support</span> <span class="hljs-comment"># documentation.</span> <span class="hljs-comment"># GitHub recommends pinning actions to a commit SHA.</span> <span class="hljs-comment"># To get a newer version, you will need to update the SHA.</span> <span class="hljs-comment"># You can also reference a tag or branch, but the action may change without warning.</span> <span class="hljs-attr">name:</span> <span class="hljs-string">Deploy</span> <span class="hljs-string">web</span> <span class="hljs-string">app</span> <span class="hljs-string">to</span> <span class="hljs-string">Azure</span> <span class="hljs-string">Static</span> <span class="hljs-string">Web</span> <span class="hljs-string">Apps</span> <span class="hljs-attr">env:</span> <span class="hljs-attr">APP_LOCATION:</span> <span class="hljs-string">"/"</span> <span class="hljs-comment"># location of your client code</span> <span class="hljs-attr">API_LOCATION:</span> <span class="hljs-string">"api"</span> <span class="hljs-comment"># location of your api source code - optional</span> <span class="hljs-attr">OUTPUT_LOCATION:</span> <span class="hljs-string">"build"</span> <span class="hljs-comment"># location of client code build output</span> <span class="hljs-attr">on:</span> <span class="hljs-attr">push:</span> <span class="hljs-attr">branches:</span> <span class="hljs-bullet">-</span> <span class="hljs-string">main</span> <span class="hljs-attr">pull_request:</span> <span class="hljs-attr">types:</span> [<span class="hljs-string">opened</span>, <span class="hljs-string">synchronize</span>, <span class="hljs-string">reopened</span>, <span class="hljs-string">closed</span>] <span class="hljs-attr">branches:</span> <span class="hljs-bullet">-</span> <span class="hljs-string">main</span> <span class="hljs-attr">permissions:</span> <span class="hljs-attr">issues:</span> <span class="hljs-string">write</span> <span class="hljs-attr">contents:</span> <span class="hljs-string">read</span> <span class="hljs-attr">pull-requests:</span> <span class="hljs-string">write</span> <span class="hljs-attr">jobs:</span> <span class="hljs-attr">build_and_deploy:</span> <span class="hljs-attr">if:</span> <span class="hljs-string">github.event_name</span> <span class="hljs-string">==</span> <span class="hljs-string">'push'</span> <span class="hljs-string">||</span> <span class="hljs-string">(github.event_name</span> <span class="hljs-string">==</span> <span class="hljs-string">'pull_request'</span> <span class="hljs-string">&#x26;&#x26;</span> <span class="hljs-string">github.event.action</span> <span class="hljs-type">!=</span> <span class="hljs-string">'closed'</span><span class="hljs-string">)</span> <span class="hljs-attr">runs-on:</span> <span class="hljs-string">ubuntu-latest</span> <span class="hljs-attr">name:</span> <span class="hljs-string">Build</span> <span class="hljs-string">and</span> <span class="hljs-string">Deploy</span> <span class="hljs-attr">steps:</span> <span class="hljs-bullet">-</span> <span class="hljs-attr">uses:</span> <span class="hljs-string">actions/checkout@v4</span> <span class="hljs-attr">with:</span> <span class="hljs-attr">submodules:</span> <span class="hljs-literal">true</span> <span class="hljs-bullet">-</span> <span class="hljs-attr">name:</span> <span class="hljs-string">Build</span> <span class="hljs-string">And</span> <span class="hljs-string">Deploy</span> <span class="hljs-attr">uses:</span> <span class="hljs-string">Azure/static-web-apps-deploy@1a947af9992250f3bc2e68ad0754c0b0c11566c9</span> <span class="hljs-attr">with:</span> <span class="hljs-attr">azure_static_web_apps_api_token:</span> <span class="hljs-string">${{</span> <span class="hljs-string">secrets.AZURE_STATIC_WEB_APPS_API_TOKEN</span> <span class="hljs-string">}}</span> <span class="hljs-attr">repo_token:</span> <span class="hljs-string">${{</span> <span class="hljs-string">secrets.GITHUB_TOKEN</span> <span class="hljs-string">}}</span> <span class="hljs-attr">action:</span> <span class="hljs-string">"upload"</span> <span class="hljs-attr">app_location:</span> <span class="hljs-string">${{</span> <span class="hljs-string">env.APP_LOCATION</span> <span class="hljs-string">}}</span> <span class="hljs-attr">api_location:</span> <span class="hljs-string">${{</span> <span class="hljs-string">env.API_LOCATION</span> <span class="hljs-string">}}</span> <span class="hljs-attr">output_location:</span> <span class="hljs-string">${{</span> <span class="hljs-string">env.OUTPUT_LOCATION</span> <span class="hljs-string">}}</span> <span class="hljs-attr">close_pull_request:</span> <span class="hljs-attr">if:</span> <span class="hljs-string">github.event_name</span> <span class="hljs-string">==</span> <span class="hljs-string">'pull_request'</span> <span class="hljs-string">&#x26;&#x26;</span> <span class="hljs-string">github.event.action</span> <span class="hljs-string">==</span> <span class="hljs-string">'closed'</span> <span class="hljs-attr">runs-on:</span> <span class="hljs-string">ubuntu-latest</span> <span class="hljs-attr">name:</span> <span class="hljs-string">Close</span> <span class="hljs-string">Pull</span> <span class="hljs-string">Request</span> <span class="hljs-attr">steps:</span> <span class="hljs-bullet">-</span> <span class="hljs-attr">name:</span> <span class="hljs-string">Close</span> <span class="hljs-string">Pull</span> <span class="hljs-string">Request</span> <span class="hljs-attr">uses:</span> <span class="hljs-string">Azure/static-web-apps-deploy@1a947af9992250f3bc2e68ad0754c0b0c11566c9</span> <span class="hljs-attr">with:</span> <span class="hljs-attr">azure_static_web_apps_api_token:</span> <span class="hljs-string">${{</span> <span class="hljs-string">secrets.AZURE_STATIC_WEB_APPS_API_TOKEN</span> <span class="hljs-string">}}</span> <span class="hljs-attr">action:</span> <span class="hljs-string">"close"</span> </code></pre></div> <h2 id="additional-resources" tabindex="-1"><a class="heading-link" href="#additional-resources">Additional resources<span class="heading-link-symbol" aria-hidden="true"></span></a></h2> <p>The following resources may also be useful:</p> <ul> <li>For the original workflow template, see <a href="https://github.com/actions/starter-workflows/blob/main/deployments/azure-staticwebapp.yml"><code>azure-staticwebapp.yml</code></a> in the GitHub Actions <code>starter-workflows</code> repository.</li> <li>The action used to deploy the web app is the official Azure <a href="https://github.com/Azure/static-web-apps-deploy"><code>Azure/static-web-apps-deploy</code></a> action.</li> <li>For more examples of GitHub Action workflows that deploy to Azure, see the <a href="https://github.com/Azure/actions-workflow-samples">actions-workflow-samples</a> repository.</li> </ul></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="octicon octicon-thumbsup color-fg-muted" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" display="inline-block" overflow="visible" style="vertical-align:text-bottom"><path d="M8.347.631A.75.75 0 0 1 9.123.26l.238.04a3.25 3.25 0 0 1 2.591 4.098L11.494 6h.665a3.25 3.25 0 0 1 3.118 4.167l-1.135 3.859A2.751 2.751 0 0 1 11.503 16H6.586a3.75 3.75 0 0 1-2.184-.702A1.75 1.75 0 0 1 3 16H1.75A1.75 1.75 0 0 1 0 14.25v-6.5C0 6.784.784 6 1.75 6h3.417a.25.25 0 0 0 .217-.127ZM4.75 13.649l.396.33c.404.337.914.521 1.44.521h4.917a1.25 1.25 0 0 0 1.2-.897l1.135-3.859A1.75 1.75 0 0 0 12.159 7.5H10.5a.75.75 0 0 1-.721-.956l.731-2.558a1.75 1.75 0 0 0-1.127-2.14L6.69 6.611a1.75 1.75 0 0 1-1.523.889H4.75ZM3.25 7.5h-1.5a.25.25 0 0 0-.25.25v6.5c0 .138.112.25.25.25H3a.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="octicon octicon-thumbsdown color-fg-muted" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" display="inline-block" overflow="visible" style="vertical-align:text-bottom"><path d="M7.653 15.369a.75.75 0 0 1-.776.371l-.238-.04a3.25 3.25 0 0 1-2.591-4.099L4.506 10h-.665A3.25 3.25 0 0 1 .723 5.833l1.135-3.859A2.75 2.75 0 0 1 4.482 0H9.43c.78.003 1.538.25 2.168.702A1.752 1.752 0 0 1 12.989 0h1.272A1.75 1.75 0 0 1 16 1.75v6.5A1.75 1.75 0 0 1 14.25 10h-3.417a.25.25 0 0 0-.217.127ZM11.25 2.351l-.396-.33a2.248 2.248 0 0 0-1.44-.521H4.496a1.25 1.25 0 0 0-1.199.897L2.162 6.256A1.75 1.75 0 0 0 3.841 8.5H5.5a.75.75 0 0 1 .721.956l-.731 2.558a1.75 1.75 0 0 0 1.127 2.14L9.31 9.389a1.75 1.75 0 0 1 1.523-.889h.417Zm1.5 6.149h1.5a.25.25 0 0 0 .25-.25v-6.5a.25.25 0 0 0-.25-.25H13a.25.25 0 0 0-.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&#x27;s wrong or unclear? Submit a pull request.</p><a class="btn" href="https://github.com/github/docs/blob/main/content/actions/use-cases-and-examples/deploying/deploying-to-azure-static-web-app.md"><svg aria-hidden="true" focusable="false" class="octicon octicon-git-pull-request octicon mr-1" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" display="inline-block" overflow="visible" style="vertical-align:text-bottom"><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 octicon-people octicon mr-1" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" display="inline-block" overflow="visible" style="vertical-align:text-bottom"><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 octicon-comment-discussion octicon mr-1" viewBox="0 0 16 16" width="16" height="16" fill="currentColor" display="inline-block" overflow="visible" style="vertical-align:text-bottom"><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">© <!-- -->2025<!-- --> 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" display="inline-block" overflow="visible" style="vertical-align:text-bottom"><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/actions","title":"GitHub Actions"},{"href":"/en/actions/use-cases-and-examples","title":"Use cases and examples"},{"href":"/en/actions/use-cases-and-examples/deploying","title":"Deployment"},{"href":"/en/actions/use-cases-and-examples/deploying/deploying-to-azure-static-web-app","title":"Deploying to Azure Static Web App"}],"communityRedirect":{},"currentProduct":{"id":"actions","name":"{% data variables.product.prodname_actions %}","href":"/actions","dir":"content/actions","toc":"content/actions/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":"GitHub Actions","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","open_menu_label":"Open menu","go_home":"Home"},"search":{"input":{"aria_label":"Open search overlay","placeholder":"Search or ask Copilot"},"overlay":{"input_aria_label":"Search or ask Copilot","suggestions_list_aria_label":"Search suggestions","ai_suggestions_list_aria_label":"Copilot search suggestions","general_suggestions_list_aria_label":"Docs search suggestions","general_suggestions_list_heading":"Search docs","ai_autocomplete_list_heading":"Ask Copilot","give_feedback":"Give feedback","beta_tag":"Beta","return_to_search":"Return to search","clear_search_query":"Clear"},"ai":{"disclaimer":"Copilot uses AI. Check for mistakes by reviewing the links in the response.","references":"References from these articles","loading_status_message":"Loading Copilot response...","done_loading_status_message":"Done loading Copilot response","unable_to_answer":"Sorry, I'm unable to answer that question. Please try a different query.","copy_answer":"Copy answer","copied_announcement":"Copied!","thumbs_up":"This answer was helpful","thumbs_down":"This answer was not helpful","thumbs_announcement":"Thank you for your feedback!"},"failure":{"autocomplete_title":"There was an error loading autocomplete results.","ai_title":"There was an error loading the AI assistant.","description":"You can still use this field to search our docs."}},"old_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."},"cookbook_landing":{"spotlight":"Spotlight","explore_articles":"Explore {{ number }} prompt articles","reset_filters":"Reset filters","search_articles":"Search articles","category":"Category","complexity":"Complexity"},"popovers":{"role_description":"hovercard link"}},"reusables":{},"variables":{"release_candidate":{"version":null}}},"currentCategory":"use-cases-and-examples","currentPathWithoutLanguage":"/actions/use-cases-and-examples/deploying/deploying-to-azure-static-web-app","page":{"documentType":"article","type":"tutorial","title":"Deploying to Azure Static Web App","fullTitle":"Deploying to Azure Static Web App - GitHub Docs","topics":["CD","Azure Static Web Apps"],"introPlainText":"You can deploy your web app to Azure Static Web App as part of your continuous deployment (CD) workflows.","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/actions","title":"GitHub Actions","childPages":[{"href":"/en/actions/about-github-actions","title":"About GitHub Actions","childPages":[{"href":"/en/actions/about-github-actions/understanding-github-actions","title":"Understand GitHub Actions","childPages":[]},{"href":"/en/actions/about-github-actions/about-continuous-integration-with-github-actions","title":"Continuous integration","childPages":[]},{"href":"/en/actions/about-github-actions/about-continuous-deployment-with-github-actions","title":"Continuous deployment","childPages":[]}]},{"href":"/en/actions/writing-workflows","title":"Write workflows","childPages":[{"href":"/en/actions/writing-workflows/quickstart","title":"Quickstart","childPages":[]},{"href":"/en/actions/writing-workflows/about-workflows","title":"About workflows","childPages":[]},{"href":"/en/actions/writing-workflows/using-workflow-templates","title":"Use workflow templates","childPages":[]},{"href":"/en/actions/writing-workflows/choosing-when-your-workflow-runs","title":"Choose when workflows run","childPages":[{"href":"/en/actions/writing-workflows/choosing-when-your-workflow-runs/triggering-a-workflow","title":"Trigger a workflow","childPages":[]},{"href":"/en/actions/writing-workflows/choosing-when-your-workflow-runs/using-conditions-to-control-job-execution","title":"Use conditions to control job execution","childPages":[]},{"href":"/en/actions/writing-workflows/choosing-when-your-workflow-runs/events-that-trigger-workflows","title":"Events that trigger workflows","childPages":[]}]},{"href":"/en/actions/writing-workflows/choosing-where-your-workflow-runs","title":"Choose where workflows run","childPages":[{"href":"/en/actions/writing-workflows/choosing-where-your-workflow-runs/choosing-the-runner-for-a-job","title":"Choose the runner for a job","childPages":[]},{"href":"/en/actions/writing-workflows/choosing-where-your-workflow-runs/running-jobs-in-a-container","title":"Run jobs in a container","childPages":[]}]},{"href":"/en/actions/writing-workflows/choosing-what-your-workflow-does","title":"Choose what workflows do","childPages":[{"href":"/en/actions/writing-workflows/choosing-what-your-workflow-does/using-jobs-in-a-workflow","title":"Use jobs in a workflow","childPages":[]},{"href":"/en/actions/writing-workflows/choosing-what-your-workflow-does/using-pre-written-building-blocks-in-your-workflow","title":"Find and customize actions","childPages":[]},{"href":"/en/actions/writing-workflows/choosing-what-your-workflow-does/using-github-cli-in-workflows","title":"GitHub CLI in workflows","childPages":[]},{"href":"/en/actions/writing-workflows/choosing-what-your-workflow-does/workflow-commands-for-github-actions","title":"Workflow commands","childPages":[]},{"href":"/en/actions/writing-workflows/choosing-what-your-workflow-does/adding-scripts-to-your-workflow","title":"Add scripts","childPages":[]},{"href":"/en/actions/writing-workflows/choosing-what-your-workflow-does/controlling-permissions-for-github_token","title":"Permissions for `GITHUB_TOKEN`","childPages":[]},{"href":"/en/actions/writing-workflows/choosing-what-your-workflow-does/evaluate-expressions-in-workflows-and-actions","title":"Expressions","childPages":[]},{"href":"/en/actions/writing-workflows/choosing-what-your-workflow-does/store-information-in-variables","title":"Variables","childPages":[]},{"href":"/en/actions/writing-workflows/choosing-what-your-workflow-does/accessing-contextual-information-about-workflow-runs","title":"Contexts","childPages":[]},{"href":"/en/actions/writing-workflows/choosing-what-your-workflow-does/passing-information-between-jobs","title":"Pass information","childPages":[]},{"href":"/en/actions/writing-workflows/choosing-what-your-workflow-does/setting-a-default-shell-and-working-directory","title":"Set default values for jobs","childPages":[]},{"href":"/en/actions/writing-workflows/choosing-what-your-workflow-does/using-environments-for-deployment","title":"Environments","childPages":[]},{"href":"/en/actions/writing-workflows/choosing-what-your-workflow-does/control-the-concurrency-of-workflows-and-jobs","title":"Concurrency","childPages":[]},{"href":"/en/actions/writing-workflows/choosing-what-your-workflow-does/running-variations-of-jobs-in-a-workflow","title":"Run job variations","childPages":[]},{"href":"/en/actions/writing-workflows/choosing-what-your-workflow-does/caching-dependencies-to-speed-up-workflows","title":"Cache dependencies","childPages":[]},{"href":"/en/actions/writing-workflows/choosing-what-your-workflow-does/storing-and-sharing-data-from-a-workflow","title":"Store artifacts","childPages":[]}]},{"href":"/en/actions/writing-workflows/workflow-syntax-for-github-actions","title":"Workflow syntax","childPages":[]}]},{"href":"/en/actions/managing-workflow-runs-and-deployments","title":"Manage workflows and deployments","childPages":[{"href":"/en/actions/managing-workflow-runs-and-deployments/managing-workflow-runs","title":"Manage workflow runs","childPages":[{"href":"/en/actions/managing-workflow-runs-and-deployments/managing-workflow-runs/manually-running-a-workflow","title":"Manually run a workflow","childPages":[]},{"href":"/en/actions/managing-workflow-runs-and-deployments/managing-workflow-runs/re-running-workflows-and-jobs","title":"Re-run workflows and jobs","childPages":[]},{"href":"/en/actions/managing-workflow-runs-and-deployments/managing-workflow-runs/canceling-a-workflow","title":"Cancel a workflow","childPages":[]},{"href":"/en/actions/managing-workflow-runs-and-deployments/managing-workflow-runs/disabling-and-enabling-a-workflow","title":"Disable \u0026 enable a workflow","childPages":[]},{"href":"/en/actions/managing-workflow-runs-and-deployments/managing-workflow-runs/skipping-workflow-runs","title":"Skip workflow runs","childPages":[]},{"href":"/en/actions/managing-workflow-runs-and-deployments/managing-workflow-runs/deleting-a-workflow-run","title":"Delete a workflow run","childPages":[]},{"href":"/en/actions/managing-workflow-runs-and-deployments/managing-workflow-runs/downloading-workflow-artifacts","title":"Download workflow artifacts","childPages":[]},{"href":"/en/actions/managing-workflow-runs-and-deployments/managing-workflow-runs/removing-workflow-artifacts","title":"Remove workflow artifacts","childPages":[]},{"href":"/en/actions/managing-workflow-runs-and-deployments/managing-workflow-runs/approving-workflow-runs-from-public-forks","title":"Approve public fork runs","childPages":[]},{"href":"/en/actions/managing-workflow-runs-and-deployments/managing-workflow-runs/approving-workflow-runs-from-private-forks","title":"Approve private fork runs","childPages":[]}]},{"href":"/en/actions/managing-workflow-runs-and-deployments/managing-deployments","title":"Manage deployments","childPages":[{"href":"/en/actions/managing-workflow-runs-and-deployments/managing-deployments/viewing-deployment-history","title":"Deployment history","childPages":[]},{"href":"/en/actions/managing-workflow-runs-and-deployments/managing-deployments/managing-environments-for-deployment","title":"Manage environments","childPages":[]},{"href":"/en/actions/managing-workflow-runs-and-deployments/managing-deployments/reviewing-deployments","title":"Review deployments","childPages":[]},{"href":"/en/actions/managing-workflow-runs-and-deployments/managing-deployments/creating-custom-deployment-protection-rules","title":"Create custom protection rules","childPages":[]},{"href":"/en/actions/managing-workflow-runs-and-deployments/managing-deployments/configuring-custom-deployment-protection-rules","title":"Configure custom protection rules","childPages":[]}]}]},{"href":"/en/actions/sharing-automations","title":"Share automations","childPages":[{"href":"/en/actions/sharing-automations/avoiding-duplication","title":"Avoid duplication","childPages":[]},{"href":"/en/actions/sharing-automations/creating-actions","title":"Create actions","childPages":[{"href":"/en/actions/sharing-automations/creating-actions/about-custom-actions","title":"About custom actions","childPages":[]},{"href":"/en/actions/sharing-automations/creating-actions/creating-a-docker-container-action","title":"Create a Docker container action","childPages":[]},{"href":"/en/actions/sharing-automations/creating-actions/creating-a-javascript-action","title":"Create a JavaScript action","childPages":[]},{"href":"/en/actions/sharing-automations/creating-actions/creating-a-composite-action","title":"Create a composite action","childPages":[]},{"href":"/en/actions/sharing-automations/creating-actions/metadata-syntax-for-github-actions","title":"Metadata syntax","childPages":[]},{"href":"/en/actions/sharing-automations/creating-actions/dockerfile-support-for-github-actions","title":"Dockerfile support","childPages":[]},{"href":"/en/actions/sharing-automations/creating-actions/setting-exit-codes-for-actions","title":"Set exit codes","childPages":[]},{"href":"/en/actions/sharing-automations/creating-actions/releasing-and-maintaining-actions","title":"Release and maintain actions","childPages":[]},{"href":"/en/actions/sharing-automations/creating-actions/publishing-actions-in-github-marketplace","title":"Publish in GitHub Marketplace","childPages":[]},{"href":"/en/actions/sharing-automations/creating-actions/developing-a-third-party-cli-action","title":"CLI setup action","childPages":[]}]},{"href":"/en/actions/sharing-automations/reusing-workflows","title":"Reuse workflows","childPages":[]},{"href":"/en/actions/sharing-automations/creating-workflow-templates-for-your-organization","title":"Create workflow templates","childPages":[]},{"href":"/en/actions/sharing-automations/sharing-actions-and-workflows-from-your-private-repository","title":"Share from your private repository","childPages":[]},{"href":"/en/actions/sharing-automations/sharing-actions-and-workflows-with-your-organization","title":"Share with your organization","childPages":[]}]},{"href":"/en/actions/monitoring-and-troubleshooting-workflows","title":"Monitor \u0026 troubleshoot","childPages":[{"href":"/en/actions/monitoring-and-troubleshooting-workflows/monitoring-workflows","title":"Monitor","childPages":[{"href":"/en/actions/monitoring-and-troubleshooting-workflows/monitoring-workflows/about-monitoring-workflows","title":"About monitoring","childPages":[]},{"href":"/en/actions/monitoring-and-troubleshooting-workflows/monitoring-workflows/notifications-for-workflow-runs","title":"Notifications for workflow runs","childPages":[]},{"href":"/en/actions/monitoring-and-troubleshooting-workflows/monitoring-workflows/using-the-visualization-graph","title":"Visualization graph","childPages":[]},{"href":"/en/actions/monitoring-and-troubleshooting-workflows/monitoring-workflows/viewing-workflow-run-history","title":"Workflow run history","childPages":[]},{"href":"/en/actions/monitoring-and-troubleshooting-workflows/monitoring-workflows/viewing-job-execution-time","title":"View job execution time","childPages":[]},{"href":"/en/actions/monitoring-and-troubleshooting-workflows/monitoring-workflows/adding-a-workflow-status-badge","title":"Add a status badge","childPages":[]},{"href":"/en/actions/monitoring-and-troubleshooting-workflows/monitoring-workflows/using-workflow-run-logs","title":"Workflow run logs","childPages":[]}]},{"href":"/en/actions/monitoring-and-troubleshooting-workflows/troubleshooting-workflows","title":"Troubleshoot","childPages":[{"href":"/en/actions/monitoring-and-troubleshooting-workflows/troubleshooting-workflows/about-troubleshooting-workflows","title":"About troubleshooting","childPages":[]},{"href":"/en/actions/monitoring-and-troubleshooting-workflows/troubleshooting-workflows/using-copilot-to-troubleshoot-workflows","title":"Use Copilot","childPages":[]},{"href":"/en/actions/monitoring-and-troubleshooting-workflows/troubleshooting-workflows/enabling-debug-logging","title":"Enable debug logging","childPages":[]},{"href":"/en/actions/monitoring-and-troubleshooting-workflows/troubleshooting-workflows/working-with-support-for-github-actions","title":"Working with GitHub Support","childPages":[]}]}]},{"href":"/en/actions/using-github-hosted-runners","title":"GitHub-hosted runners","childPages":[{"href":"/en/actions/using-github-hosted-runners/using-github-hosted-runners","title":"About GitHub-hosted runners","childPages":[{"href":"/en/actions/using-github-hosted-runners/using-github-hosted-runners/about-github-hosted-runners","title":"About GitHub-hosted runners","childPages":[]},{"href":"/en/actions/using-github-hosted-runners/using-github-hosted-runners/monitoring-your-current-jobs","title":"Monitor current jobs","childPages":[]},{"href":"/en/actions/using-github-hosted-runners/using-github-hosted-runners/customizing-github-hosted-runners","title":"Customize runners","childPages":[]}]},{"href":"/en/actions/using-github-hosted-runners/using-larger-runners","title":"Using larger runners","childPages":[{"href":"/en/actions/using-github-hosted-runners/using-larger-runners/about-larger-runners","title":"About larger runners","childPages":[]},{"href":"/en/actions/using-github-hosted-runners/using-larger-runners/managing-larger-runners","title":"Manage larger runners","childPages":[]},{"href":"/en/actions/using-github-hosted-runners/using-larger-runners/controlling-access-to-larger-runners","title":"Control access to larger runners","childPages":[]},{"href":"/en/actions/using-github-hosted-runners/using-larger-runners/running-jobs-on-larger-runners","title":"Run jobs on larger runners","childPages":[]}]},{"href":"/en/actions/using-github-hosted-runners/connecting-to-a-private-network","title":"Private networking","childPages":[{"href":"/en/actions/using-github-hosted-runners/connecting-to-a-private-network/about-private-networking-with-github-hosted-runners","title":"About private networking","childPages":[]},{"href":"/en/actions/using-github-hosted-runners/connecting-to-a-private-network/using-an-api-gateway-with-oidc","title":"Using OIDC","childPages":[]},{"href":"/en/actions/using-github-hosted-runners/connecting-to-a-private-network/using-wireguard-to-create-a-network-overlay","title":"Using WireGuard","childPages":[]}]}]},{"href":"/en/actions/hosting-your-own-runners","title":"Self-hosted runners","childPages":[{"href":"/en/actions/hosting-your-own-runners/managing-self-hosted-runners","title":"Manage self-hosted runners","childPages":[{"href":"/en/actions/hosting-your-own-runners/managing-self-hosted-runners/about-self-hosted-runners","title":"About self-hosted runners","childPages":[]},{"href":"/en/actions/hosting-your-own-runners/managing-self-hosted-runners/adding-self-hosted-runners","title":"Add self-hosted runners","childPages":[]},{"href":"/en/actions/hosting-your-own-runners/managing-self-hosted-runners/autoscaling-with-self-hosted-runners","title":"Autoscale self-hosted runners","childPages":[]},{"href":"/en/actions/hosting-your-own-runners/managing-self-hosted-runners/running-scripts-before-or-after-a-job","title":"Run a script before or after a job","childPages":[]},{"href":"/en/actions/hosting-your-own-runners/managing-self-hosted-runners/customizing-the-containers-used-by-jobs","title":"Customize containers used by jobs","childPages":[]},{"href":"/en/actions/hosting-your-own-runners/managing-self-hosted-runners/configuring-the-self-hosted-runner-application-as-a-service","title":"Run the runner app as a service","childPages":[]},{"href":"/en/actions/hosting-your-own-runners/managing-self-hosted-runners/using-a-proxy-server-with-self-hosted-runners","title":"Proxy servers","childPages":[]},{"href":"/en/actions/hosting-your-own-runners/managing-self-hosted-runners/using-labels-with-self-hosted-runners","title":"Label runners","childPages":[]},{"href":"/en/actions/hosting-your-own-runners/managing-self-hosted-runners/using-self-hosted-runners-in-a-workflow","title":"Use runners in a workflow","childPages":[]},{"href":"/en/actions/hosting-your-own-runners/managing-self-hosted-runners/managing-access-to-self-hosted-runners-using-groups","title":"Manage access with runner groups","childPages":[]},{"href":"/en/actions/hosting-your-own-runners/managing-self-hosted-runners/monitoring-and-troubleshooting-self-hosted-runners","title":"Monitor \u0026 troubleshoot","childPages":[]},{"href":"/en/actions/hosting-your-own-runners/managing-self-hosted-runners/removing-self-hosted-runners","title":"Remove self-hosted runners","childPages":[]}]},{"href":"/en/actions/hosting-your-own-runners/managing-self-hosted-runners-with-actions-runner-controller","title":"Actions Runner Controller","childPages":[{"href":"/en/actions/hosting-your-own-runners/managing-self-hosted-runners-with-actions-runner-controller/about-actions-runner-controller","title":"About ARC","childPages":[]},{"href":"/en/actions/hosting-your-own-runners/managing-self-hosted-runners-with-actions-runner-controller/quickstart-for-actions-runner-controller","title":"Quickstart","childPages":[]},{"href":"/en/actions/hosting-your-own-runners/managing-self-hosted-runners-with-actions-runner-controller/authenticating-to-the-github-api","title":"Authenticating","childPages":[]},{"href":"/en/actions/hosting-your-own-runners/managing-self-hosted-runners-with-actions-runner-controller/deploying-runner-scale-sets-with-actions-runner-controller","title":"Deploying runner scale sets","childPages":[]},{"href":"/en/actions/hosting-your-own-runners/managing-self-hosted-runners-with-actions-runner-controller/using-actions-runner-controller-runners-in-a-workflow","title":"Using ARC in a workflow","childPages":[]},{"href":"/en/actions/hosting-your-own-runners/managing-self-hosted-runners-with-actions-runner-controller/troubleshooting-actions-runner-controller-errors","title":"Troubleshoot","childPages":[]},{"href":"/en/actions/hosting-your-own-runners/managing-self-hosted-runners-with-actions-runner-controller/about-support-for-actions-runner-controller","title":"About Support for ARC","childPages":[]}]}]},{"href":"/en/actions/security-for-github-actions","title":"Security","childPages":[{"href":"/en/actions/security-for-github-actions/security-guides","title":"Security guides","childPages":[{"href":"/en/actions/security-for-github-actions/security-guides/security-hardening-for-github-actions","title":"Security hardening","childPages":[]},{"href":"/en/actions/security-for-github-actions/security-guides/using-secrets-in-github-actions","title":"Using secrets","childPages":[]},{"href":"/en/actions/security-for-github-actions/security-guides/automatic-token-authentication","title":"Automatic token authentication","childPages":[]},{"href":"/en/actions/security-for-github-actions/security-guides/using-githubs-security-features-to-secure-your-use-of-github-actions","title":"GitHub security features","childPages":[]}]},{"href":"/en/actions/security-for-github-actions/using-artifact-attestations","title":"Artifact attestations","childPages":[{"href":"/en/actions/security-for-github-actions/using-artifact-attestations/using-artifact-attestations-to-establish-provenance-for-builds","title":"Artifact attestations","childPages":[]},{"href":"/en/actions/security-for-github-actions/using-artifact-attestations/using-artifact-attestations-and-reusable-workflows-to-achieve-slsa-v1-build-level-3","title":"Attest with reusable workflows","childPages":[]},{"href":"/en/actions/security-for-github-actions/using-artifact-attestations/enforcing-artifact-attestations-with-a-kubernetes-admission-controller","title":"Artifact attestations Kubernetes admission controller","childPages":[]},{"href":"/en/actions/security-for-github-actions/using-artifact-attestations/verifying-attestations-offline","title":"Verifying attestations offline","childPages":[]}]},{"href":"/en/actions/security-for-github-actions/security-hardening-your-deployments","title":"Security harden deployments","childPages":[{"href":"/en/actions/security-for-github-actions/security-hardening-your-deployments/about-security-hardening-with-openid-connect","title":"Security hardening with OpenID Connect","childPages":[]},{"href":"/en/actions/security-for-github-actions/security-hardening-your-deployments/configuring-openid-connect-in-amazon-web-services","title":"OpenID Connect in AWS","childPages":[]},{"href":"/en/actions/security-for-github-actions/security-hardening-your-deployments/configuring-openid-connect-in-azure","title":"OpenID Connect in Azure","childPages":[]},{"href":"/en/actions/security-for-github-actions/security-hardening-your-deployments/configuring-openid-connect-in-google-cloud-platform","title":"OpenID Connect in Google Cloud Platform","childPages":[]},{"href":"/en/actions/security-for-github-actions/security-hardening-your-deployments/configuring-openid-connect-in-hashicorp-vault","title":"OpenID Connect in HashiCorp Vault","childPages":[]},{"href":"/en/actions/security-for-github-actions/security-hardening-your-deployments/configuring-openid-connect-in-jfrog","title":"OpenID Connect in JFrog","childPages":[]},{"href":"/en/actions/security-for-github-actions/security-hardening-your-deployments/configuring-openid-connect-in-pypi","title":"OpenID Connect in PyPI","childPages":[]},{"href":"/en/actions/security-for-github-actions/security-hardening-your-deployments/configuring-openid-connect-in-cloud-providers","title":"OpenID Connect in cloud providers","childPages":[]},{"href":"/en/actions/security-for-github-actions/security-hardening-your-deployments/using-openid-connect-with-reusable-workflows","title":"OpenID Connect with reusable workflows","childPages":[]}]}]},{"href":"/en/actions/use-cases-and-examples","title":"Use cases and examples","childPages":[{"href":"/en/actions/use-cases-and-examples/creating-an-example-workflow","title":"Create an example workflow","childPages":[]},{"href":"/en/actions/use-cases-and-examples/building-and-testing","title":"Build and test","childPages":[{"href":"/en/actions/use-cases-and-examples/building-and-testing/building-and-testing-go","title":"Build \u0026 test Go","childPages":[]},{"href":"/en/actions/use-cases-and-examples/building-and-testing/building-and-testing-java-with-ant","title":"Build \u0026 test Java \u0026 Ant","childPages":[]},{"href":"/en/actions/use-cases-and-examples/building-and-testing/building-and-testing-java-with-gradle","title":"Build \u0026 test Java \u0026 Gradle","childPages":[]},{"href":"/en/actions/use-cases-and-examples/building-and-testing/building-and-testing-java-with-maven","title":"Build \u0026 test Java with Maven","childPages":[]},{"href":"/en/actions/use-cases-and-examples/building-and-testing/building-and-testing-net","title":"Build \u0026 test .NET","childPages":[]},{"href":"/en/actions/use-cases-and-examples/building-and-testing/building-and-testing-nodejs","title":"Build \u0026 test Node.js","childPages":[]},{"href":"/en/actions/use-cases-and-examples/building-and-testing/building-and-testing-powershell","title":"Build \u0026 test PowerShell","childPages":[]},{"href":"/en/actions/use-cases-and-examples/building-and-testing/building-and-testing-python","title":"Build \u0026 test Python","childPages":[]},{"href":"/en/actions/use-cases-and-examples/building-and-testing/building-and-testing-ruby","title":"Build \u0026 test Ruby","childPages":[]},{"href":"/en/actions/use-cases-and-examples/building-and-testing/building-and-testing-rust","title":"Build \u0026 test Rust","childPages":[]},{"href":"/en/actions/use-cases-and-examples/building-and-testing/building-and-testing-swift","title":"Build \u0026 test Swift","childPages":[]},{"href":"/en/actions/use-cases-and-examples/building-and-testing/building-and-testing-xamarin-applications","title":"Build \u0026 test Xamarin apps","childPages":[]}]},{"href":"/en/actions/use-cases-and-examples/deploying","title":"Deployment","childPages":[{"href":"/en/actions/use-cases-and-examples/deploying/deploying-with-github-actions","title":"Deploy with GitHub Actions","childPages":[]},{"href":"/en/actions/use-cases-and-examples/deploying/deploying-nodejs-to-azure-app-service","title":"Deploying Node.js to Azure App Service","childPages":[]},{"href":"/en/actions/use-cases-and-examples/deploying/deploying-python-to-azure-app-service","title":"Deploying Python to Azure App Service","childPages":[]},{"href":"/en/actions/use-cases-and-examples/deploying/deploying-java-to-azure-app-service","title":"Deploying Java to Azure App Service","childPages":[]},{"href":"/en/actions/use-cases-and-examples/deploying/deploying-net-to-azure-app-service","title":"Deploying .NET to Azure App Service","childPages":[]},{"href":"/en/actions/use-cases-and-examples/deploying/deploying-php-to-azure-app-service","title":"Deploying PHP to Azure App Service","childPages":[]},{"href":"/en/actions/use-cases-and-examples/deploying/deploying-docker-to-azure-app-service","title":"Deploying Docker to Azure App Service","childPages":[]},{"href":"/en/actions/use-cases-and-examples/deploying/deploying-to-azure-static-web-app","title":"Deploying to Azure Static Web App","childPages":[]},{"href":"/en/actions/use-cases-and-examples/deploying/deploying-to-azure-kubernetes-service","title":"Deploying to Azure Kubernetes Service","childPages":[]},{"href":"/en/actions/use-cases-and-examples/deploying/deploying-to-amazon-elastic-container-service","title":"Deploy to Amazon ECS","childPages":[]},{"href":"/en/actions/use-cases-and-examples/deploying/deploying-to-google-kubernetes-engine","title":"Deploy to Google Kubernetes Engine","childPages":[]},{"href":"/en/actions/use-cases-and-examples/deploying/installing-an-apple-certificate-on-macos-runners-for-xcode-development","title":"Sign Xcode applications","childPages":[]}]},{"href":"/en/actions/use-cases-and-examples/publishing-packages","title":"Publish packages","childPages":[{"href":"/en/actions/use-cases-and-examples/publishing-packages/about-packaging-with-github-actions","title":"Packaging with GitHub Actions","childPages":[]},{"href":"/en/actions/use-cases-and-examples/publishing-packages/publishing-docker-images","title":"Publish Docker images","childPages":[]},{"href":"/en/actions/use-cases-and-examples/publishing-packages/publishing-java-packages-with-gradle","title":"Publish Java packages with Gradle","childPages":[]},{"href":"/en/actions/use-cases-and-examples/publishing-packages/publishing-java-packages-with-maven","title":"Publish Java packages with Maven","childPages":[]},{"href":"/en/actions/use-cases-and-examples/publishing-packages/publishing-nodejs-packages","title":"Publish Node.js packages","childPages":[]}]},{"href":"/en/actions/use-cases-and-examples/project-management","title":"Project management","childPages":[{"href":"/en/actions/use-cases-and-examples/project-management/using-github-actions-for-project-management","title":"Actions for project management","childPages":[]},{"href":"/en/actions/use-cases-and-examples/project-management/adding-labels-to-issues","title":"Add labels to issues","childPages":[]},{"href":"/en/actions/use-cases-and-examples/project-management/closing-inactive-issues","title":"Close inactive issues","childPages":[]},{"href":"/en/actions/use-cases-and-examples/project-management/commenting-on-an-issue-when-a-label-is-added","title":"Add label to comment on issue","childPages":[]},{"href":"/en/actions/use-cases-and-examples/project-management/scheduling-issue-creation","title":"Schedule issue creation","childPages":[]}]},{"href":"/en/actions/use-cases-and-examples/using-containerized-services","title":"Containerized services","childPages":[{"href":"/en/actions/use-cases-and-examples/using-containerized-services/about-service-containers","title":"About service containers","childPages":[]},{"href":"/en/actions/use-cases-and-examples/using-containerized-services/creating-postgresql-service-containers","title":"Create PostgreSQL service containers","childPages":[]},{"href":"/en/actions/use-cases-and-examples/using-containerized-services/creating-redis-service-containers","title":"Create Redis service containers","childPages":[]}]}]},{"href":"/en/actions/migrating-to-github-actions","title":"Migrate to GitHub Actions","childPages":[{"href":"/en/actions/migrating-to-github-actions/using-github-actions-importer-to-automate-migrations","title":"Automated migrations","childPages":[{"href":"/en/actions/migrating-to-github-actions/using-github-actions-importer-to-automate-migrations/automating-migration-with-github-actions-importer","title":"Automate migration with GitHub Actions Importer","childPages":[]},{"href":"/en/actions/migrating-to-github-actions/using-github-actions-importer-to-automate-migrations/extending-github-actions-importer-with-custom-transformers","title":"Extending GitHub Actions Importer","childPages":[]},{"href":"/en/actions/migrating-to-github-actions/using-github-actions-importer-to-automate-migrations/supplemental-arguments-and-settings","title":"Supplemental arguments and settings","childPages":[]},{"href":"/en/actions/migrating-to-github-actions/using-github-actions-importer-to-automate-migrations/migrating-from-azure-devops-with-github-actions-importer","title":"Azure DevOps migration","childPages":[]},{"href":"/en/actions/migrating-to-github-actions/using-github-actions-importer-to-automate-migrations/migrating-from-bamboo-with-github-actions-importer","title":"Bamboo migration","childPages":[]},{"href":"/en/actions/migrating-to-github-actions/using-github-actions-importer-to-automate-migrations/migrating-from-bitbucket-pipelines-with-github-actions-importer","title":"Bitbucket Pipelines migration","childPages":[]},{"href":"/en/actions/migrating-to-github-actions/using-github-actions-importer-to-automate-migrations/migrating-from-circleci-with-github-actions-importer","title":"CircleCI migration","childPages":[]},{"href":"/en/actions/migrating-to-github-actions/using-github-actions-importer-to-automate-migrations/migrating-from-gitlab-with-github-actions-importer","title":"GitLab migration","childPages":[]},{"href":"/en/actions/migrating-to-github-actions/using-github-actions-importer-to-automate-migrations/migrating-from-jenkins-with-github-actions-importer","title":"Jenkins migration","childPages":[]},{"href":"/en/actions/migrating-to-github-actions/using-github-actions-importer-to-automate-migrations/migrating-from-travis-ci-with-github-actions-importer","title":"Travis CI migration","childPages":[]}]},{"href":"/en/actions/migrating-to-github-actions/manually-migrating-to-github-actions","title":"Manual migrations","childPages":[{"href":"/en/actions/migrating-to-github-actions/manually-migrating-to-github-actions/migrating-from-azure-pipelines-to-github-actions","title":"Migrate from Azure Pipelines","childPages":[]},{"href":"/en/actions/migrating-to-github-actions/manually-migrating-to-github-actions/migrating-from-circleci-to-github-actions","title":"Migrate from CircleCI","childPages":[]},{"href":"/en/actions/migrating-to-github-actions/manually-migrating-to-github-actions/migrating-from-gitlab-cicd-to-github-actions","title":"Migrate from GitLab CI/CD","childPages":[]},{"href":"/en/actions/migrating-to-github-actions/manually-migrating-to-github-actions/migrating-from-jenkins-to-github-actions","title":"Migrate from Jenkins","childPages":[]},{"href":"/en/actions/migrating-to-github-actions/manually-migrating-to-github-actions/migrating-from-travis-ci-to-github-actions","title":"Migrate from Travis CI","childPages":[]}]}]},{"href":"/en/actions/administering-github-actions","title":"Administer GitHub Actions","childPages":[{"href":"/en/actions/administering-github-actions/usage-limits-billing-and-administration","title":"Workflow billing \u0026 limits","childPages":[]},{"href":"/en/actions/administering-github-actions/viewing-github-actions-metrics","title":"GitHub Actions metrics","childPages":[]},{"href":"/en/actions/administering-github-actions/sharing-workflows-secrets-and-runners-with-your-organization","title":"Share workflows with your organization","childPages":[]}]},{"href":"/en/actions/guides","title":"Guides for GitHub Actions","childPages":[]}]},"featureFlags":{},"nonEnterpriseDefaultVersion":"free-pro-team@latest","status":200,"fullUrl":"https://docs-internal.github.com/en/actions/use-cases-and-examples/deploying/deploying-to-azure-static-web-app","currentLayoutName":"default","relativePath":"actions/use-cases-and-examples/deploying/deploying-to-azure-static-web-app.md"},"articleContext":{"title":"Deploying to Azure Static Web App","intro":"\u003cp\u003eYou can deploy your web app to Azure Static Web App as part of your continuous deployment (CD) workflows.\u003c/p\u003e","effectiveDate":"","renderedPage":"\u003ch2 id=\"introduction\" tabindex=\"-1\"\u003e\u003ca class=\"heading-link\" href=\"#introduction\"\u003eIntroduction\u003cspan class=\"heading-link-symbol\" aria-hidden=\"true\"\u003e\u003c/span\u003e\u003c/a\u003e\u003c/h2\u003e\n\u003cp\u003eThis guide explains how to use GitHub Actions to build and deploy a web app to \u003ca href=\"https://azure.microsoft.com/services/app-service/static/\"\u003eAzure Static Web Apps\u003c/a\u003e.\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\nIf your GitHub Actions workflows need to access resources from a cloud provider that supports OpenID Connect (OIDC), you can configure your workflows to authenticate directly to the cloud provider. This will let you stop storing these credentials as long-lived secrets and provide other security benefits. For more information, see \u003ca href=\"/en/actions/deployment/security-hardening-your-deployments/about-security-hardening-with-openid-connect\" _originalHref=\"/actions/deployment/security-hardening-your-deployments/about-security-hardening-with-openid-connect\"\u003eAbout security hardening with OpenID Connect\u003c/a\u003e. and \u003ca href=\"/en/actions/deployment/security-hardening-your-deployments/configuring-openid-connect-in-azure\" _originalHref=\"/actions/deployment/security-hardening-your-deployments/configuring-openid-connect-in-azure\"\u003eConfiguring OpenID Connect in Azure\u003c/a\u003e.\u003c/p\u003e\n\u003c/div\u003e\n\u003ch2 id=\"prerequisites\" tabindex=\"-1\"\u003e\u003ca class=\"heading-link\" href=\"#prerequisites\"\u003ePrerequisites\u003cspan class=\"heading-link-symbol\" aria-hidden=\"true\"\u003e\u003c/span\u003e\u003c/a\u003e\u003c/h2\u003e\n\u003cp\u003eBefore creating your GitHub Actions workflow, you will first need to complete the following setup steps:\u003c/p\u003e\n\u003col\u003e\n\u003cli\u003e\n\u003cp\u003eCreate an Azure Static Web App using the 'Other' option for deployment source. For more information, see \u003ca href=\"https://docs.microsoft.com/azure/static-web-apps/get-started-portal\"\u003eQuickstart: Building your first static site in the Azure portal\u003c/a\u003e in the Azure documentation.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eCreate a secret called \u003ccode\u003eAZURE_STATIC_WEB_APPS_API_TOKEN\u003c/code\u003e with the value of your static web app deployment token. For more information about how to find your deployment token, see \u003ca href=\"https://docs.microsoft.com/azure/static-web-apps/deployment-token-management\"\u003eReset deployment tokens in Azure Static Web Apps\u003c/a\u003e in the Azure documentation.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ol\u003e\n\u003ch2 id=\"creating-the-workflow\" tabindex=\"-1\"\u003e\u003ca class=\"heading-link\" href=\"#creating-the-workflow\"\u003eCreating the workflow\u003cspan class=\"heading-link-symbol\" aria-hidden=\"true\"\u003e\u003c/span\u003e\u003c/a\u003e\u003c/h2\u003e\n\u003cp\u003eOnce you've completed the prerequisites, you can proceed with creating the workflow.\u003c/p\u003e\n\u003cp\u003eThe following example workflow demonstrates how to build and deploy an Azure static web app when there is a push to the \u003ccode\u003emain\u003c/code\u003e branch or when a pull request targeting \u003ccode\u003emain\u003c/code\u003e is opened, synchronized, or reopened. The workflow also tears down the corresponding pre-production deployment when a pull request targeting \u003ccode\u003emain\u003c/code\u003e is closed.\u003c/p\u003e\n\u003cp\u003eUnder the workflow \u003ccode\u003eenv\u003c/code\u003e key, change the following values:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eAPP_LOCATION\u003c/code\u003e to the location of your client code\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eAPI_LOCATION\u003c/code\u003e to the location of your API source code. If \u003ccode\u003eAPI_LOCATION\u003c/code\u003e is not relevant, you can delete the variable and the lines where it is used.\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eOUTPUT_LOCATION\u003c/code\u003e to the location of your client code build output\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eFor more information about these values, see \u003ca href=\"https://docs.microsoft.com/azure/static-web-apps/build-configuration?tabs=github-actions\"\u003eBuild configuration for Azure Static Web Apps\u003c/a\u003e in the Azure documentation.\u003c/p\u003e\n\u003cdiv class=\"code-example\"\u003e\u003cheader class=\"d-flex flex-items-center flex-justify-between p-2 text-small rounded-top-1 border-top border-left border-right\"\u003e\u003cspan class=\"flex-1\"\u003eYAML\u003c/span\u003e\u003cbutton class=\"js-btn-copy btn btn-sm tooltipped tooltipped-nw\" aria-label=\"Copy YAML code to clipboard\" data-clipboard=\"3480649448\"\u003e\u003csvg version=\"1.1\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" class=\"octicon octicon-copy\" aria-hidden=\"true\"\u003e\u003cpath d=\"M0 6.75C0 5.784.784 5 1.75 5h1.5a.75.75 0 0 1 0 1.5h-1.5a.25.25 0 0 0-.25.25v7.5c0 .138.112.25.25.25h7.5a.25.25 0 0 0 .25-.25v-1.5a.75.75 0 0 1 1.5 0v1.5A1.75 1.75 0 0 1 9.25 16h-7.5A1.75 1.75 0 0 1 0 14.25Z\"\u003e\u003c/path\u003e\u003cpath d=\"M5 1.75C5 .784 5.784 0 6.75 0h7.5C15.216 0 16 .784 16 1.75v7.5A1.75 1.75 0 0 1 14.25 11h-7.5A1.75 1.75 0 0 1 5 9.25Zm1.75-.25a.25.25 0 0 0-.25.25v7.5c0 .138.112.25.25.25h7.5a.25.25 0 0 0 .25-.25v-7.5a.25.25 0 0 0-.25-.25Z\"\u003e\u003c/path\u003e\u003c/svg\u003e\u003c/button\u003e\u003cpre hidden data-clipboard=\"3480649448\"\u003e# This workflow uses actions that are not certified by GitHub.\n# They are provided by a third-party and are governed by\n# separate terms of service, privacy policy, and support\n# documentation.\n\n# GitHub recommends pinning actions to a commit SHA.\n# To get a newer version, you will need to update the SHA.\n# You can also reference a tag or branch, but the action may change without warning.\n\nname: Deploy web app to Azure Static Web Apps\n\nenv:\n APP_LOCATION: \"/\" # location of your client code\n API_LOCATION: \"api\" # location of your api source code - optional\n OUTPUT_LOCATION: \"build\" # location of client code build output\n\non:\n push:\n branches:\n - main\n pull_request:\n types: [opened, synchronize, reopened, closed]\n branches:\n - main\n\npermissions:\n issues: write\n contents: read\n pull-requests: write\n\njobs:\n build_and_deploy:\n if: github.event_name == 'push' || (github.event_name == 'pull_request' \u0026#x26;\u0026#x26; github.event.action != 'closed')\n runs-on: ubuntu-latest\n name: Build and Deploy\n steps:\n - uses: actions/checkout@v4\n with:\n submodules: true\n - name: Build And Deploy\n uses: Azure/static-web-apps-deploy@1a947af9992250f3bc2e68ad0754c0b0c11566c9\n with:\n azure_static_web_apps_api_token: ${{ secrets.AZURE_STATIC_WEB_APPS_API_TOKEN }}\n repo_token: ${{ secrets.GITHUB_TOKEN }}\n action: \"upload\"\n app_location: ${{ env.APP_LOCATION }}\n api_location: ${{ env.API_LOCATION }}\n output_location: ${{ env.OUTPUT_LOCATION }}\n\n close_pull_request:\n if: github.event_name == 'pull_request' \u0026#x26;\u0026#x26; github.event.action == 'closed'\n runs-on: ubuntu-latest\n name: Close Pull Request\n steps:\n - name: Close Pull Request\n uses: Azure/static-web-apps-deploy@1a947af9992250f3bc2e68ad0754c0b0c11566c9\n with:\n azure_static_web_apps_api_token: ${{ secrets.AZURE_STATIC_WEB_APPS_API_TOKEN }}\n action: \"close\"\n\u003c/pre\u003e\u003c/header\u003e\u003cpre\u003e\u003ccode class=\"hljs language-yaml\"\u003e\u003cspan class=\"hljs-comment\"\u003e# This workflow uses actions that are not certified by GitHub.\u003c/span\u003e\n\u003cspan class=\"hljs-comment\"\u003e# They are provided by a third-party and are governed by\u003c/span\u003e\n\u003cspan class=\"hljs-comment\"\u003e# separate terms of service, privacy policy, and support\u003c/span\u003e\n\u003cspan class=\"hljs-comment\"\u003e# documentation.\u003c/span\u003e\n\n\u003cspan class=\"hljs-comment\"\u003e# GitHub recommends pinning actions to a commit SHA.\u003c/span\u003e\n\u003cspan class=\"hljs-comment\"\u003e# To get a newer version, you will need to update the SHA.\u003c/span\u003e\n\u003cspan class=\"hljs-comment\"\u003e# You can also reference a tag or branch, but the action may change without warning.\u003c/span\u003e\n\n\u003cspan class=\"hljs-attr\"\u003ename:\u003c/span\u003e \u003cspan class=\"hljs-string\"\u003eDeploy\u003c/span\u003e \u003cspan class=\"hljs-string\"\u003eweb\u003c/span\u003e \u003cspan class=\"hljs-string\"\u003eapp\u003c/span\u003e \u003cspan class=\"hljs-string\"\u003eto\u003c/span\u003e \u003cspan class=\"hljs-string\"\u003eAzure\u003c/span\u003e \u003cspan class=\"hljs-string\"\u003eStatic\u003c/span\u003e \u003cspan class=\"hljs-string\"\u003eWeb\u003c/span\u003e \u003cspan class=\"hljs-string\"\u003eApps\u003c/span\u003e\n\n\u003cspan class=\"hljs-attr\"\u003eenv:\u003c/span\u003e\n \u003cspan class=\"hljs-attr\"\u003eAPP_LOCATION:\u003c/span\u003e \u003cspan class=\"hljs-string\"\u003e\"/\"\u003c/span\u003e \u003cspan class=\"hljs-comment\"\u003e# location of your client code\u003c/span\u003e\n \u003cspan class=\"hljs-attr\"\u003eAPI_LOCATION:\u003c/span\u003e \u003cspan class=\"hljs-string\"\u003e\"api\"\u003c/span\u003e \u003cspan class=\"hljs-comment\"\u003e# location of your api source code - optional\u003c/span\u003e\n \u003cspan class=\"hljs-attr\"\u003eOUTPUT_LOCATION:\u003c/span\u003e \u003cspan class=\"hljs-string\"\u003e\"build\"\u003c/span\u003e \u003cspan class=\"hljs-comment\"\u003e# location of client code build output\u003c/span\u003e\n\n\u003cspan class=\"hljs-attr\"\u003eon:\u003c/span\u003e\n \u003cspan class=\"hljs-attr\"\u003epush:\u003c/span\u003e\n \u003cspan class=\"hljs-attr\"\u003ebranches:\u003c/span\u003e\n \u003cspan class=\"hljs-bullet\"\u003e-\u003c/span\u003e \u003cspan class=\"hljs-string\"\u003emain\u003c/span\u003e\n \u003cspan class=\"hljs-attr\"\u003epull_request:\u003c/span\u003e\n \u003cspan class=\"hljs-attr\"\u003etypes:\u003c/span\u003e [\u003cspan class=\"hljs-string\"\u003eopened\u003c/span\u003e, \u003cspan class=\"hljs-string\"\u003esynchronize\u003c/span\u003e, \u003cspan class=\"hljs-string\"\u003ereopened\u003c/span\u003e, \u003cspan class=\"hljs-string\"\u003eclosed\u003c/span\u003e]\n \u003cspan class=\"hljs-attr\"\u003ebranches:\u003c/span\u003e\n \u003cspan class=\"hljs-bullet\"\u003e-\u003c/span\u003e \u003cspan class=\"hljs-string\"\u003emain\u003c/span\u003e\n\n\u003cspan class=\"hljs-attr\"\u003epermissions:\u003c/span\u003e\n \u003cspan class=\"hljs-attr\"\u003eissues:\u003c/span\u003e \u003cspan class=\"hljs-string\"\u003ewrite\u003c/span\u003e\n \u003cspan class=\"hljs-attr\"\u003econtents:\u003c/span\u003e \u003cspan class=\"hljs-string\"\u003eread\u003c/span\u003e\n \u003cspan class=\"hljs-attr\"\u003epull-requests:\u003c/span\u003e \u003cspan class=\"hljs-string\"\u003ewrite\u003c/span\u003e\n\n\u003cspan class=\"hljs-attr\"\u003ejobs:\u003c/span\u003e\n \u003cspan class=\"hljs-attr\"\u003ebuild_and_deploy:\u003c/span\u003e\n \u003cspan class=\"hljs-attr\"\u003eif:\u003c/span\u003e \u003cspan class=\"hljs-string\"\u003egithub.event_name\u003c/span\u003e \u003cspan class=\"hljs-string\"\u003e==\u003c/span\u003e \u003cspan class=\"hljs-string\"\u003e'push'\u003c/span\u003e \u003cspan class=\"hljs-string\"\u003e||\u003c/span\u003e \u003cspan class=\"hljs-string\"\u003e(github.event_name\u003c/span\u003e \u003cspan class=\"hljs-string\"\u003e==\u003c/span\u003e \u003cspan class=\"hljs-string\"\u003e'pull_request'\u003c/span\u003e \u003cspan class=\"hljs-string\"\u003e\u0026#x26;\u0026#x26;\u003c/span\u003e \u003cspan class=\"hljs-string\"\u003egithub.event.action\u003c/span\u003e \u003cspan class=\"hljs-type\"\u003e!=\u003c/span\u003e \u003cspan class=\"hljs-string\"\u003e'closed'\u003c/span\u003e\u003cspan class=\"hljs-string\"\u003e)\u003c/span\u003e\n \u003cspan class=\"hljs-attr\"\u003eruns-on:\u003c/span\u003e \u003cspan class=\"hljs-string\"\u003eubuntu-latest\u003c/span\u003e\n \u003cspan class=\"hljs-attr\"\u003ename:\u003c/span\u003e \u003cspan class=\"hljs-string\"\u003eBuild\u003c/span\u003e \u003cspan class=\"hljs-string\"\u003eand\u003c/span\u003e \u003cspan class=\"hljs-string\"\u003eDeploy\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\"\u003euses:\u003c/span\u003e \u003cspan class=\"hljs-string\"\u003eactions/checkout@v4\u003c/span\u003e\n \u003cspan class=\"hljs-attr\"\u003ewith:\u003c/span\u003e\n \u003cspan class=\"hljs-attr\"\u003esubmodules:\u003c/span\u003e \u003cspan class=\"hljs-literal\"\u003etrue\u003c/span\u003e\n \u003cspan class=\"hljs-bullet\"\u003e-\u003c/span\u003e \u003cspan class=\"hljs-attr\"\u003ename:\u003c/span\u003e \u003cspan class=\"hljs-string\"\u003eBuild\u003c/span\u003e \u003cspan class=\"hljs-string\"\u003eAnd\u003c/span\u003e \u003cspan class=\"hljs-string\"\u003eDeploy\u003c/span\u003e\n \u003cspan class=\"hljs-attr\"\u003euses:\u003c/span\u003e \u003cspan class=\"hljs-string\"\u003eAzure/static-web-apps-deploy@1a947af9992250f3bc2e68ad0754c0b0c11566c9\u003c/span\u003e\n \u003cspan class=\"hljs-attr\"\u003ewith:\u003c/span\u003e\n \u003cspan class=\"hljs-attr\"\u003eazure_static_web_apps_api_token:\u003c/span\u003e \u003cspan class=\"hljs-string\"\u003e${{\u003c/span\u003e \u003cspan class=\"hljs-string\"\u003esecrets.AZURE_STATIC_WEB_APPS_API_TOKEN\u003c/span\u003e \u003cspan class=\"hljs-string\"\u003e}}\u003c/span\u003e\n \u003cspan class=\"hljs-attr\"\u003erepo_token:\u003c/span\u003e \u003cspan class=\"hljs-string\"\u003e${{\u003c/span\u003e \u003cspan class=\"hljs-string\"\u003esecrets.GITHUB_TOKEN\u003c/span\u003e \u003cspan class=\"hljs-string\"\u003e}}\u003c/span\u003e\n \u003cspan class=\"hljs-attr\"\u003eaction:\u003c/span\u003e \u003cspan class=\"hljs-string\"\u003e\"upload\"\u003c/span\u003e\n \u003cspan class=\"hljs-attr\"\u003eapp_location:\u003c/span\u003e \u003cspan class=\"hljs-string\"\u003e${{\u003c/span\u003e \u003cspan class=\"hljs-string\"\u003eenv.APP_LOCATION\u003c/span\u003e \u003cspan class=\"hljs-string\"\u003e}}\u003c/span\u003e\n \u003cspan class=\"hljs-attr\"\u003eapi_location:\u003c/span\u003e \u003cspan class=\"hljs-string\"\u003e${{\u003c/span\u003e \u003cspan class=\"hljs-string\"\u003eenv.API_LOCATION\u003c/span\u003e \u003cspan class=\"hljs-string\"\u003e}}\u003c/span\u003e\n \u003cspan class=\"hljs-attr\"\u003eoutput_location:\u003c/span\u003e \u003cspan class=\"hljs-string\"\u003e${{\u003c/span\u003e \u003cspan class=\"hljs-string\"\u003eenv.OUTPUT_LOCATION\u003c/span\u003e \u003cspan class=\"hljs-string\"\u003e}}\u003c/span\u003e\n\n \u003cspan class=\"hljs-attr\"\u003eclose_pull_request:\u003c/span\u003e\n \u003cspan class=\"hljs-attr\"\u003eif:\u003c/span\u003e \u003cspan class=\"hljs-string\"\u003egithub.event_name\u003c/span\u003e \u003cspan class=\"hljs-string\"\u003e==\u003c/span\u003e \u003cspan class=\"hljs-string\"\u003e'pull_request'\u003c/span\u003e \u003cspan class=\"hljs-string\"\u003e\u0026#x26;\u0026#x26;\u003c/span\u003e \u003cspan class=\"hljs-string\"\u003egithub.event.action\u003c/span\u003e \u003cspan class=\"hljs-string\"\u003e==\u003c/span\u003e \u003cspan class=\"hljs-string\"\u003e'closed'\u003c/span\u003e\n \u003cspan class=\"hljs-attr\"\u003eruns-on:\u003c/span\u003e \u003cspan class=\"hljs-string\"\u003eubuntu-latest\u003c/span\u003e\n \u003cspan class=\"hljs-attr\"\u003ename:\u003c/span\u003e \u003cspan class=\"hljs-string\"\u003eClose\u003c/span\u003e \u003cspan class=\"hljs-string\"\u003ePull\u003c/span\u003e \u003cspan class=\"hljs-string\"\u003eRequest\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\"\u003eClose\u003c/span\u003e \u003cspan class=\"hljs-string\"\u003ePull\u003c/span\u003e \u003cspan class=\"hljs-string\"\u003eRequest\u003c/span\u003e\n \u003cspan class=\"hljs-attr\"\u003euses:\u003c/span\u003e \u003cspan class=\"hljs-string\"\u003eAzure/static-web-apps-deploy@1a947af9992250f3bc2e68ad0754c0b0c11566c9\u003c/span\u003e\n \u003cspan class=\"hljs-attr\"\u003ewith:\u003c/span\u003e\n \u003cspan class=\"hljs-attr\"\u003eazure_static_web_apps_api_token:\u003c/span\u003e \u003cspan class=\"hljs-string\"\u003e${{\u003c/span\u003e \u003cspan class=\"hljs-string\"\u003esecrets.AZURE_STATIC_WEB_APPS_API_TOKEN\u003c/span\u003e \u003cspan class=\"hljs-string\"\u003e}}\u003c/span\u003e\n \u003cspan class=\"hljs-attr\"\u003eaction:\u003c/span\u003e \u003cspan class=\"hljs-string\"\u003e\"close\"\u003c/span\u003e\n\u003c/code\u003e\u003c/pre\u003e\u003c/div\u003e\n\u003ch2 id=\"additional-resources\" tabindex=\"-1\"\u003e\u003ca class=\"heading-link\" href=\"#additional-resources\"\u003eAdditional resources\u003cspan class=\"heading-link-symbol\" aria-hidden=\"true\"\u003e\u003c/span\u003e\u003c/a\u003e\u003c/h2\u003e\n\u003cp\u003eThe following resources may also be useful:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFor the original workflow template, see \u003ca href=\"https://github.com/actions/starter-workflows/blob/main/deployments/azure-staticwebapp.yml\"\u003e\u003ccode\u003eazure-staticwebapp.yml\u003c/code\u003e\u003c/a\u003e in the GitHub Actions \u003ccode\u003estarter-workflows\u003c/code\u003e repository.\u003c/li\u003e\n\u003cli\u003eThe action used to deploy the web app is the official Azure \u003ca href=\"https://github.com/Azure/static-web-apps-deploy\"\u003e\u003ccode\u003eAzure/static-web-apps-deploy\u003c/code\u003e\u003c/a\u003e action.\u003c/li\u003e\n\u003cli\u003eFor more examples of GitHub Action workflows that deploy to Azure, see the \u003ca href=\"https://github.com/Azure/actions-workflow-samples\"\u003eactions-workflow-samples\u003c/a\u003e repository.\u003c/li\u003e\n\u003c/ul\u003e","miniTocItems":[{"contents":{"href":"#introduction","title":"Introduction"}},{"contents":{"href":"#prerequisites","title":"Prerequisites"}},{"contents":{"href":"#creating-the-workflow","title":"Creating the workflow"}},{"contents":{"href":"#additional-resources","title":"Additional resources"}}],"permissions":"","includesPlatformSpecificContent":false,"includesToolSpecificContent":false,"defaultPlatform":"","defaultTool":"","product":"","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","eclipse":"Eclipse","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":"actions","restPage":["use-cases-and-examples","deploying","deploying-to-azure-static-web-app"]},"buildId":"PNjGjP5MHlc4ECJ_bgyzz","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>

Pages: 1 2 3 4 5 6 7 8 9 10