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="">Metadata syntax for GitHub Actions - GitHub Docs</title><meta name="description" content="You can create actions to perform tasks in your repository. Actions require a metadata file that uses YAML syntax." data-next-head=""/><link rel="alternate" hrefLang="zh-Hans" href="https://docs.github.com/zh/actions/sharing-automations/creating-actions/metadata-syntax-for-github-actions" data-next-head=""/><link rel="alternate" hrefLang="es" href="https://docs.github.com/es/actions/sharing-automations/creating-actions/metadata-syntax-for-github-actions" data-next-head=""/><link rel="alternate" hrefLang="pt" href="https://docs.github.com/pt/actions/sharing-automations/creating-actions/metadata-syntax-for-github-actions" data-next-head=""/><link rel="alternate" hrefLang="ru" href="https://docs.github.com/ru/actions/sharing-automations/creating-actions/metadata-syntax-for-github-actions" data-next-head=""/><link rel="alternate" hrefLang="ja" href="https://docs.github.com/ja/actions/sharing-automations/creating-actions/metadata-syntax-for-github-actions" data-next-head=""/><link rel="alternate" hrefLang="fr" href="https://docs.github.com/fr/actions/sharing-automations/creating-actions/metadata-syntax-for-github-actions" data-next-head=""/><link rel="alternate" hrefLang="de" href="https://docs.github.com/de/actions/sharing-automations/creating-actions/metadata-syntax-for-github-actions" data-next-head=""/><link rel="alternate" hrefLang="ko" href="https://docs.github.com/ko/actions/sharing-automations/creating-actions/metadata-syntax-for-github-actions" 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/sharing-automations/creating-actions/metadata-syntax-for-github-actions" data-next-head=""/><meta name="page-type" content="reference" 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="Metadata syntax for GitHub Actions - 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/sharing-automations/creating-actions/metadata-syntax-for-github-actions" 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-e1031e9bd5db1252.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/8wY6FDH1_8A6cg3AMJ9pd/_buildManifest.js" defer=""></script><script src="/_next/static/8wY6FDH1_8A6cg3AMJ9pd/_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, & 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="Share automations" class="Link--primary mr-2 color-fg-muted" href="/en/actions/sharing-automations">Share automations</a><span class="color-fg-muted pr-2">/</span></li><li class="d-inline-block"><a rel="" data-testid="breadcrumb-link" title="Create actions" class="Link--primary mr-2 color-fg-muted" href="/en/actions/sharing-automations/creating-actions">Create actions</a><span class="color-fg-muted pr-2">/</span></li><li class="d-inline-block"><a rel="" data-testid="breadcrumb-link" title="Metadata syntax" class="Link--primary mr-2 color-fg-muted" href="/en/actions/sharing-automations/creating-actions/metadata-syntax-for-github-actions">Metadata syntax</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 & 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="true" aria-controls=":R9b6n6H1:" class="Item__LiBox-sc-yeql7o-0 itjSOb"><div data-component="ActionList.Item--DividerContainer" class="Box-sc-g0xbh4-0 hROlum"><div class="Box-sc-g0xbh4-0 cUxMoC"><span id=":R9b6n6:--label" class="Box-sc-g0xbh4-0 bmseMA">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 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=":R9b6n6H1:" aria-labelledby=":R9b6n6:" class="Box-sc-g0xbh4-0 enEvIH"><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="true" 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 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=":R2l9b6n6H1:" aria-labelledby=":R2l9b6n6:" class="Box-sc-g0xbh4-0 enEvIH"><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 hTSEii"><a sx="[object Object]" tabindex="0" aria-labelledby=":R1dal9b6n6:--label " id=":R1dal9b6n6:" aria-current="page" 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 ivpQTm">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 & 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 & 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="false" aria-controls=":Rjb6n6H1:" class="Item__LiBox-sc-yeql7o-0 itjSOb"><div data-component="ActionList.Item--DividerContainer" class="Box-sc-g0xbh4-0 hROlum"><div class="Box-sc-g0xbh4-0 cUxMoC"><span id=":Rjb6n6:--label" class="Box-sc-g0xbh4-0 bmseMA">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 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=":Rjb6n6H1:" aria-labelledby=":Rjb6n6:" class="Box-sc-g0xbh4-0 gMkIpo"><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 & 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 & test Java & 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 & test Java & 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 & 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 & 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 & 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 & 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 & 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 & 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 & 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 & 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 & 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="false" 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 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=":R3ljb6n6H1:" aria-labelledby=":R3ljb6n6:" class="Box-sc-g0xbh4-0 gMkIpo"><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 lnYQME"><a sx="[object Object]" tabindex="0" aria-labelledby=":R25bljb6n6:--label " id=":R25bljb6n6:" aria-current="false" 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 bmseMA">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 & 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="Share automations" class="Link--primary mr-2 color-fg-muted" href="/en/actions/sharing-automations">Share automations</a><span class="color-fg-muted pr-2">/</span></li><li class="d-inline-block"><a rel="" data-testid="breadcrumb-link" title="Create actions" class="Link--primary mr-2 color-fg-muted" href="/en/actions/sharing-automations/creating-actions">Create actions</a><span class="color-fg-muted pr-2">/</span></li><li class="d-inline-block"><a rel="" data-testid="breadcrumb-link" title="Metadata syntax" class="Link--primary mr-2 color-fg-muted d-none" href="/en/actions/sharing-automations/creating-actions/metadata-syntax-for-github-actions">Metadata syntax</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">Metadata syntax for GitHub Actions</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 create actions to perform tasks in your repository. Actions require a metadata file that uses YAML syntax.</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=":R4dkteqn6:--label " id=":R4dkteqn6:" aria-current="false" href="#about-yaml-syntax-for-github-actions" class="Link__StyledLink-sc-14289xe-0 cJbOew Minitocs_nested__JSAov"><div data-component="ActionList.Item--DividerContainer" class="Box-sc-g0xbh4-0 hROlum"><span id=":R4dkteqn6:--label" class="Box-sc-g0xbh4-0 bmseMA">About YAML syntax for GitHub Actions</span></div></a></li><li class="Item__LiBox-sc-yeql7o-0 lnYQME"><a tabindex="0" aria-labelledby=":R4lkteqn6:--label " id=":R4lkteqn6:" aria-current="false" href="#name" class="Link__StyledLink-sc-14289xe-0 cJbOew Minitocs_nested__JSAov"><div data-component="ActionList.Item--DividerContainer" class="Box-sc-g0xbh4-0 hROlum"><span id=":R4lkteqn6:--label" class="Box-sc-g0xbh4-0 bmseMA">name</span></div></a></li><li class="Item__LiBox-sc-yeql7o-0 lnYQME"><a tabindex="0" aria-labelledby=":R4tkteqn6:--label " id=":R4tkteqn6:" aria-current="false" href="#author" class="Link__StyledLink-sc-14289xe-0 cJbOew Minitocs_nested__JSAov"><div data-component="ActionList.Item--DividerContainer" class="Box-sc-g0xbh4-0 hROlum"><span id=":R4tkteqn6:--label" class="Box-sc-g0xbh4-0 bmseMA">author</span></div></a></li><li class="Item__LiBox-sc-yeql7o-0 lnYQME"><a tabindex="0" aria-labelledby=":R55kteqn6:--label " id=":R55kteqn6:" aria-current="false" href="#description" class="Link__StyledLink-sc-14289xe-0 cJbOew Minitocs_nested__JSAov"><div data-component="ActionList.Item--DividerContainer" class="Box-sc-g0xbh4-0 hROlum"><span id=":R55kteqn6:--label" class="Box-sc-g0xbh4-0 bmseMA">description</span></div></a></li><li class="Item__LiBox-sc-yeql7o-0 lnYQME"><a tabindex="0" aria-labelledby=":R5dkteqn6:--label " id=":R5dkteqn6:" aria-current="false" href="#inputs" class="Link__StyledLink-sc-14289xe-0 cJbOew Minitocs_nested__JSAov"><div data-component="ActionList.Item--DividerContainer" class="Box-sc-g0xbh4-0 hROlum"><span id=":R5dkteqn6:--label" class="Box-sc-g0xbh4-0 bmseMA">inputs</span></div></a></li><li class="Item__LiBox-sc-yeql7o-0 lnYQME"><a tabindex="0" aria-labelledby=":R5lkteqn6:--label " id=":R5lkteqn6:" aria-current="false" href="#outputs-for-docker-container-and-javascript-actions" class="Link__StyledLink-sc-14289xe-0 cJbOew Minitocs_nested__JSAov"><div data-component="ActionList.Item--DividerContainer" class="Box-sc-g0xbh4-0 hROlum"><span id=":R5lkteqn6:--label" class="Box-sc-g0xbh4-0 bmseMA">outputs for Docker container and JavaScript actions</span></div></a></li><li class="Item__LiBox-sc-yeql7o-0 lnYQME"><a tabindex="0" aria-labelledby=":R5tkteqn6:--label " id=":R5tkteqn6:" aria-current="false" href="#outputs-for-composite-actions" class="Link__StyledLink-sc-14289xe-0 cJbOew Minitocs_nested__JSAov"><div data-component="ActionList.Item--DividerContainer" class="Box-sc-g0xbh4-0 hROlum"><span id=":R5tkteqn6:--label" class="Box-sc-g0xbh4-0 bmseMA">outputs for composite actions</span></div></a></li><li class="Item__LiBox-sc-yeql7o-0 lnYQME"><a tabindex="0" aria-labelledby=":R65kteqn6:--label " id=":R65kteqn6:" aria-current="false" href="#runs" class="Link__StyledLink-sc-14289xe-0 cJbOew Minitocs_nested__JSAov"><div data-component="ActionList.Item--DividerContainer" class="Box-sc-g0xbh4-0 hROlum"><span id=":R65kteqn6:--label" class="Box-sc-g0xbh4-0 bmseMA">runs</span></div></a></li><li class="Item__LiBox-sc-yeql7o-0 lnYQME"><a tabindex="0" aria-labelledby=":R6dkteqn6:--label " id=":R6dkteqn6:" aria-current="false" href="#runs-for-javascript-actions" class="Link__StyledLink-sc-14289xe-0 cJbOew Minitocs_nested__JSAov"><div data-component="ActionList.Item--DividerContainer" class="Box-sc-g0xbh4-0 hROlum"><span id=":R6dkteqn6:--label" class="Box-sc-g0xbh4-0 bmseMA">runs for JavaScript actions</span></div></a></li><li class="Item__LiBox-sc-yeql7o-0 lnYQME"><a tabindex="0" aria-labelledby=":R6lkteqn6:--label " id=":R6lkteqn6:" aria-current="false" href="#runs-for-composite-actions" class="Link__StyledLink-sc-14289xe-0 cJbOew Minitocs_nested__JSAov"><div data-component="ActionList.Item--DividerContainer" class="Box-sc-g0xbh4-0 hROlum"><span id=":R6lkteqn6:--label" class="Box-sc-g0xbh4-0 bmseMA">runs for composite actions</span></div></a></li><li class="Item__LiBox-sc-yeql7o-0 lnYQME"><a tabindex="0" aria-labelledby=":R6tkteqn6:--label " id=":R6tkteqn6:" aria-current="false" href="#runs-for-docker-container-actions" class="Link__StyledLink-sc-14289xe-0 cJbOew Minitocs_nested__JSAov"><div data-component="ActionList.Item--DividerContainer" class="Box-sc-g0xbh4-0 hROlum"><span id=":R6tkteqn6:--label" class="Box-sc-g0xbh4-0 bmseMA">runs for Docker container actions</span></div></a></li><li class="Item__LiBox-sc-yeql7o-0 lnYQME"><a tabindex="0" aria-labelledby=":R75kteqn6:--label " id=":R75kteqn6:" aria-current="false" href="#branding" class="Link__StyledLink-sc-14289xe-0 cJbOew Minitocs_nested__JSAov"><div data-component="ActionList.Item--DividerContainer" class="Box-sc-g0xbh4-0 hROlum"><span id=":R75kteqn6:--label" class="Box-sc-g0xbh4-0 bmseMA">branding</span></div></a></li><li class="Item__LiBox-sc-yeql7o-0 lnYQME"><a tabindex="0" aria-labelledby=":R7dkteqn6:--label " id=":R7dkteqn6:" aria-current="false" href="#changing-the-metadata-file-name" class="Link__StyledLink-sc-14289xe-0 cJbOew Minitocs_nested__JSAov"><div data-component="ActionList.Item--DividerContainer" class="Box-sc-g0xbh4-0 hROlum"><span id=":R7dkteqn6:--label" class="Box-sc-g0xbh4-0 bmseMA">Changing the metadata file name</span></div></a></li></ul></nav></div><div data-container="article" data-search="article-body" class="Box-sc-g0xbh4-0 kohLxz"><div id="article-contents"><div class="MarkdownContent_markdownBody__v5MYy markdown-body"><h2 id="about-yaml-syntax-for-github-actions" tabindex="-1"><a class="heading-link" href="#about-yaml-syntax-for-github-actions">About YAML syntax for GitHub Actions<span class="heading-link-symbol" aria-hidden="true"></span></a></h2> <p>All actions require a metadata file. The metadata filename must be either <code>action.yml</code> or <code>action.yaml</code>. The preferred format is <code>action.yml</code>. The data in the metadata file defines the inputs, outputs, and runs configuration for your action.</p> <p>Action metadata files use YAML syntax. If you're new to YAML, you can read <a href="https://www.codeproject.com/Articles/1214409/Learn-YAML-in-five-minutes">Learn YAML in five minutes</a>.</p> <h2 id="name" tabindex="-1"><a class="heading-link" href="#name"><code>name</code><span class="heading-link-symbol" aria-hidden="true"></span></a></h2> <p><strong>Required</strong> The name of your action. GitHub displays the <code>name</code> in the <strong>Actions</strong> tab to help visually identify actions in each job.</p> <h2 id="author" tabindex="-1"><a class="heading-link" href="#author"><code>author</code><span class="heading-link-symbol" aria-hidden="true"></span></a></h2> <p><strong>Optional</strong> The name of the action's author.</p> <h2 id="description" tabindex="-1"><a class="heading-link" href="#description"><code>description</code><span class="heading-link-symbol" aria-hidden="true"></span></a></h2> <p><strong>Required</strong> A short description of the action.</p> <h2 id="inputs" tabindex="-1"><a class="heading-link" href="#inputs"><code>inputs</code><span class="heading-link-symbol" aria-hidden="true"></span></a></h2> <p><strong>Optional</strong> Input parameters allow you to specify data that the action expects to use during runtime. GitHub stores input parameters as environment variables. We recommend using lowercase input ids.</p> <h3 id="example-specifying-inputs" tabindex="-1"><a class="heading-link" href="#example-specifying-inputs">Example: Specifying inputs<span class="heading-link-symbol" aria-hidden="true"></span></a></h3> <p>This example configures two inputs: <code>num-octocats</code> and <code>octocat-eye-color</code>. The <code>num-octocats</code> input is not required and will default to a value of <code>1</code>. <code>octocat-eye-color</code> is required and has no default value.</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> Actions using <code>required: true</code> will not automatically return an error if the input is not specified.</p> </div> <p>Workflow files that use this action can use the <code>with</code> keyword to set an input value for <code>octocat-eye-color</code>. For more information about the <code>with</code> syntax, see <a href="/en/actions/using-workflows/workflow-syntax-for-github-actions#jobsjob_idstepswith" _originalHref="/actions/using-workflows/workflow-syntax-for-github-actions#jobsjob_idstepswith">Workflow syntax for GitHub Actions</a>.</p> <pre><code class="hljs language-yaml"><span class="hljs-attr">inputs:</span> <span class="hljs-attr">num-octocats:</span> <span class="hljs-attr">description:</span> <span class="hljs-string">'Number of Octocats'</span> <span class="hljs-attr">required:</span> <span class="hljs-literal">false</span> <span class="hljs-attr">default:</span> <span class="hljs-string">'1'</span> <span class="hljs-attr">octocat-eye-color:</span> <span class="hljs-attr">description:</span> <span class="hljs-string">'Eye color of the Octocats'</span> <span class="hljs-attr">required:</span> <span class="hljs-literal">true</span> </code></pre> <p>When you specify an input, GitHub creates an environment variable for the input with the name <code>INPUT_<VARIABLE_NAME></code>. The environment variable created converts input names to uppercase letters and replaces spaces with <code>_</code> characters.</p> <p>If the action is written using a <a href="/en/actions/creating-actions/creating-a-composite-action" _originalHref="/actions/creating-actions/creating-a-composite-action">composite</a>, then it will not automatically get <code>INPUT_<VARIABLE_NAME></code>. With composite actions you can use <code>inputs</code> <a href="/en/actions/learn-github-actions/contexts" _originalHref="/actions/learn-github-actions/contexts">Accessing contextual information about workflow runs</a> to access action inputs.</p> <p>To access the environment variable in a Docker container action, you must pass the input using the <code>args</code> keyword in the action metadata file. For more information about the action metadata file for Docker container actions, see <a href="/en/actions/creating-actions/creating-a-docker-container-action#creating-an-action-metadata-file" _originalHref="/actions/creating-actions/creating-a-docker-container-action#creating-an-action-metadata-file">Creating a Docker container action</a>.</p> <p>For example, if a workflow defined the <code>num-octocats</code> and <code>octocat-eye-color</code> inputs, the action code could read the values of the inputs using the <code>INPUT_NUM-OCTOCATS</code> and <code>INPUT_OCTOCAT-EYE-COLOR</code> environment variables.</p> <h3 id="inputsinput_id" tabindex="-1"><a class="heading-link" href="#inputsinput_id"><code>inputs.<input_id></code><span class="heading-link-symbol" aria-hidden="true"></span></a></h3> <p><strong>Required</strong> A <code>string</code> identifier to associate with the input. The value of <code><input_id></code> is a map of the input's metadata. The <code><input_id></code> must be a unique identifier within the <code>inputs</code> object. The <code><input_id></code> must start with a letter or <code>_</code> and contain only alphanumeric characters, <code>-</code>, or <code>_</code>.</p> <h3 id="inputsinput_iddescription" tabindex="-1"><a class="heading-link" href="#inputsinput_iddescription"><code>inputs.<input_id>.description</code><span class="heading-link-symbol" aria-hidden="true"></span></a></h3> <p><strong>Required</strong> A <code>string</code> description of the input parameter.</p> <h3 id="inputsinput_idrequired" tabindex="-1"><a class="heading-link" href="#inputsinput_idrequired"><code>inputs.<input_id>.required</code><span class="heading-link-symbol" aria-hidden="true"></span></a></h3> <p><strong>Optional</strong> A <code>boolean</code> to indicate whether the action requires the input parameter. Set to <code>true</code> when the parameter is required.</p> <h3 id="inputsinput_iddefault" tabindex="-1"><a class="heading-link" href="#inputsinput_iddefault"><code>inputs.<input_id>.default</code><span class="heading-link-symbol" aria-hidden="true"></span></a></h3> <p><strong>Optional</strong> A <code>string</code> representing the default value. The default value is used when an input parameter isn't specified in a workflow file.</p> <h3 id="inputsinput_iddeprecationmessage" tabindex="-1"><a class="heading-link" href="#inputsinput_iddeprecationmessage"><code>inputs.<input_id>.deprecationMessage</code><span class="heading-link-symbol" aria-hidden="true"></span></a></h3> <p><strong>Optional</strong> If the input parameter is used, this <code>string</code> is logged as a warning message. You can use this warning to notify users that the input is closing down and mention any alternatives.</p> <h2 id="outputs-for-docker-container-and-javascript-actions" tabindex="-1"><a class="heading-link" href="#outputs-for-docker-container-and-javascript-actions"><code>outputs</code> for Docker container and JavaScript actions<span class="heading-link-symbol" aria-hidden="true"></span></a></h2> <p><strong>Optional</strong> Output parameters allow you to declare data that an action sets. Actions that run later in a workflow can use the output data set in previously run actions. For example, if you had an action that performed the addition of two inputs (x + y = z), the action could output the sum (z) for other actions to use as an input.</p> <p>Outputs are Unicode strings, and can be a maximum of 1 MB. The total of all outputs in a workflow run can be a maximum of 50 MB.</p> <p>If you don't declare an output in your action metadata file, you can still set outputs and use them in a workflow. For more information on setting outputs in an action, see <a href="/en/actions/using-workflows/workflow-commands-for-github-actions#setting-an-output-parameter" _originalHref="/actions/using-workflows/workflow-commands-for-github-actions#setting-an-output-parameter">Workflow commands for GitHub Actions</a>.</p> <h3 id="example-declaring-outputs-for-docker-container-and-javascript-actions" tabindex="-1"><a class="heading-link" href="#example-declaring-outputs-for-docker-container-and-javascript-actions">Example: Declaring outputs for Docker container and JavaScript actions<span class="heading-link-symbol" aria-hidden="true"></span></a></h3> <pre><code class="hljs language-yaml"><span class="hljs-attr">outputs:</span> <span class="hljs-attr">sum:</span> <span class="hljs-comment"># id of the output</span> <span class="hljs-attr">description:</span> <span class="hljs-string">'The sum of the inputs'</span> </code></pre> <h3 id="outputsoutput_id" tabindex="-1"><a class="heading-link" href="#outputsoutput_id"><code>outputs.<output_id></code><span class="heading-link-symbol" aria-hidden="true"></span></a></h3> <p><strong>Required</strong> A <code>string</code> identifier to associate with the output. The value of <code><output_id></code> is a map of the output's metadata. The <code><output_id></code> must be a unique identifier within the <code>outputs</code> object. The <code><output_id></code> must start with a letter or <code>_</code> and contain only alphanumeric characters, <code>-</code>, or <code>_</code>.</p> <h3 id="outputsoutput_iddescription" tabindex="-1"><a class="heading-link" href="#outputsoutput_iddescription"><code>outputs.<output_id>.description</code><span class="heading-link-symbol" aria-hidden="true"></span></a></h3> <p><strong>Required</strong> A <code>string</code> description of the output parameter.</p> <h2 id="outputs-for-composite-actions" tabindex="-1"><a class="heading-link" href="#outputs-for-composite-actions"><code>outputs</code> for composite actions<span class="heading-link-symbol" aria-hidden="true"></span></a></h2> <p><strong>Optional</strong> <code>outputs</code> use the same parameters as <code>outputs.<output_id></code> and <code>outputs.<output_id>.description</code> (see <a href="#outputs-for-docker-container-and-javascript-actions"><code>outputs</code> for Docker container and JavaScript actions</a>), but also includes the <code>value</code> token.</p> <p>Outputs are Unicode strings, and can be a maximum of 1 MB. The total of all outputs in a workflow run can be a maximum of 50 MB.</p> <h3 id="example-declaring-outputs-for-composite-actions" tabindex="-1"><a class="heading-link" href="#example-declaring-outputs-for-composite-actions">Example: Declaring outputs for composite actions<span class="heading-link-symbol" aria-hidden="true"></span></a></h3> <pre><code class="hljs language-yaml"><span class="hljs-attr">outputs:</span> <span class="hljs-attr">random-number:</span> <span class="hljs-attr">description:</span> <span class="hljs-string">"Random number"</span> <span class="hljs-attr">value:</span> <span class="hljs-string">${{</span> <span class="hljs-string">steps.random-number-generator.outputs.random-id</span> <span class="hljs-string">}}</span> <span class="hljs-attr">runs:</span> <span class="hljs-attr">using:</span> <span class="hljs-string">"composite"</span> <span class="hljs-attr">steps:</span> <span class="hljs-bullet">-</span> <span class="hljs-attr">id:</span> <span class="hljs-string">random-number-generator</span> <span class="hljs-attr">run:</span> <span class="hljs-string">echo</span> <span class="hljs-string">"random-id=$(echo $RANDOM)"</span> <span class="hljs-string">>></span> <span class="hljs-string">$GITHUB_OUTPUT</span> <span class="hljs-attr">shell:</span> <span class="hljs-string">bash</span> </code></pre> <h3 id="outputsoutput_idvalue" tabindex="-1"><a class="heading-link" href="#outputsoutput_idvalue"><code>outputs.<output_id>.value</code><span class="heading-link-symbol" aria-hidden="true"></span></a></h3> <p><strong>Required</strong> The value that the output parameter will be mapped to. You can set this to a <code>string</code> or an expression with context. For example, you can use the <code>steps</code> context to set the <code>value</code> of an output to the output value of a step.</p> <p>For more information on how to use context syntax, see <a href="/en/actions/learn-github-actions/contexts" _originalHref="/actions/learn-github-actions/contexts">Accessing contextual information about workflow runs</a>.</p> <h2 id="runs" tabindex="-1"><a class="heading-link" href="#runs"><code>runs</code><span class="heading-link-symbol" aria-hidden="true"></span></a></h2> <p><strong>Required</strong> Specifies whether this is a JavaScript action, a composite action, or a Docker container action and how the action is executed.</p> <h2 id="runs-for-javascript-actions" tabindex="-1"><a class="heading-link" href="#runs-for-javascript-actions"><code>runs</code> for JavaScript actions<span class="heading-link-symbol" aria-hidden="true"></span></a></h2> <p><strong>Required</strong> Configures the path to the action's code and the runtime used to execute the code.</p> <h3 id="example-using-nodejs-v20" tabindex="-1"><a class="heading-link" href="#example-using-nodejs-v20">Example: Using Node.js v20<span class="heading-link-symbol" aria-hidden="true"></span></a></h3> <pre><code class="hljs language-yaml"><span class="hljs-attr">runs:</span> <span class="hljs-attr">using:</span> <span class="hljs-string">'node20'</span> <span class="hljs-attr">main:</span> <span class="hljs-string">'main.js'</span> </code></pre> <h3 id="runsusing-for-javascript-actions" tabindex="-1"><a class="heading-link" href="#runsusing-for-javascript-actions"><code>runs.using</code> for JavaScript actions<span class="heading-link-symbol" aria-hidden="true"></span></a></h3> <p><strong>Required</strong> The runtime used to execute the code specified in <a href="#runsmain"><code>main</code></a>.</p> <ul> <li>Use <code>node20</code> for Node.js v20.</li> </ul> <h3 id="runsmain" tabindex="-1"><a class="heading-link" href="#runsmain"><code>runs.main</code><span class="heading-link-symbol" aria-hidden="true"></span></a></h3> <p><strong>Required</strong> The file that contains your action code. The runtime specified in <a href="#runsusing-for-javascript-actions"><code>using</code></a> executes this file.</p> <h3 id="runspre" tabindex="-1"><a class="heading-link" href="#runspre"><code>runs.pre</code><span class="heading-link-symbol" aria-hidden="true"></span></a></h3> <p><strong>Optional</strong> Allows you to run a script at the start of a job, before the <code>main:</code> action begins. For example, you can use <code>pre:</code> to run a prerequisite setup script. The runtime specified with the <a href="#runsusing-for-javascript-actions"><code>using</code></a> syntax will execute this file. The <code>pre:</code> action always runs by default but you can override this using <a href="#runspre-if"><code>runs.pre-if</code></a>.</p> <p>In this example, the <code>pre:</code> action runs a script called <code>setup.js</code>:</p> <pre><code class="hljs language-yaml"><span class="hljs-attr">runs:</span> <span class="hljs-attr">using:</span> <span class="hljs-string">'node20'</span> <span class="hljs-attr">pre:</span> <span class="hljs-string">'setup.js'</span> <span class="hljs-attr">main:</span> <span class="hljs-string">'index.js'</span> <span class="hljs-attr">post:</span> <span class="hljs-string">'cleanup.js'</span> </code></pre> <h3 id="runspre-if" tabindex="-1"><a class="heading-link" href="#runspre-if"><code>runs.pre-if</code><span class="heading-link-symbol" aria-hidden="true"></span></a></h3> <p><strong>Optional</strong> Allows you to define conditions for the <code>pre:</code> action execution. The <code>pre:</code> action will only run if the conditions in <code>pre-if</code> are met. If not set, then <code>pre-if</code> defaults to <code>always()</code>. In <code>pre-if</code>, status check functions evaluate against the job's status, not the action's own status.</p> <p>Note that the <code>step</code> context is unavailable, as no steps have run yet.</p> <p>In this example, <code>cleanup.js</code> only runs on Linux-based runners:</p> <pre><code class="hljs language-yaml"> <span class="hljs-attr">pre:</span> <span class="hljs-string">'cleanup.js'</span> <span class="hljs-attr">pre-if:</span> <span class="hljs-string">runner.os</span> <span class="hljs-string">==</span> <span class="hljs-string">'linux'</span> </code></pre> <h3 id="runspost" tabindex="-1"><a class="heading-link" href="#runspost"><code>runs.post</code><span class="heading-link-symbol" aria-hidden="true"></span></a></h3> <p><strong>Optional</strong> Allows you to run a script at the end of a job, once the <code>main:</code> action has completed. For example, you can use <code>post:</code> to terminate certain processes or remove unneeded files. The runtime specified with the <a href="#runsusing-for-javascript-actions"><code>using</code></a> syntax will execute this file.</p> <p>In this example, the <code>post:</code> action runs a script called <code>cleanup.js</code>:</p> <pre><code class="hljs language-yaml"><span class="hljs-attr">runs:</span> <span class="hljs-attr">using:</span> <span class="hljs-string">'node20'</span> <span class="hljs-attr">main:</span> <span class="hljs-string">'index.js'</span> <span class="hljs-attr">post:</span> <span class="hljs-string">'cleanup.js'</span> </code></pre> <p>The <code>post:</code> action always runs by default but you can override this using <code>post-if</code>.</p> <h3 id="runspost-if" tabindex="-1"><a class="heading-link" href="#runspost-if"><code>runs.post-if</code><span class="heading-link-symbol" aria-hidden="true"></span></a></h3> <p><strong>Optional</strong> Allows you to define conditions for the <code>post:</code> action execution. The <code>post:</code> action will only run if the conditions in <code>post-if</code> are met. If not set, then <code>post-if</code> defaults to <code>always()</code>. In <code>post-if</code>, status check functions evaluate against the job's status, not the action's own status.</p> <p>For example, this <code>cleanup.js</code> will only run on Linux-based runners:</p> <pre><code class="hljs language-yaml"> <span class="hljs-attr">post:</span> <span class="hljs-string">'cleanup.js'</span> <span class="hljs-attr">post-if:</span> <span class="hljs-string">runner.os</span> <span class="hljs-string">==</span> <span class="hljs-string">'linux'</span> </code></pre> <h2 id="runs-for-composite-actions" tabindex="-1"><a class="heading-link" href="#runs-for-composite-actions"><code>runs</code> for composite actions<span class="heading-link-symbol" aria-hidden="true"></span></a></h2> <p><strong>Required</strong> Configures the path to the composite action.</p> <h3 id="runsusing-for-composite-actions" tabindex="-1"><a class="heading-link" href="#runsusing-for-composite-actions"><code>runs.using</code> for composite actions<span class="heading-link-symbol" aria-hidden="true"></span></a></h3> <p><strong>Required</strong> You must set this value to <code>'composite'</code>.</p> <h3 id="runssteps" tabindex="-1"><a class="heading-link" href="#runssteps"><code>runs.steps</code><span class="heading-link-symbol" aria-hidden="true"></span></a></h3> <p><strong>Required</strong> The steps that you plan to run in this action. These can be either <code>run</code> steps or <code>uses</code> steps.</p> <h4 id="runsstepsrun" tabindex="-1"><a class="heading-link" href="#runsstepsrun"><code>runs.steps[*].run</code><span class="heading-link-symbol" aria-hidden="true"></span></a></h4> <p><strong>Optional</strong> The command you want to run. This can be inline or a script in your action repository:</p> <pre><code class="hljs language-yaml"><span class="hljs-attr">runs:</span> <span class="hljs-attr">using:</span> <span class="hljs-string">"composite"</span> <span class="hljs-attr">steps:</span> <span class="hljs-bullet">-</span> <span class="hljs-attr">run:</span> <span class="hljs-string">${{</span> <span class="hljs-string">github.action_path</span> <span class="hljs-string">}}/test/script.sh</span> <span class="hljs-attr">shell:</span> <span class="hljs-string">bash</span> </code></pre> <p>Alternatively, you can use <code>$GITHUB_ACTION_PATH</code>:</p> <pre><code class="hljs language-yaml"><span class="hljs-attr">runs:</span> <span class="hljs-attr">using:</span> <span class="hljs-string">"composite"</span> <span class="hljs-attr">steps:</span> <span class="hljs-bullet">-</span> <span class="hljs-attr">run:</span> <span class="hljs-string">$GITHUB_ACTION_PATH/script.sh</span> <span class="hljs-attr">shell:</span> <span class="hljs-string">bash</span> </code></pre> <p>For more information, see <a href="/en/actions/learn-github-actions/contexts#github-context" _originalHref="/actions/learn-github-actions/contexts#github-context">Accessing contextual information about workflow runs</a>.</p> <h4 id="runsstepsshell" tabindex="-1"><a class="heading-link" href="#runsstepsshell"><code>runs.steps[*].shell</code><span class="heading-link-symbol" aria-hidden="true"></span></a></h4> <p><strong>Optional</strong> The shell where you want to run the command. You can use any of the shells listed in <a href="/en/actions/using-workflows/workflow-syntax-for-github-actions#jobsjob_idstepsshell" _originalHref="/actions/using-workflows/workflow-syntax-for-github-actions#jobsjob_idstepsshell">Workflow syntax for GitHub Actions</a>. Required if <code>run</code> is set.</p> <h4 id="runsstepsif" tabindex="-1"><a class="heading-link" href="#runsstepsif"><code>runs.steps[*].if</code><span class="heading-link-symbol" aria-hidden="true"></span></a></h4> <p><strong>Optional</strong> You can use the <code>if</code> conditional to prevent a step from running unless a condition is met. You can use any supported context and expression to create a conditional.</p> <p>When you use expressions in an <code>if</code> conditional, you can, optionally, omit the <code>${{ }}</code> expression syntax because GitHub Actions automatically evaluates the <code>if</code> conditional as an expression. However, this exception does not apply everywhere.</p> <p>You must always use the <code>${{ }}</code> expression syntax or escape with <code>''</code>, <code>""</code>, or <code>()</code> when the expression starts with <code>!</code>, since <code>!</code> is reserved notation in YAML format. For example:</p> <pre><code class="hljs language-yaml"><span class="hljs-attr">if:</span> <span class="hljs-string">${{</span> <span class="hljs-string">!</span> <span class="hljs-string">startsWith(github.ref,</span> <span class="hljs-string">'refs/tags/'</span><span class="hljs-string">)</span> <span class="hljs-string">}}</span> </code></pre> <p>For more information, see <a href="/en/actions/learn-github-actions/expressions" _originalHref="/actions/learn-github-actions/expressions">Evaluate expressions in workflows and actions</a>.</p> <p><strong>Example: Using contexts</strong></p> <p>This step only runs when the event type is a <code>pull_request</code> and the event action is <code>unassigned</code>.</p> <pre><code class="hljs language-yaml"><span class="hljs-attr">steps:</span> <span class="hljs-bullet">-</span> <span class="hljs-attr">run:</span> <span class="hljs-string">echo</span> <span class="hljs-string">This</span> <span class="hljs-string">event</span> <span class="hljs-string">is</span> <span class="hljs-string">a</span> <span class="hljs-string">pull</span> <span class="hljs-string">request</span> <span class="hljs-string">that</span> <span class="hljs-string">had</span> <span class="hljs-string">an</span> <span class="hljs-string">assignee</span> <span class="hljs-string">removed.</span> <span class="hljs-attr">if:</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">&&</span> <span class="hljs-string">github.event.action</span> <span class="hljs-string">==</span> <span class="hljs-string">'unassigned'</span> <span class="hljs-string">}}</span> </code></pre> <p><strong>Example: Using status check functions</strong></p> <p>The <code>my backup step</code> only runs when the previous step of a composite action fails. For more information, see <a href="/en/actions/learn-github-actions/expressions#status-check-functions" _originalHref="/actions/learn-github-actions/expressions#status-check-functions">Evaluate expressions in workflows and actions</a>.</p> <pre><code class="hljs language-yaml"><span class="hljs-attr">steps:</span> <span class="hljs-bullet">-</span> <span class="hljs-attr">name:</span> <span class="hljs-string">My</span> <span class="hljs-string">first</span> <span class="hljs-string">step</span> <span class="hljs-attr">uses:</span> <span class="hljs-string">octo-org/action-name@main</span> <span class="hljs-bullet">-</span> <span class="hljs-attr">name:</span> <span class="hljs-string">My</span> <span class="hljs-string">backup</span> <span class="hljs-string">step</span> <span class="hljs-attr">if:</span> <span class="hljs-string">${{</span> <span class="hljs-string">failure()</span> <span class="hljs-string">}}</span> <span class="hljs-attr">uses:</span> <span class="hljs-string">actions/heroku@1.0.0</span> </code></pre> <h4 id="runsstepsname" tabindex="-1"><a class="heading-link" href="#runsstepsname"><code>runs.steps[*].name</code><span class="heading-link-symbol" aria-hidden="true"></span></a></h4> <p><strong>Optional</strong> The name of the composite step.</p> <h4 id="runsstepsid" tabindex="-1"><a class="heading-link" href="#runsstepsid"><code>runs.steps[*].id</code><span class="heading-link-symbol" aria-hidden="true"></span></a></h4> <p><strong>Optional</strong> A unique identifier for the step. You can use the <code>id</code> to reference the step in contexts. For more information, see <a href="/en/actions/learn-github-actions/contexts" _originalHref="/actions/learn-github-actions/contexts">Accessing contextual information about workflow runs</a>.</p> <h4 id="runsstepsenv" tabindex="-1"><a class="heading-link" href="#runsstepsenv"><code>runs.steps[*].env</code><span class="heading-link-symbol" aria-hidden="true"></span></a></h4> <p><strong>Optional</strong> Sets a <code>map</code> of environment variables for only that step. If you want to modify the environment variable stored in the workflow, use <code>echo "{name}={value}" >> $GITHUB_ENV</code> in a composite step.</p> <h4 id="runsstepsworking-directory" tabindex="-1"><a class="heading-link" href="#runsstepsworking-directory"><code>runs.steps[*].working-directory</code><span class="heading-link-symbol" aria-hidden="true"></span></a></h4> <p><strong>Optional</strong> Specifies the working directory where the command is run.</p> <h4 id="runsstepsuses" tabindex="-1"><a class="heading-link" href="#runsstepsuses"><code>runs.steps[*].uses</code><span class="heading-link-symbol" aria-hidden="true"></span></a></h4> <p><strong>Optional</strong> Selects an action to run as part of a step in your job. An action is a reusable unit of code. You can use an action defined in the same repository as the workflow, a public repository, or in a <a href="https://hub.docker.com/">published Docker container image</a>.</p> <p>We strongly recommend that you include the version of the action you are using by specifying a Git ref, SHA, or Docker tag number. If you don't specify a version, it could break your workflows or cause unexpected behavior when the action owner publishes an update.</p> <ul> <li>Using the commit SHA of a released action version is the safest for stability and security.</li> <li>Using the specific major action version allows you to receive critical fixes and security patches while still maintaining compatibility. It also assures that your workflow should still work.</li> <li>Using the default branch of an action may be convenient, but if someone releases a new major version with a breaking change, your workflow could break.</li> </ul> <p>Some actions require inputs that you must set using the <a href="/en/actions/using-workflows/workflow-syntax-for-github-actions#jobsjob_idstepswith" _originalHref="/actions/using-workflows/workflow-syntax-for-github-actions#jobsjob_idstepswith"><code>with</code></a> keyword. Review the action's README file to determine the inputs required.</p> <pre><code class="hljs language-yaml"><span class="hljs-attr">runs:</span> <span class="hljs-attr">using:</span> <span class="hljs-string">"composite"</span> <span class="hljs-attr">steps:</span> <span class="hljs-comment"># Reference a specific commit</span> <span class="hljs-bullet">-</span> <span class="hljs-attr">uses:</span> <span class="hljs-string">actions/checkout@8f4b7f84864484a7bf31766abe9204da3cbe65b3</span> <span class="hljs-comment"># Reference the major version of a release</span> <span class="hljs-bullet">-</span> <span class="hljs-attr">uses:</span> <span class="hljs-string">actions/checkout@v4</span> <span class="hljs-comment"># Reference a specific version</span> <span class="hljs-bullet">-</span> <span class="hljs-attr">uses:</span> <span class="hljs-string">actions/checkout@v4.2.0</span> <span class="hljs-comment"># Reference a branch</span> <span class="hljs-bullet">-</span> <span class="hljs-attr">uses:</span> <span class="hljs-string">actions/checkout@main</span> <span class="hljs-comment"># References a subdirectory in a public GitHub repository at a specific branch, ref, or SHA</span> <span class="hljs-bullet">-</span> <span class="hljs-attr">uses:</span> <span class="hljs-string">actions/aws/ec2@main</span> <span class="hljs-comment"># References a local action</span> <span class="hljs-bullet">-</span> <span class="hljs-attr">uses:</span> <span class="hljs-string">./.github/actions/my-action</span> <span class="hljs-comment"># References a docker public registry action</span> <span class="hljs-bullet">-</span> <span class="hljs-attr">uses:</span> <span class="hljs-string">docker://gcr.io/cloud-builders/gradle</span> <span class="hljs-comment"># Reference a docker image published on docker hub</span> <span class="hljs-bullet">-</span> <span class="hljs-attr">uses:</span> <span class="hljs-string">docker://alpine:3.8</span> </code></pre> <h4 id="runsstepswith" tabindex="-1"><a class="heading-link" href="#runsstepswith"><code>runs.steps[*].with</code><span class="heading-link-symbol" aria-hidden="true"></span></a></h4> <p><strong>Optional</strong> A <code>map</code> of the input parameters defined by the action. Each input parameter is a key/value pair. For more information, see <a href="#example-specifying-inputs">Example: Specifying inputs</a>.</p> <pre><code class="hljs language-yaml"><span class="hljs-attr">runs:</span> <span class="hljs-attr">using:</span> <span class="hljs-string">"composite"</span> <span class="hljs-attr">steps:</span> <span class="hljs-bullet">-</span> <span class="hljs-attr">name:</span> <span class="hljs-string">My</span> <span class="hljs-string">first</span> <span class="hljs-string">step</span> <span class="hljs-attr">uses:</span> <span class="hljs-string">actions/hello_world@main</span> <span class="hljs-attr">with:</span> <span class="hljs-attr">first_name:</span> <span class="hljs-string">Mona</span> <span class="hljs-attr">middle_name:</span> <span class="hljs-string">The</span> <span class="hljs-attr">last_name:</span> <span class="hljs-string">Octocat</span> </code></pre> <h2 id="runs-for-docker-container-actions" tabindex="-1"><a class="heading-link" href="#runs-for-docker-container-actions"><code>runs</code> for Docker container actions<span class="heading-link-symbol" aria-hidden="true"></span></a></h2> <p><strong>Required</strong> Configures the image used for the Docker container action.</p> <h3 id="example-using-a-dockerfile-in-your-repository" tabindex="-1"><a class="heading-link" href="#example-using-a-dockerfile-in-your-repository">Example: Using a Dockerfile in your repository<span class="heading-link-symbol" aria-hidden="true"></span></a></h3> <pre><code class="hljs language-yaml"><span class="hljs-attr">runs:</span> <span class="hljs-attr">using:</span> <span class="hljs-string">'docker'</span> <span class="hljs-attr">image:</span> <span class="hljs-string">'Dockerfile'</span> </code></pre> <h3 id="example-using-public-docker-registry-container" tabindex="-1"><a class="heading-link" href="#example-using-public-docker-registry-container">Example: Using public Docker registry container<span class="heading-link-symbol" aria-hidden="true"></span></a></h3> <pre><code class="hljs language-yaml"><span class="hljs-attr">runs:</span> <span class="hljs-attr">using:</span> <span class="hljs-string">'docker'</span> <span class="hljs-attr">image:</span> <span class="hljs-string">'docker://debian:stretch-slim'</span> </code></pre> <h3 id="runsusing-for-docker-container-actions" tabindex="-1"><a class="heading-link" href="#runsusing-for-docker-container-actions"><code>runs.using</code> for Docker container actions<span class="heading-link-symbol" aria-hidden="true"></span></a></h3> <p><strong>Required</strong> You must set this value to <code>'docker'</code>.</p> <h3 id="runspre-entrypoint" tabindex="-1"><a class="heading-link" href="#runspre-entrypoint"><code>runs.pre-entrypoint</code><span class="heading-link-symbol" aria-hidden="true"></span></a></h3> <p><strong>Optional</strong> Allows you to run a script before the <code>entrypoint</code> action begins. For example, you can use <code>pre-entrypoint:</code> to run a prerequisite setup script. GitHub Actions uses <code>docker run</code> to launch this action, and runs the script inside a new container that uses the same base image. This means that the runtime state is different from the main <code>entrypoint</code> container, and any states you require must be accessed in either the workspace, <code>HOME</code>, or as a <code>STATE_</code> variable. The <code>pre-entrypoint:</code> action always runs by default but you can override this using <a href="#runspre-if"><code>runs.pre-if</code></a>.</p> <p>The runtime specified with the <a href="#runsusing-for-docker-container-actions"><code>using</code></a> syntax will execute this file.</p> <p>In this example, the <code>pre-entrypoint:</code> action runs a script called <code>setup.sh</code>:</p> <pre><code class="hljs language-yaml"><span class="hljs-attr">runs:</span> <span class="hljs-attr">using:</span> <span class="hljs-string">'docker'</span> <span class="hljs-attr">image:</span> <span class="hljs-string">'Dockerfile'</span> <span class="hljs-attr">args:</span> <span class="hljs-bullet">-</span> <span class="hljs-string">'bzz'</span> <span class="hljs-attr">pre-entrypoint:</span> <span class="hljs-string">'setup.sh'</span> <span class="hljs-attr">entrypoint:</span> <span class="hljs-string">'main.sh'</span> </code></pre> <h3 id="runsimage" tabindex="-1"><a class="heading-link" href="#runsimage"><code>runs.image</code><span class="heading-link-symbol" aria-hidden="true"></span></a></h3> <p><strong>Required</strong> The Docker image to use as the container to run the action. The value can be the Docker base image name, a local <code>Dockerfile</code> in your repository, or a public image in Docker Hub or another registry. To reference a <code>Dockerfile</code> local to your repository, the file must be named <code>Dockerfile</code> and you must use a path relative to your action metadata file. The <code>docker</code> application will execute this file.</p> <h3 id="runsenv" tabindex="-1"><a class="heading-link" href="#runsenv"><code>runs.env</code><span class="heading-link-symbol" aria-hidden="true"></span></a></h3> <p><strong>Optional</strong> Specifies a key/value map of environment variables to set in the container environment.</p> <h3 id="runsentrypoint" tabindex="-1"><a class="heading-link" href="#runsentrypoint"><code>runs.entrypoint</code><span class="heading-link-symbol" aria-hidden="true"></span></a></h3> <p><strong>Optional</strong> Overrides the Docker <code>ENTRYPOINT</code> in the <code>Dockerfile</code>, or sets it if one wasn't already specified. Use <code>entrypoint</code> when the <code>Dockerfile</code> does not specify an <code>ENTRYPOINT</code> or you want to override the <code>ENTRYPOINT</code> instruction. If you omit <code>entrypoint</code>, the commands you specify in the Docker <code>ENTRYPOINT</code> instruction will execute. The Docker <code>ENTRYPOINT</code> instruction has a <em>shell</em> form and <em>exec</em> form. The Docker <code>ENTRYPOINT</code> documentation recommends using the <em>exec</em> form of the <code>ENTRYPOINT</code> instruction.</p> <p>For more information about how the <code>entrypoint</code> executes, see <a href="/en/actions/creating-actions/dockerfile-support-for-github-actions#entrypoint" _originalHref="/actions/creating-actions/dockerfile-support-for-github-actions#entrypoint">Dockerfile support for GitHub Actions</a>.</p> <h3 id="runspost-entrypoint" tabindex="-1"><a class="heading-link" href="#runspost-entrypoint"><code>runs.post-entrypoint</code><span class="heading-link-symbol" aria-hidden="true"></span></a></h3> <p><strong>Optional</strong> Allows you to run a cleanup script once the <code>runs.entrypoint</code> action has completed. GitHub Actions uses <code>docker run</code> to launch this action. Because GitHub Actions runs the script inside a new container using the same base image, the runtime state is different from the main <code>entrypoint</code> container. You can access any state you need in either the workspace, <code>HOME</code>, or as a <code>STATE_</code> variable. The <code>post-entrypoint:</code> action always runs by default but you can override this using <a href="#runspost-if"><code>runs.post-if</code></a>.</p> <pre><code class="hljs language-yaml"><span class="hljs-attr">runs:</span> <span class="hljs-attr">using:</span> <span class="hljs-string">'docker'</span> <span class="hljs-attr">image:</span> <span class="hljs-string">'Dockerfile'</span> <span class="hljs-attr">args:</span> <span class="hljs-bullet">-</span> <span class="hljs-string">'bzz'</span> <span class="hljs-attr">entrypoint:</span> <span class="hljs-string">'main.sh'</span> <span class="hljs-attr">post-entrypoint:</span> <span class="hljs-string">'cleanup.sh'</span> </code></pre> <h3 id="runsargs" tabindex="-1"><a class="heading-link" href="#runsargs"><code>runs.args</code><span class="heading-link-symbol" aria-hidden="true"></span></a></h3> <p><strong>Optional</strong> An array of strings that define the inputs for a Docker container. Inputs can include hardcoded strings. GitHub passes the <code>args</code> to the container's <code>ENTRYPOINT</code> when the container starts up.</p> <p>The <code>args</code> are used in place of the <code>CMD</code> instruction in a <code>Dockerfile</code>. If you use <code>CMD</code> in your <code>Dockerfile</code>, use the guidelines ordered by preference:</p> <ol> <li>Document required arguments in the action's README and omit them from the <code>CMD</code> instruction.</li> <li>Use defaults that allow using the action without specifying any <code>args</code>.</li> <li>If the action exposes a <code>--help</code> flag, or something similar, use that to make your action self-documenting.</li> </ol> <p>If you need to pass environment variables into an action, make sure your action runs a command shell to perform variable substitution. For example, if your <code>entrypoint</code> attribute is set to <code>"sh -c"</code>, <code>args</code> will be run in a command shell. Alternatively, if your <code>Dockerfile</code> uses an <code>ENTRYPOINT</code> to run the same command (<code>"sh -c"</code>), <code>args</code> will execute in a command shell.</p> <p>For more information about using the <code>CMD</code> instruction with GitHub Actions, see <a href="/en/actions/creating-actions/dockerfile-support-for-github-actions#cmd" _originalHref="/actions/creating-actions/dockerfile-support-for-github-actions#cmd">Dockerfile support for GitHub Actions</a>.</p> <h4 id="example-defining-arguments-for-the-docker-container" tabindex="-1"><a class="heading-link" href="#example-defining-arguments-for-the-docker-container">Example: Defining arguments for the Docker container<span class="heading-link-symbol" aria-hidden="true"></span></a></h4> <pre><code class="hljs language-yaml"><span class="hljs-attr">runs:</span> <span class="hljs-attr">using:</span> <span class="hljs-string">'docker'</span> <span class="hljs-attr">image:</span> <span class="hljs-string">'Dockerfile'</span> <span class="hljs-attr">args:</span> <span class="hljs-bullet">-</span> <span class="hljs-string">${{</span> <span class="hljs-string">inputs.greeting</span> <span class="hljs-string">}}</span> <span class="hljs-bullet">-</span> <span class="hljs-string">'foo'</span> <span class="hljs-bullet">-</span> <span class="hljs-string">'bar'</span> </code></pre> <h2 id="branding" tabindex="-1"><a class="heading-link" href="#branding"><code>branding</code><span class="heading-link-symbol" aria-hidden="true"></span></a></h2> <p><strong>Optional</strong> You can use a color and <a href="https://feathericons.com/">Feather</a> icon to create a badge to personalize and distinguish your action. Badges are shown next to your action name in <a href="https://github.com/marketplace?type=actions">GitHub Marketplace</a>.</p> <h3 id="example-configuring-branding-for-an-action" tabindex="-1"><a class="heading-link" href="#example-configuring-branding-for-an-action">Example: Configuring branding for an action<span class="heading-link-symbol" aria-hidden="true"></span></a></h3> <pre><code class="hljs language-yaml"><span class="hljs-attr">branding:</span> <span class="hljs-attr">icon:</span> <span class="hljs-string">'award'</span> <span class="hljs-attr">color:</span> <span class="hljs-string">'green'</span> </code></pre> <h3 id="brandingcolor" tabindex="-1"><a class="heading-link" href="#brandingcolor"><code>branding.color</code><span class="heading-link-symbol" aria-hidden="true"></span></a></h3> <p>The background color of the badge. Can be one of: <code>white</code>, <code>black</code>, <code>yellow</code>, <code>blue</code>, <code>green</code>, <code>orange</code>, <code>red</code>, <code>purple</code>, or <code>gray-dark</code>.</p> <h3 id="brandingicon" tabindex="-1"><a class="heading-link" href="#brandingicon"><code>branding.icon</code><span class="heading-link-symbol" aria-hidden="true"></span></a></h3> <p>The name of the v4.28.0 <a href="https://feathericons.com/">Feather</a> icon to use.</p> <h4 id="omitted-icons" tabindex="-1"><a class="heading-link" href="#omitted-icons">Omitted icons<span class="heading-link-symbol" aria-hidden="true"></span></a></h4> <p>Brand icons, and all the following icons, are omitted.</p> <ul style="-webkit-column-count: 4; -moz-column-count: 4; column-count: 4;"> <li>coffee</li> <li>columns</li> <li>divide-circle</li> <li>divide-square</li> <li>divide</li> <li>frown</li> <li>hexagon</li> <li>key</li> <li>meh</li> <li>mouse-pointer</li> <li>smile</li> <li>tool</li> <li>x-octagon</li> </ul> <h4 id="exhaustive-list-of-all-currently-supported-icons" tabindex="-1"><a class="heading-link" href="#exhaustive-list-of-all-currently-supported-icons">Exhaustive list of all currently supported icons<span class="heading-link-symbol" aria-hidden="true"></span></a></h4> <ul style="-webkit-column-count: 4; -moz-column-count: 4; column-count: 4;"> <li>activity</li> <li>airplay</li> <li>alert-circle</li> <li>alert-octagon</li> <li>alert-triangle</li> <li>align-center</li> <li>align-justify</li> <li>align-left</li> <li>align-right</li> <li>anchor</li> <li>aperture</li> <li>archive</li> <li>arrow-down-circle</li> <li>arrow-down-left</li> <li>arrow-down-right</li> <li>arrow-down</li> <li>arrow-left-circle</li> <li>arrow-left</li> <li>arrow-right-circle</li> <li>arrow-right</li> <li>arrow-up-circle</li> <li>arrow-up-left</li> <li>arrow-up-right</li> <li>arrow-up</li> <li>at-sign</li> <li>award</li> <li>bar-chart-2</li> <li>bar-chart</li> <li>battery-charging</li> <li>battery</li> <li>bell-off</li> <li>bell</li> <li>bluetooth</li> <li>bold</li> <li>book-open</li> <li>book</li> <li>bookmark</li> <li>box</li> <li>briefcase</li> <li>calendar</li> <li>camera-off</li> <li>camera</li> <li>cast</li> <li>check-circle</li> <li>check-square</li> <li>check</li> <li>chevron-down</li> <li>chevron-left</li> <li>chevron-right</li> <li>chevron-up</li> <li>chevrons-down</li> <li>chevrons-left</li> <li>chevrons-right</li> <li>chevrons-up</li> <li>circle</li> <li>clipboard</li> <li>clock</li> <li>cloud-drizzle</li> <li>cloud-lightning</li> <li>cloud-off</li> <li>cloud-rain</li> <li>cloud-snow</li> <li>cloud</li> <li>code</li> <li>command</li> <li>compass</li> <li>copy</li> <li>corner-down-left</li> <li>corner-down-right</li> <li>corner-left-down</li> <li>corner-left-up</li> <li>corner-right-down</li> <li>corner-right-up</li> <li>corner-up-left</li> <li>corner-up-right</li> <li>cpu</li> <li>credit-card</li> <li>crop</li> <li>crosshair</li> <li>database</li> <li>delete</li> <li>disc</li> <li>dollar-sign</li> <li>download-cloud</li> <li>download</li> <li>droplet</li> <li>edit-2</li> <li>edit-3</li> <li>edit</li> <li>external-link</li> <li>eye-off</li> <li>eye</li> <li>fast-forward</li> <li>feather</li> <li>file-minus</li> <li>file-plus</li> <li>file-text</li> <li>file</li> <li>film</li> <li>filter</li> <li>flag</li> <li>folder-minus</li> <li>folder-plus</li> <li>folder</li> <li>gift</li> <li>git-branch</li> <li>git-commit</li> <li>git-merge</li> <li>git-pull-request</li> <li>globe</li> <li>grid</li> <li>hard-drive</li> <li>hash</li> <li>headphones</li> <li>heart</li> <li>help-circle</li> <li>home</li> <li>image</li> <li>inbox</li> <li>info</li> <li>italic</li> <li>layers</li> <li>layout</li> <li>life-buoy</li> <li>link-2</li> <li>link</li> <li>list</li> <li>loader</li> <li>lock</li> <li>log-in</li> <li>log-out</li> <li>mail</li> <li>map-pin</li> <li>map</li> <li>maximize-2</li> <li>maximize</li> <li>menu</li> <li>message-circle</li> <li>message-square</li> <li>mic-off</li> <li>mic</li> <li>minimize-2</li> <li>minimize</li> <li>minus-circle</li> <li>minus-square</li> <li>minus</li> <li>monitor</li> <li>moon</li> <li>more-horizontal</li> <li>more-vertical</li> <li>move</li> <li>music</li> <li>navigation-2</li> <li>navigation</li> <li>octagon</li> <li>package</li> <li>paperclip</li> <li>pause-circle</li> <li>pause</li> <li>percent</li> <li>phone-call</li> <li>phone-forwarded</li> <li>phone-incoming</li> <li>phone-missed</li> <li>phone-off</li> <li>phone-outgoing</li> <li>phone</li> <li>pie-chart</li> <li>play-circle</li> <li>play</li> <li>plus-circle</li> <li>plus-square</li> <li>plus</li> <li>pocket</li> <li>power</li> <li>printer</li> <li>radio</li> <li>refresh-ccw</li> <li>refresh-cw</li> <li>repeat</li> <li>rewind</li> <li>rotate-ccw</li> <li>rotate-cw</li> <li>rss</li> <li>save</li> <li>scissors</li> <li>search</li> <li>send</li> <li>server</li> <li>settings</li> <li>share-2</li> <li>share</li> <li>shield-off</li> <li>shield</li> <li>shopping-bag</li> <li>shopping-cart</li> <li>shuffle</li> <li>sidebar</li> <li>skip-back</li> <li>skip-forward</li> <li>slash</li> <li>sliders</li> <li>smartphone</li> <li>speaker</li> <li>square</li> <li>star</li> <li>stop-circle</li> <li>sun</li> <li>sunrise</li> <li>sunset</li> <li>table</li> <li>tablet</li> <li>tag</li> <li>target</li> <li>terminal</li> <li>thermometer</li> <li>thumbs-down</li> <li>thumbs-up</li> <li>toggle-left</li> <li>toggle-right</li> <li>trash-2</li> <li>trash</li> <li>trending-down</li> <li>trending-up</li> <li>triangle</li> <li>truck</li> <li>tv</li> <li>type</li> <li>umbrella</li> <li>underline</li> <li>unlock</li> <li>upload-cloud</li> <li>upload</li> <li>user-check</li> <li>user-minus</li> <li>user-plus</li> <li>user-x</li> <li>user</li> <li>users</li> <li>video-off</li> <li>video</li> <li>voicemail</li> <li>volume-1</li> <li>volume-2</li> <li>volume-x</li> <li>volume</li> <li>watch</li> <li>wifi-off</li> <li>wifi</li> <li>wind</li> <li>x-circle</li> <li>x-square</li> <li>x</li> <li>zap-off</li> <li>zap</li> <li>zoom-in</li> <li>zoom-out</li> </ul> <h2 id="changing-the-metadata-file-name" tabindex="-1"><a class="heading-link" href="#changing-the-metadata-file-name">Changing the metadata file name<span class="heading-link-symbol" aria-hidden="true"></span></a></h2> <p>While the actions metadata file supports both YAML formats, changing the metadata file name (from <code>action.yml</code> to <code>action.yaml</code> or vice versa) between releases will affect previous release versions that have been published to GitHub Marketplace. Changing the file name will hide all release versions associated with the previous file name from GitHub Marketplace. Previous release versions will still be accessible to users through the source repository.</p> <p>When releasing new versions of actions, only versions released after the metadata file name change will have the GitHub Marketplace tag and will show up on GitHub Marketplace</p></div></div></div></div></div></main><footer data-container="footer"><section class="container-xl mt-lg-8 mt-6 px-3 px-md-6 no-print mx-auto"><h2 class="f3">Help and support</h2><div class="container-xl mx-auto py-6 py-lg-6 clearfix border-top border-color-secondary"><div class="float-left pr-4 mb-6 mb-xl-0 col-12 col-lg-6 col-xl-3"><form class="f5" data-testid="survey-form" aria-live="polite"><h3 id="survey-title" class="f4 mb-3">Did you find what you needed?</h3><input type="text" class="d-none" name="survey-token" value=""/><div class="mb-2" role="radiogroup" aria-labelledby="survey-title"><input class="Survey_visuallyHidden__Xh_nl Survey_customRadio__aNqUl" id="survey-yes" type="radio" name="survey-vote" aria-label="Yes" value="Y"/><label class="btn mr-1" for="survey-yes"><svg aria-hidden="true" focusable="false" class="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's wrong or unclear? Submit a pull request.</p><a class="btn" href="https://github.com/github/docs/blob/main/content/actions/sharing-automations/creating-actions/metadata-syntax-for-github-actions.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/sharing-automations","title":"Share automations"},{"href":"/en/actions/sharing-automations/creating-actions","title":"Create actions"},{"href":"/en/actions/sharing-automations/creating-actions/metadata-syntax-for-github-actions","title":"Metadata syntax"}],"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"]},"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":"sharing-automations","currentPathWithoutLanguage":"/actions/sharing-automations/creating-actions/metadata-syntax-for-github-actions","page":{"documentType":"article","type":"reference","title":"Metadata syntax for GitHub Actions","fullTitle":"Metadata syntax for GitHub Actions - GitHub Docs","topics":[],"introPlainText":"You can create actions to perform tasks in your repository. Actions require a metadata file that uses YAML syntax.","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"],"hidden":false,"noEarlyAccessBanner":false},"enterpriseServerReleases":{"isOldestReleaseDeprecated":true,"oldestSupported":"3.11","nextDeprecationDate":"2024-12-19","supported":["3.15","3.14","3.13","3.12","3.11"]},"enterpriseServerVersions":["enterprise-server@3.15","enterprise-server@3.14","enterprise-server@3.13","enterprise-server@3.12","enterprise-server@3.11"],"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}},"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/sharing-automations/creating-actions/metadata-syntax-for-github-actions","currentLayoutName":"default","relativePath":"actions/sharing-automations/creating-actions/metadata-syntax-for-github-actions.md"},"articleContext":{"title":"Metadata syntax for GitHub Actions","intro":"\u003cp\u003eYou can create actions to perform tasks in your repository. Actions require a metadata file that uses YAML syntax.\u003c/p\u003e","effectiveDate":"","renderedPage":"\u003ch2 id=\"about-yaml-syntax-for-github-actions\" tabindex=\"-1\"\u003e\u003ca class=\"heading-link\" href=\"#about-yaml-syntax-for-github-actions\"\u003eAbout YAML syntax for GitHub Actions\u003cspan class=\"heading-link-symbol\" aria-hidden=\"true\"\u003e\u003c/span\u003e\u003c/a\u003e\u003c/h2\u003e\n\u003cp\u003eAll actions require a metadata file. The metadata filename must be either \u003ccode\u003eaction.yml\u003c/code\u003e or \u003ccode\u003eaction.yaml\u003c/code\u003e. The preferred format is \u003ccode\u003eaction.yml\u003c/code\u003e. The data in the metadata file defines the inputs, outputs, and runs configuration for your action.\u003c/p\u003e\n\u003cp\u003eAction metadata files use YAML syntax. If you're new to YAML, you can read \u003ca href=\"https://www.codeproject.com/Articles/1214409/Learn-YAML-in-five-minutes\"\u003eLearn YAML in five minutes\u003c/a\u003e.\u003c/p\u003e\n\u003ch2 id=\"name\" tabindex=\"-1\"\u003e\u003ca class=\"heading-link\" href=\"#name\"\u003e\u003ccode\u003ename\u003c/code\u003e\u003cspan class=\"heading-link-symbol\" aria-hidden=\"true\"\u003e\u003c/span\u003e\u003c/a\u003e\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eRequired\u003c/strong\u003e The name of your action. GitHub displays the \u003ccode\u003ename\u003c/code\u003e in the \u003cstrong\u003eActions\u003c/strong\u003e tab to help visually identify actions in each job.\u003c/p\u003e\n\u003ch2 id=\"author\" tabindex=\"-1\"\u003e\u003ca class=\"heading-link\" href=\"#author\"\u003e\u003ccode\u003eauthor\u003c/code\u003e\u003cspan class=\"heading-link-symbol\" aria-hidden=\"true\"\u003e\u003c/span\u003e\u003c/a\u003e\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eOptional\u003c/strong\u003e The name of the action's author.\u003c/p\u003e\n\u003ch2 id=\"description\" tabindex=\"-1\"\u003e\u003ca class=\"heading-link\" href=\"#description\"\u003e\u003ccode\u003edescription\u003c/code\u003e\u003cspan class=\"heading-link-symbol\" aria-hidden=\"true\"\u003e\u003c/span\u003e\u003c/a\u003e\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eRequired\u003c/strong\u003e A short description of the action.\u003c/p\u003e\n\u003ch2 id=\"inputs\" tabindex=\"-1\"\u003e\u003ca class=\"heading-link\" href=\"#inputs\"\u003e\u003ccode\u003einputs\u003c/code\u003e\u003cspan class=\"heading-link-symbol\" aria-hidden=\"true\"\u003e\u003c/span\u003e\u003c/a\u003e\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eOptional\u003c/strong\u003e Input parameters allow you to specify data that the action expects to use during runtime. GitHub stores input parameters as environment variables. We recommend using lowercase input ids.\u003c/p\u003e\n\u003ch3 id=\"example-specifying-inputs\" tabindex=\"-1\"\u003e\u003ca class=\"heading-link\" href=\"#example-specifying-inputs\"\u003eExample: Specifying inputs\u003cspan class=\"heading-link-symbol\" aria-hidden=\"true\"\u003e\u003c/span\u003e\u003c/a\u003e\u003c/h3\u003e\n\u003cp\u003eThis example configures two inputs: \u003ccode\u003enum-octocats\u003c/code\u003e and \u003ccode\u003eoctocat-eye-color\u003c/code\u003e. The \u003ccode\u003enum-octocats\u003c/code\u003e input is not required and will default to a value of \u003ccode\u003e1\u003c/code\u003e. \u003ccode\u003eoctocat-eye-color\u003c/code\u003e is required and has no default value.\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\nActions using \u003ccode\u003erequired: true\u003c/code\u003e will not automatically return an error if the input is not specified.\u003c/p\u003e\n\u003c/div\u003e\n\u003cp\u003eWorkflow files that use this action can use the \u003ccode\u003ewith\u003c/code\u003e keyword to set an input value for \u003ccode\u003eoctocat-eye-color\u003c/code\u003e. For more information about the \u003ccode\u003ewith\u003c/code\u003e syntax, see \u003ca href=\"/en/actions/using-workflows/workflow-syntax-for-github-actions#jobsjob_idstepswith\" _originalHref=\"/actions/using-workflows/workflow-syntax-for-github-actions#jobsjob_idstepswith\"\u003eWorkflow syntax for GitHub Actions\u003c/a\u003e.\u003c/p\u003e\n\u003cpre\u003e\u003ccode class=\"hljs language-yaml\"\u003e\u003cspan class=\"hljs-attr\"\u003einputs:\u003c/span\u003e\n \u003cspan class=\"hljs-attr\"\u003enum-octocats:\u003c/span\u003e\n \u003cspan class=\"hljs-attr\"\u003edescription:\u003c/span\u003e \u003cspan class=\"hljs-string\"\u003e'Number of Octocats'\u003c/span\u003e\n \u003cspan class=\"hljs-attr\"\u003erequired:\u003c/span\u003e \u003cspan class=\"hljs-literal\"\u003efalse\u003c/span\u003e\n \u003cspan class=\"hljs-attr\"\u003edefault:\u003c/span\u003e \u003cspan class=\"hljs-string\"\u003e'1'\u003c/span\u003e\n \u003cspan class=\"hljs-attr\"\u003eoctocat-eye-color:\u003c/span\u003e\n \u003cspan class=\"hljs-attr\"\u003edescription:\u003c/span\u003e \u003cspan class=\"hljs-string\"\u003e'Eye color of the Octocats'\u003c/span\u003e\n \u003cspan class=\"hljs-attr\"\u003erequired:\u003c/span\u003e \u003cspan class=\"hljs-literal\"\u003etrue\u003c/span\u003e\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003eWhen you specify an input, GitHub creates an environment variable for the input with the name \u003ccode\u003eINPUT_\u0026#x3C;VARIABLE_NAME\u003e\u003c/code\u003e. The environment variable created converts input names to uppercase letters and replaces spaces with \u003ccode\u003e_\u003c/code\u003e characters.\u003c/p\u003e\n\u003cp\u003eIf the action is written using a \u003ca href=\"/en/actions/creating-actions/creating-a-composite-action\" _originalHref=\"/actions/creating-actions/creating-a-composite-action\"\u003ecomposite\u003c/a\u003e, then it will not automatically get \u003ccode\u003eINPUT_\u0026#x3C;VARIABLE_NAME\u003e\u003c/code\u003e. With composite actions you can use \u003ccode\u003einputs\u003c/code\u003e \u003ca href=\"/en/actions/learn-github-actions/contexts\" _originalHref=\"/actions/learn-github-actions/contexts\"\u003eAccessing contextual information about workflow runs\u003c/a\u003e to access action inputs.\u003c/p\u003e\n\u003cp\u003eTo access the environment variable in a Docker container action, you must pass the input using the \u003ccode\u003eargs\u003c/code\u003e keyword in the action metadata file. For more information about the action metadata file for Docker container actions, see \u003ca href=\"/en/actions/creating-actions/creating-a-docker-container-action#creating-an-action-metadata-file\" _originalHref=\"/actions/creating-actions/creating-a-docker-container-action#creating-an-action-metadata-file\"\u003eCreating a Docker container action\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003eFor example, if a workflow defined the \u003ccode\u003enum-octocats\u003c/code\u003e and \u003ccode\u003eoctocat-eye-color\u003c/code\u003e inputs, the action code could read the values of the inputs using the \u003ccode\u003eINPUT_NUM-OCTOCATS\u003c/code\u003e and \u003ccode\u003eINPUT_OCTOCAT-EYE-COLOR\u003c/code\u003e environment variables.\u003c/p\u003e\n\u003ch3 id=\"inputsinput_id\" tabindex=\"-1\"\u003e\u003ca class=\"heading-link\" href=\"#inputsinput_id\"\u003e\u003ccode\u003einputs.\u0026#x3C;input_id\u003e\u003c/code\u003e\u003cspan class=\"heading-link-symbol\" aria-hidden=\"true\"\u003e\u003c/span\u003e\u003c/a\u003e\u003c/h3\u003e\n\u003cp\u003e\u003cstrong\u003eRequired\u003c/strong\u003e A \u003ccode\u003estring\u003c/code\u003e identifier to associate with the input. The value of \u003ccode\u003e\u0026#x3C;input_id\u003e\u003c/code\u003e is a map of the input's metadata. The \u003ccode\u003e\u0026#x3C;input_id\u003e\u003c/code\u003e must be a unique identifier within the \u003ccode\u003einputs\u003c/code\u003e object. The \u003ccode\u003e\u0026#x3C;input_id\u003e\u003c/code\u003e must start with a letter or \u003ccode\u003e_\u003c/code\u003e and contain only alphanumeric characters, \u003ccode\u003e-\u003c/code\u003e, or \u003ccode\u003e_\u003c/code\u003e.\u003c/p\u003e\n\u003ch3 id=\"inputsinput_iddescription\" tabindex=\"-1\"\u003e\u003ca class=\"heading-link\" href=\"#inputsinput_iddescription\"\u003e\u003ccode\u003einputs.\u0026#x3C;input_id\u003e.description\u003c/code\u003e\u003cspan class=\"heading-link-symbol\" aria-hidden=\"true\"\u003e\u003c/span\u003e\u003c/a\u003e\u003c/h3\u003e\n\u003cp\u003e\u003cstrong\u003eRequired\u003c/strong\u003e A \u003ccode\u003estring\u003c/code\u003e description of the input parameter.\u003c/p\u003e\n\u003ch3 id=\"inputsinput_idrequired\" tabindex=\"-1\"\u003e\u003ca class=\"heading-link\" href=\"#inputsinput_idrequired\"\u003e\u003ccode\u003einputs.\u0026#x3C;input_id\u003e.required\u003c/code\u003e\u003cspan class=\"heading-link-symbol\" aria-hidden=\"true\"\u003e\u003c/span\u003e\u003c/a\u003e\u003c/h3\u003e\n\u003cp\u003e\u003cstrong\u003eOptional\u003c/strong\u003e A \u003ccode\u003eboolean\u003c/code\u003e to indicate whether the action requires the input parameter. Set to \u003ccode\u003etrue\u003c/code\u003e when the parameter is required.\u003c/p\u003e\n\u003ch3 id=\"inputsinput_iddefault\" tabindex=\"-1\"\u003e\u003ca class=\"heading-link\" href=\"#inputsinput_iddefault\"\u003e\u003ccode\u003einputs.\u0026#x3C;input_id\u003e.default\u003c/code\u003e\u003cspan class=\"heading-link-symbol\" aria-hidden=\"true\"\u003e\u003c/span\u003e\u003c/a\u003e\u003c/h3\u003e\n\u003cp\u003e\u003cstrong\u003eOptional\u003c/strong\u003e A \u003ccode\u003estring\u003c/code\u003e representing the default value. The default value is used when an input parameter isn't specified in a workflow file.\u003c/p\u003e\n\u003ch3 id=\"inputsinput_iddeprecationmessage\" tabindex=\"-1\"\u003e\u003ca class=\"heading-link\" href=\"#inputsinput_iddeprecationmessage\"\u003e\u003ccode\u003einputs.\u0026#x3C;input_id\u003e.deprecationMessage\u003c/code\u003e\u003cspan class=\"heading-link-symbol\" aria-hidden=\"true\"\u003e\u003c/span\u003e\u003c/a\u003e\u003c/h3\u003e\n\u003cp\u003e\u003cstrong\u003eOptional\u003c/strong\u003e If the input parameter is used, this \u003ccode\u003estring\u003c/code\u003e is logged as a warning message. You can use this warning to notify users that the input is closing down and mention any alternatives.\u003c/p\u003e\n\u003ch2 id=\"outputs-for-docker-container-and-javascript-actions\" tabindex=\"-1\"\u003e\u003ca class=\"heading-link\" href=\"#outputs-for-docker-container-and-javascript-actions\"\u003e\u003ccode\u003eoutputs\u003c/code\u003e for Docker container and JavaScript actions\u003cspan class=\"heading-link-symbol\" aria-hidden=\"true\"\u003e\u003c/span\u003e\u003c/a\u003e\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eOptional\u003c/strong\u003e Output parameters allow you to declare data that an action sets. Actions that run later in a workflow can use the output data set in previously run actions. For example, if you had an action that performed the addition of two inputs (x + y = z), the action could output the sum (z) for other actions to use as an input.\u003c/p\u003e\n\u003cp\u003eOutputs are Unicode strings, and can be a maximum of 1 MB. The total of all outputs in a workflow run can be a maximum of 50 MB.\u003c/p\u003e\n\u003cp\u003eIf you don't declare an output in your action metadata file, you can still set outputs and use them in a workflow. For more information on setting outputs in an action, see \u003ca href=\"/en/actions/using-workflows/workflow-commands-for-github-actions#setting-an-output-parameter\" _originalHref=\"/actions/using-workflows/workflow-commands-for-github-actions#setting-an-output-parameter\"\u003eWorkflow commands for GitHub Actions\u003c/a\u003e.\u003c/p\u003e\n\u003ch3 id=\"example-declaring-outputs-for-docker-container-and-javascript-actions\" tabindex=\"-1\"\u003e\u003ca class=\"heading-link\" href=\"#example-declaring-outputs-for-docker-container-and-javascript-actions\"\u003eExample: Declaring outputs for Docker container and JavaScript actions\u003cspan class=\"heading-link-symbol\" aria-hidden=\"true\"\u003e\u003c/span\u003e\u003c/a\u003e\u003c/h3\u003e\n\u003cpre\u003e\u003ccode class=\"hljs language-yaml\"\u003e\u003cspan class=\"hljs-attr\"\u003eoutputs:\u003c/span\u003e\n \u003cspan class=\"hljs-attr\"\u003esum:\u003c/span\u003e \u003cspan class=\"hljs-comment\"\u003e# id of the output\u003c/span\u003e\n \u003cspan class=\"hljs-attr\"\u003edescription:\u003c/span\u003e \u003cspan class=\"hljs-string\"\u003e'The sum of the inputs'\u003c/span\u003e\n\u003c/code\u003e\u003c/pre\u003e\n\u003ch3 id=\"outputsoutput_id\" tabindex=\"-1\"\u003e\u003ca class=\"heading-link\" href=\"#outputsoutput_id\"\u003e\u003ccode\u003eoutputs.\u0026#x3C;output_id\u003e\u003c/code\u003e\u003cspan class=\"heading-link-symbol\" aria-hidden=\"true\"\u003e\u003c/span\u003e\u003c/a\u003e\u003c/h3\u003e\n\u003cp\u003e\u003cstrong\u003eRequired\u003c/strong\u003e A \u003ccode\u003estring\u003c/code\u003e identifier to associate with the output. The value of \u003ccode\u003e\u0026#x3C;output_id\u003e\u003c/code\u003e is a map of the output's metadata. The \u003ccode\u003e\u0026#x3C;output_id\u003e\u003c/code\u003e must be a unique identifier within the \u003ccode\u003eoutputs\u003c/code\u003e object. The \u003ccode\u003e\u0026#x3C;output_id\u003e\u003c/code\u003e must start with a letter or \u003ccode\u003e_\u003c/code\u003e and contain only alphanumeric characters, \u003ccode\u003e-\u003c/code\u003e, or \u003ccode\u003e_\u003c/code\u003e.\u003c/p\u003e\n\u003ch3 id=\"outputsoutput_iddescription\" tabindex=\"-1\"\u003e\u003ca class=\"heading-link\" href=\"#outputsoutput_iddescription\"\u003e\u003ccode\u003eoutputs.\u0026#x3C;output_id\u003e.description\u003c/code\u003e\u003cspan class=\"heading-link-symbol\" aria-hidden=\"true\"\u003e\u003c/span\u003e\u003c/a\u003e\u003c/h3\u003e\n\u003cp\u003e\u003cstrong\u003eRequired\u003c/strong\u003e A \u003ccode\u003estring\u003c/code\u003e description of the output parameter.\u003c/p\u003e\n\u003ch2 id=\"outputs-for-composite-actions\" tabindex=\"-1\"\u003e\u003ca class=\"heading-link\" href=\"#outputs-for-composite-actions\"\u003e\u003ccode\u003eoutputs\u003c/code\u003e for composite actions\u003cspan class=\"heading-link-symbol\" aria-hidden=\"true\"\u003e\u003c/span\u003e\u003c/a\u003e\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eOptional\u003c/strong\u003e \u003ccode\u003eoutputs\u003c/code\u003e use the same parameters as \u003ccode\u003eoutputs.\u0026#x3C;output_id\u003e\u003c/code\u003e and \u003ccode\u003eoutputs.\u0026#x3C;output_id\u003e.description\u003c/code\u003e (see \u003ca href=\"#outputs-for-docker-container-and-javascript-actions\"\u003e\u003ccode\u003eoutputs\u003c/code\u003e for Docker container and JavaScript actions\u003c/a\u003e), but also includes the \u003ccode\u003evalue\u003c/code\u003e token.\u003c/p\u003e\n\u003cp\u003eOutputs are Unicode strings, and can be a maximum of 1 MB. The total of all outputs in a workflow run can be a maximum of 50 MB.\u003c/p\u003e\n\u003ch3 id=\"example-declaring-outputs-for-composite-actions\" tabindex=\"-1\"\u003e\u003ca class=\"heading-link\" href=\"#example-declaring-outputs-for-composite-actions\"\u003eExample: Declaring outputs for composite actions\u003cspan class=\"heading-link-symbol\" aria-hidden=\"true\"\u003e\u003c/span\u003e\u003c/a\u003e\u003c/h3\u003e\n\u003cpre\u003e\u003ccode class=\"hljs language-yaml\"\u003e\u003cspan class=\"hljs-attr\"\u003eoutputs:\u003c/span\u003e\n \u003cspan class=\"hljs-attr\"\u003erandom-number:\u003c/span\u003e\n \u003cspan class=\"hljs-attr\"\u003edescription:\u003c/span\u003e \u003cspan class=\"hljs-string\"\u003e\"Random number\"\u003c/span\u003e\n \u003cspan class=\"hljs-attr\"\u003evalue:\u003c/span\u003e \u003cspan class=\"hljs-string\"\u003e${{\u003c/span\u003e \u003cspan class=\"hljs-string\"\u003esteps.random-number-generator.outputs.random-id\u003c/span\u003e \u003cspan class=\"hljs-string\"\u003e}}\u003c/span\u003e\n\u003cspan class=\"hljs-attr\"\u003eruns:\u003c/span\u003e\n \u003cspan class=\"hljs-attr\"\u003eusing:\u003c/span\u003e \u003cspan class=\"hljs-string\"\u003e\"composite\"\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\"\u003eid:\u003c/span\u003e \u003cspan class=\"hljs-string\"\u003erandom-number-generator\u003c/span\u003e\n \u003cspan class=\"hljs-attr\"\u003erun:\u003c/span\u003e \u003cspan class=\"hljs-string\"\u003eecho\u003c/span\u003e \u003cspan class=\"hljs-string\"\u003e\"random-id=$(echo $RANDOM)\"\u003c/span\u003e \u003cspan class=\"hljs-string\"\u003e\u003e\u003e\u003c/span\u003e \u003cspan class=\"hljs-string\"\u003e$GITHUB_OUTPUT\u003c/span\u003e\n \u003cspan class=\"hljs-attr\"\u003eshell:\u003c/span\u003e \u003cspan class=\"hljs-string\"\u003ebash\u003c/span\u003e\n\u003c/code\u003e\u003c/pre\u003e\n\u003ch3 id=\"outputsoutput_idvalue\" tabindex=\"-1\"\u003e\u003ca class=\"heading-link\" href=\"#outputsoutput_idvalue\"\u003e\u003ccode\u003eoutputs.\u0026#x3C;output_id\u003e.value\u003c/code\u003e\u003cspan class=\"heading-link-symbol\" aria-hidden=\"true\"\u003e\u003c/span\u003e\u003c/a\u003e\u003c/h3\u003e\n\u003cp\u003e\u003cstrong\u003eRequired\u003c/strong\u003e The value that the output parameter will be mapped to. You can set this to a \u003ccode\u003estring\u003c/code\u003e or an expression with context. For example, you can use the \u003ccode\u003esteps\u003c/code\u003e context to set the \u003ccode\u003evalue\u003c/code\u003e of an output to the output value of a step.\u003c/p\u003e\n\u003cp\u003eFor more information on how to use context syntax, see \u003ca href=\"/en/actions/learn-github-actions/contexts\" _originalHref=\"/actions/learn-github-actions/contexts\"\u003eAccessing contextual information about workflow runs\u003c/a\u003e.\u003c/p\u003e\n\u003ch2 id=\"runs\" tabindex=\"-1\"\u003e\u003ca class=\"heading-link\" href=\"#runs\"\u003e\u003ccode\u003eruns\u003c/code\u003e\u003cspan class=\"heading-link-symbol\" aria-hidden=\"true\"\u003e\u003c/span\u003e\u003c/a\u003e\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eRequired\u003c/strong\u003e Specifies whether this is a JavaScript action, a composite action, or a Docker container action and how the action is executed.\u003c/p\u003e\n\u003ch2 id=\"runs-for-javascript-actions\" tabindex=\"-1\"\u003e\u003ca class=\"heading-link\" href=\"#runs-for-javascript-actions\"\u003e\u003ccode\u003eruns\u003c/code\u003e for JavaScript actions\u003cspan class=\"heading-link-symbol\" aria-hidden=\"true\"\u003e\u003c/span\u003e\u003c/a\u003e\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eRequired\u003c/strong\u003e Configures the path to the action's code and the runtime used to execute the code.\u003c/p\u003e\n\u003ch3 id=\"example-using-nodejs-v20\" tabindex=\"-1\"\u003e\u003ca class=\"heading-link\" href=\"#example-using-nodejs-v20\"\u003eExample: Using Node.js v20\u003cspan class=\"heading-link-symbol\" aria-hidden=\"true\"\u003e\u003c/span\u003e\u003c/a\u003e\u003c/h3\u003e\n\u003cpre\u003e\u003ccode class=\"hljs language-yaml\"\u003e\u003cspan class=\"hljs-attr\"\u003eruns:\u003c/span\u003e\n \u003cspan class=\"hljs-attr\"\u003eusing:\u003c/span\u003e \u003cspan class=\"hljs-string\"\u003e'node20'\u003c/span\u003e\n \u003cspan class=\"hljs-attr\"\u003emain:\u003c/span\u003e \u003cspan class=\"hljs-string\"\u003e'main.js'\u003c/span\u003e\n\u003c/code\u003e\u003c/pre\u003e\n\u003ch3 id=\"runsusing-for-javascript-actions\" tabindex=\"-1\"\u003e\u003ca class=\"heading-link\" href=\"#runsusing-for-javascript-actions\"\u003e\u003ccode\u003eruns.using\u003c/code\u003e for JavaScript actions\u003cspan class=\"heading-link-symbol\" aria-hidden=\"true\"\u003e\u003c/span\u003e\u003c/a\u003e\u003c/h3\u003e\n\u003cp\u003e\u003cstrong\u003eRequired\u003c/strong\u003e The runtime used to execute the code specified in \u003ca href=\"#runsmain\"\u003e\u003ccode\u003emain\u003c/code\u003e\u003c/a\u003e.\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eUse \u003ccode\u003enode20\u003c/code\u003e for Node.js v20.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3 id=\"runsmain\" tabindex=\"-1\"\u003e\u003ca class=\"heading-link\" href=\"#runsmain\"\u003e\u003ccode\u003eruns.main\u003c/code\u003e\u003cspan class=\"heading-link-symbol\" aria-hidden=\"true\"\u003e\u003c/span\u003e\u003c/a\u003e\u003c/h3\u003e\n\u003cp\u003e\u003cstrong\u003eRequired\u003c/strong\u003e The file that contains your action code. The runtime specified in \u003ca href=\"#runsusing-for-javascript-actions\"\u003e\u003ccode\u003eusing\u003c/code\u003e\u003c/a\u003e executes this file.\u003c/p\u003e\n\u003ch3 id=\"runspre\" tabindex=\"-1\"\u003e\u003ca class=\"heading-link\" href=\"#runspre\"\u003e\u003ccode\u003eruns.pre\u003c/code\u003e\u003cspan class=\"heading-link-symbol\" aria-hidden=\"true\"\u003e\u003c/span\u003e\u003c/a\u003e\u003c/h3\u003e\n\u003cp\u003e\u003cstrong\u003eOptional\u003c/strong\u003e Allows you to run a script at the start of a job, before the \u003ccode\u003emain:\u003c/code\u003e action begins. For example, you can use \u003ccode\u003epre:\u003c/code\u003e to run a prerequisite setup script. The runtime specified with the \u003ca href=\"#runsusing-for-javascript-actions\"\u003e\u003ccode\u003eusing\u003c/code\u003e\u003c/a\u003e syntax will execute this file. The \u003ccode\u003epre:\u003c/code\u003e action always runs by default but you can override this using \u003ca href=\"#runspre-if\"\u003e\u003ccode\u003eruns.pre-if\u003c/code\u003e\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003eIn this example, the \u003ccode\u003epre:\u003c/code\u003e action runs a script called \u003ccode\u003esetup.js\u003c/code\u003e:\u003c/p\u003e\n\u003cpre\u003e\u003ccode class=\"hljs language-yaml\"\u003e\u003cspan class=\"hljs-attr\"\u003eruns:\u003c/span\u003e\n \u003cspan class=\"hljs-attr\"\u003eusing:\u003c/span\u003e \u003cspan class=\"hljs-string\"\u003e'node20'\u003c/span\u003e\n \u003cspan class=\"hljs-attr\"\u003epre:\u003c/span\u003e \u003cspan class=\"hljs-string\"\u003e'setup.js'\u003c/span\u003e\n \u003cspan class=\"hljs-attr\"\u003emain:\u003c/span\u003e \u003cspan class=\"hljs-string\"\u003e'index.js'\u003c/span\u003e\n \u003cspan class=\"hljs-attr\"\u003epost:\u003c/span\u003e \u003cspan class=\"hljs-string\"\u003e'cleanup.js'\u003c/span\u003e\n\u003c/code\u003e\u003c/pre\u003e\n\u003ch3 id=\"runspre-if\" tabindex=\"-1\"\u003e\u003ca class=\"heading-link\" href=\"#runspre-if\"\u003e\u003ccode\u003eruns.pre-if\u003c/code\u003e\u003cspan class=\"heading-link-symbol\" aria-hidden=\"true\"\u003e\u003c/span\u003e\u003c/a\u003e\u003c/h3\u003e\n\u003cp\u003e\u003cstrong\u003eOptional\u003c/strong\u003e Allows you to define conditions for the \u003ccode\u003epre:\u003c/code\u003e action execution. The \u003ccode\u003epre:\u003c/code\u003e action will only run if the conditions in \u003ccode\u003epre-if\u003c/code\u003e are met. If not set, then \u003ccode\u003epre-if\u003c/code\u003e defaults to \u003ccode\u003ealways()\u003c/code\u003e. In \u003ccode\u003epre-if\u003c/code\u003e, status check functions evaluate against the job's status, not the action's own status.\u003c/p\u003e\n\u003cp\u003eNote that the \u003ccode\u003estep\u003c/code\u003e context is unavailable, as no steps have run yet.\u003c/p\u003e\n\u003cp\u003eIn this example, \u003ccode\u003ecleanup.js\u003c/code\u003e only runs on Linux-based runners:\u003c/p\u003e\n\u003cpre\u003e\u003ccode class=\"hljs language-yaml\"\u003e \u003cspan class=\"hljs-attr\"\u003epre:\u003c/span\u003e \u003cspan class=\"hljs-string\"\u003e'cleanup.js'\u003c/span\u003e\n \u003cspan class=\"hljs-attr\"\u003epre-if:\u003c/span\u003e \u003cspan class=\"hljs-string\"\u003erunner.os\u003c/span\u003e \u003cspan class=\"hljs-string\"\u003e==\u003c/span\u003e \u003cspan class=\"hljs-string\"\u003e'linux'\u003c/span\u003e\n\u003c/code\u003e\u003c/pre\u003e\n\u003ch3 id=\"runspost\" tabindex=\"-1\"\u003e\u003ca class=\"heading-link\" href=\"#runspost\"\u003e\u003ccode\u003eruns.post\u003c/code\u003e\u003cspan class=\"heading-link-symbol\" aria-hidden=\"true\"\u003e\u003c/span\u003e\u003c/a\u003e\u003c/h3\u003e\n\u003cp\u003e\u003cstrong\u003eOptional\u003c/strong\u003e Allows you to run a script at the end of a job, once the \u003ccode\u003emain:\u003c/code\u003e action has completed. For example, you can use \u003ccode\u003epost:\u003c/code\u003e to terminate certain processes or remove unneeded files. The runtime specified with the \u003ca href=\"#runsusing-for-javascript-actions\"\u003e\u003ccode\u003eusing\u003c/code\u003e\u003c/a\u003e syntax will execute this file.\u003c/p\u003e\n\u003cp\u003eIn this example, the \u003ccode\u003epost:\u003c/code\u003e action runs a script called \u003ccode\u003ecleanup.js\u003c/code\u003e:\u003c/p\u003e\n\u003cpre\u003e\u003ccode class=\"hljs language-yaml\"\u003e\u003cspan class=\"hljs-attr\"\u003eruns:\u003c/span\u003e\n \u003cspan class=\"hljs-attr\"\u003eusing:\u003c/span\u003e \u003cspan class=\"hljs-string\"\u003e'node20'\u003c/span\u003e\n \u003cspan class=\"hljs-attr\"\u003emain:\u003c/span\u003e \u003cspan class=\"hljs-string\"\u003e'index.js'\u003c/span\u003e\n \u003cspan class=\"hljs-attr\"\u003epost:\u003c/span\u003e \u003cspan class=\"hljs-string\"\u003e'cleanup.js'\u003c/span\u003e\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003eThe \u003ccode\u003epost:\u003c/code\u003e action always runs by default but you can override this using \u003ccode\u003epost-if\u003c/code\u003e.\u003c/p\u003e\n\u003ch3 id=\"runspost-if\" tabindex=\"-1\"\u003e\u003ca class=\"heading-link\" href=\"#runspost-if\"\u003e\u003ccode\u003eruns.post-if\u003c/code\u003e\u003cspan class=\"heading-link-symbol\" aria-hidden=\"true\"\u003e\u003c/span\u003e\u003c/a\u003e\u003c/h3\u003e\n\u003cp\u003e\u003cstrong\u003eOptional\u003c/strong\u003e Allows you to define conditions for the \u003ccode\u003epost:\u003c/code\u003e action execution. The \u003ccode\u003epost:\u003c/code\u003e action will only run if the conditions in \u003ccode\u003epost-if\u003c/code\u003e are met. If not set, then \u003ccode\u003epost-if\u003c/code\u003e defaults to \u003ccode\u003ealways()\u003c/code\u003e. In \u003ccode\u003epost-if\u003c/code\u003e, status check functions evaluate against the job's status, not the action's own status.\u003c/p\u003e\n\u003cp\u003eFor example, this \u003ccode\u003ecleanup.js\u003c/code\u003e will only run on Linux-based runners:\u003c/p\u003e\n\u003cpre\u003e\u003ccode class=\"hljs language-yaml\"\u003e \u003cspan class=\"hljs-attr\"\u003epost:\u003c/span\u003e \u003cspan class=\"hljs-string\"\u003e'cleanup.js'\u003c/span\u003e\n \u003cspan class=\"hljs-attr\"\u003epost-if:\u003c/span\u003e \u003cspan class=\"hljs-string\"\u003erunner.os\u003c/span\u003e \u003cspan class=\"hljs-string\"\u003e==\u003c/span\u003e \u003cspan class=\"hljs-string\"\u003e'linux'\u003c/span\u003e\n\u003c/code\u003e\u003c/pre\u003e\n\u003ch2 id=\"runs-for-composite-actions\" tabindex=\"-1\"\u003e\u003ca class=\"heading-link\" href=\"#runs-for-composite-actions\"\u003e\u003ccode\u003eruns\u003c/code\u003e for composite actions\u003cspan class=\"heading-link-symbol\" aria-hidden=\"true\"\u003e\u003c/span\u003e\u003c/a\u003e\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eRequired\u003c/strong\u003e Configures the path to the composite action.\u003c/p\u003e\n\u003ch3 id=\"runsusing-for-composite-actions\" tabindex=\"-1\"\u003e\u003ca class=\"heading-link\" href=\"#runsusing-for-composite-actions\"\u003e\u003ccode\u003eruns.using\u003c/code\u003e for composite actions\u003cspan class=\"heading-link-symbol\" aria-hidden=\"true\"\u003e\u003c/span\u003e\u003c/a\u003e\u003c/h3\u003e\n\u003cp\u003e\u003cstrong\u003eRequired\u003c/strong\u003e You must set this value to \u003ccode\u003e'composite'\u003c/code\u003e.\u003c/p\u003e\n\u003ch3 id=\"runssteps\" tabindex=\"-1\"\u003e\u003ca class=\"heading-link\" href=\"#runssteps\"\u003e\u003ccode\u003eruns.steps\u003c/code\u003e\u003cspan class=\"heading-link-symbol\" aria-hidden=\"true\"\u003e\u003c/span\u003e\u003c/a\u003e\u003c/h3\u003e\n\u003cp\u003e\u003cstrong\u003eRequired\u003c/strong\u003e The steps that you plan to run in this action. These can be either \u003ccode\u003erun\u003c/code\u003e steps or \u003ccode\u003euses\u003c/code\u003e steps.\u003c/p\u003e\n\u003ch4 id=\"runsstepsrun\" tabindex=\"-1\"\u003e\u003ca class=\"heading-link\" href=\"#runsstepsrun\"\u003e\u003ccode\u003eruns.steps[*].run\u003c/code\u003e\u003cspan class=\"heading-link-symbol\" aria-hidden=\"true\"\u003e\u003c/span\u003e\u003c/a\u003e\u003c/h4\u003e\n\u003cp\u003e\u003cstrong\u003eOptional\u003c/strong\u003e The command you want to run. This can be inline or a script in your action repository:\u003c/p\u003e\n\u003cpre\u003e\u003ccode class=\"hljs language-yaml\"\u003e\u003cspan class=\"hljs-attr\"\u003eruns:\u003c/span\u003e\n \u003cspan class=\"hljs-attr\"\u003eusing:\u003c/span\u003e \u003cspan class=\"hljs-string\"\u003e\"composite\"\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\"\u003erun:\u003c/span\u003e \u003cspan class=\"hljs-string\"\u003e${{\u003c/span\u003e \u003cspan class=\"hljs-string\"\u003egithub.action_path\u003c/span\u003e \u003cspan class=\"hljs-string\"\u003e}}/test/script.sh\u003c/span\u003e\n \u003cspan class=\"hljs-attr\"\u003eshell:\u003c/span\u003e \u003cspan class=\"hljs-string\"\u003ebash\u003c/span\u003e\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003eAlternatively, you can use \u003ccode\u003e$GITHUB_ACTION_PATH\u003c/code\u003e:\u003c/p\u003e\n\u003cpre\u003e\u003ccode class=\"hljs language-yaml\"\u003e\u003cspan class=\"hljs-attr\"\u003eruns:\u003c/span\u003e\n \u003cspan class=\"hljs-attr\"\u003eusing:\u003c/span\u003e \u003cspan class=\"hljs-string\"\u003e\"composite\"\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\"\u003erun:\u003c/span\u003e \u003cspan class=\"hljs-string\"\u003e$GITHUB_ACTION_PATH/script.sh\u003c/span\u003e\n \u003cspan class=\"hljs-attr\"\u003eshell:\u003c/span\u003e \u003cspan class=\"hljs-string\"\u003ebash\u003c/span\u003e\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003eFor more information, see \u003ca href=\"/en/actions/learn-github-actions/contexts#github-context\" _originalHref=\"/actions/learn-github-actions/contexts#github-context\"\u003eAccessing contextual information about workflow runs\u003c/a\u003e.\u003c/p\u003e\n\u003ch4 id=\"runsstepsshell\" tabindex=\"-1\"\u003e\u003ca class=\"heading-link\" href=\"#runsstepsshell\"\u003e\u003ccode\u003eruns.steps[*].shell\u003c/code\u003e\u003cspan class=\"heading-link-symbol\" aria-hidden=\"true\"\u003e\u003c/span\u003e\u003c/a\u003e\u003c/h4\u003e\n\u003cp\u003e\u003cstrong\u003eOptional\u003c/strong\u003e The shell where you want to run the command. You can use any of the shells listed in \u003ca href=\"/en/actions/using-workflows/workflow-syntax-for-github-actions#jobsjob_idstepsshell\" _originalHref=\"/actions/using-workflows/workflow-syntax-for-github-actions#jobsjob_idstepsshell\"\u003eWorkflow syntax for GitHub Actions\u003c/a\u003e. Required if \u003ccode\u003erun\u003c/code\u003e is set.\u003c/p\u003e\n\u003ch4 id=\"runsstepsif\" tabindex=\"-1\"\u003e\u003ca class=\"heading-link\" href=\"#runsstepsif\"\u003e\u003ccode\u003eruns.steps[*].if\u003c/code\u003e\u003cspan class=\"heading-link-symbol\" aria-hidden=\"true\"\u003e\u003c/span\u003e\u003c/a\u003e\u003c/h4\u003e\n\u003cp\u003e\u003cstrong\u003eOptional\u003c/strong\u003e You can use the \u003ccode\u003eif\u003c/code\u003e conditional to prevent a step from running unless a condition is met. You can use any supported context and expression to create a conditional.\u003c/p\u003e\n\u003cp\u003eWhen you use expressions in an \u003ccode\u003eif\u003c/code\u003e conditional, you can, optionally, omit the \u003ccode\u003e${{ }}\u003c/code\u003e expression syntax because GitHub Actions automatically evaluates the \u003ccode\u003eif\u003c/code\u003e conditional as an expression. However, this exception does not apply everywhere.\u003c/p\u003e\n\u003cp\u003eYou must always use the \u003ccode\u003e${{ }}\u003c/code\u003e expression syntax or escape with \u003ccode\u003e''\u003c/code\u003e, \u003ccode\u003e\"\"\u003c/code\u003e, or \u003ccode\u003e()\u003c/code\u003e when the expression starts with \u003ccode\u003e!\u003c/code\u003e, since \u003ccode\u003e!\u003c/code\u003e is reserved notation in YAML format. For example:\u003c/p\u003e\n\u003cpre\u003e\u003ccode class=\"hljs language-yaml\"\u003e\u003cspan class=\"hljs-attr\"\u003eif:\u003c/span\u003e \u003cspan class=\"hljs-string\"\u003e${{\u003c/span\u003e \u003cspan class=\"hljs-string\"\u003e!\u003c/span\u003e \u003cspan class=\"hljs-string\"\u003estartsWith(github.ref,\u003c/span\u003e \u003cspan class=\"hljs-string\"\u003e'refs/tags/'\u003c/span\u003e\u003cspan class=\"hljs-string\"\u003e)\u003c/span\u003e \u003cspan class=\"hljs-string\"\u003e}}\u003c/span\u003e\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003eFor more information, see \u003ca href=\"/en/actions/learn-github-actions/expressions\" _originalHref=\"/actions/learn-github-actions/expressions\"\u003eEvaluate expressions in workflows and actions\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eExample: Using contexts\u003c/strong\u003e\u003c/p\u003e\n\u003cp\u003eThis step only runs when the event type is a \u003ccode\u003epull_request\u003c/code\u003e and the event action is \u003ccode\u003eunassigned\u003c/code\u003e.\u003c/p\u003e\n\u003cpre\u003e\u003ccode class=\"hljs language-yaml\"\u003e\u003cspan class=\"hljs-attr\"\u003esteps:\u003c/span\u003e\n \u003cspan class=\"hljs-bullet\"\u003e-\u003c/span\u003e \u003cspan class=\"hljs-attr\"\u003erun:\u003c/span\u003e \u003cspan class=\"hljs-string\"\u003eecho\u003c/span\u003e \u003cspan class=\"hljs-string\"\u003eThis\u003c/span\u003e \u003cspan class=\"hljs-string\"\u003eevent\u003c/span\u003e \u003cspan class=\"hljs-string\"\u003eis\u003c/span\u003e \u003cspan class=\"hljs-string\"\u003ea\u003c/span\u003e \u003cspan class=\"hljs-string\"\u003epull\u003c/span\u003e \u003cspan class=\"hljs-string\"\u003erequest\u003c/span\u003e \u003cspan class=\"hljs-string\"\u003ethat\u003c/span\u003e \u003cspan class=\"hljs-string\"\u003ehad\u003c/span\u003e \u003cspan class=\"hljs-string\"\u003ean\u003c/span\u003e \u003cspan class=\"hljs-string\"\u003eassignee\u003c/span\u003e \u003cspan class=\"hljs-string\"\u003eremoved.\u003c/span\u003e\n \u003cspan class=\"hljs-attr\"\u003eif:\u003c/span\u003e \u003cspan class=\"hljs-string\"\u003e${{\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'unassigned'\u003c/span\u003e \u003cspan class=\"hljs-string\"\u003e}}\u003c/span\u003e\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003e\u003cstrong\u003eExample: Using status check functions\u003c/strong\u003e\u003c/p\u003e\n\u003cp\u003eThe \u003ccode\u003emy backup step\u003c/code\u003e only runs when the previous step of a composite action fails. For more information, see \u003ca href=\"/en/actions/learn-github-actions/expressions#status-check-functions\" _originalHref=\"/actions/learn-github-actions/expressions#status-check-functions\"\u003eEvaluate expressions in workflows and actions\u003c/a\u003e.\u003c/p\u003e\n\u003cpre\u003e\u003ccode class=\"hljs language-yaml\"\u003e\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\"\u003eMy\u003c/span\u003e \u003cspan class=\"hljs-string\"\u003efirst\u003c/span\u003e \u003cspan class=\"hljs-string\"\u003estep\u003c/span\u003e\n \u003cspan class=\"hljs-attr\"\u003euses:\u003c/span\u003e \u003cspan class=\"hljs-string\"\u003eocto-org/action-name@main\u003c/span\u003e\n \u003cspan class=\"hljs-bullet\"\u003e-\u003c/span\u003e \u003cspan class=\"hljs-attr\"\u003ename:\u003c/span\u003e \u003cspan class=\"hljs-string\"\u003eMy\u003c/span\u003e \u003cspan class=\"hljs-string\"\u003ebackup\u003c/span\u003e \u003cspan class=\"hljs-string\"\u003estep\u003c/span\u003e\n \u003cspan class=\"hljs-attr\"\u003eif:\u003c/span\u003e \u003cspan class=\"hljs-string\"\u003e${{\u003c/span\u003e \u003cspan class=\"hljs-string\"\u003efailure()\u003c/span\u003e \u003cspan class=\"hljs-string\"\u003e}}\u003c/span\u003e\n \u003cspan class=\"hljs-attr\"\u003euses:\u003c/span\u003e \u003cspan class=\"hljs-string\"\u003eactions/heroku@1.0.0\u003c/span\u003e\n\u003c/code\u003e\u003c/pre\u003e\n\u003ch4 id=\"runsstepsname\" tabindex=\"-1\"\u003e\u003ca class=\"heading-link\" href=\"#runsstepsname\"\u003e\u003ccode\u003eruns.steps[*].name\u003c/code\u003e\u003cspan class=\"heading-link-symbol\" aria-hidden=\"true\"\u003e\u003c/span\u003e\u003c/a\u003e\u003c/h4\u003e\n\u003cp\u003e\u003cstrong\u003eOptional\u003c/strong\u003e The name of the composite step.\u003c/p\u003e\n\u003ch4 id=\"runsstepsid\" tabindex=\"-1\"\u003e\u003ca class=\"heading-link\" href=\"#runsstepsid\"\u003e\u003ccode\u003eruns.steps[*].id\u003c/code\u003e\u003cspan class=\"heading-link-symbol\" aria-hidden=\"true\"\u003e\u003c/span\u003e\u003c/a\u003e\u003c/h4\u003e\n\u003cp\u003e\u003cstrong\u003eOptional\u003c/strong\u003e A unique identifier for the step. You can use the \u003ccode\u003eid\u003c/code\u003e to reference the step in contexts. For more information, see \u003ca href=\"/en/actions/learn-github-actions/contexts\" _originalHref=\"/actions/learn-github-actions/contexts\"\u003eAccessing contextual information about workflow runs\u003c/a\u003e.\u003c/p\u003e\n\u003ch4 id=\"runsstepsenv\" tabindex=\"-1\"\u003e\u003ca class=\"heading-link\" href=\"#runsstepsenv\"\u003e\u003ccode\u003eruns.steps[*].env\u003c/code\u003e\u003cspan class=\"heading-link-symbol\" aria-hidden=\"true\"\u003e\u003c/span\u003e\u003c/a\u003e\u003c/h4\u003e\n\u003cp\u003e\u003cstrong\u003eOptional\u003c/strong\u003e Sets a \u003ccode\u003emap\u003c/code\u003e of environment variables for only that step. If you want to modify the environment variable stored in the workflow, use \u003ccode\u003eecho \"{name}={value}\" \u003e\u003e $GITHUB_ENV\u003c/code\u003e in a composite step.\u003c/p\u003e\n\u003ch4 id=\"runsstepsworking-directory\" tabindex=\"-1\"\u003e\u003ca class=\"heading-link\" href=\"#runsstepsworking-directory\"\u003e\u003ccode\u003eruns.steps[*].working-directory\u003c/code\u003e\u003cspan class=\"heading-link-symbol\" aria-hidden=\"true\"\u003e\u003c/span\u003e\u003c/a\u003e\u003c/h4\u003e\n\u003cp\u003e\u003cstrong\u003eOptional\u003c/strong\u003e Specifies the working directory where the command is run.\u003c/p\u003e\n\u003ch4 id=\"runsstepsuses\" tabindex=\"-1\"\u003e\u003ca class=\"heading-link\" href=\"#runsstepsuses\"\u003e\u003ccode\u003eruns.steps[*].uses\u003c/code\u003e\u003cspan class=\"heading-link-symbol\" aria-hidden=\"true\"\u003e\u003c/span\u003e\u003c/a\u003e\u003c/h4\u003e\n\u003cp\u003e\u003cstrong\u003eOptional\u003c/strong\u003e Selects an action to run as part of a step in your job. An action is a reusable unit of code. You can use an action defined in the same repository as the workflow, a public repository, or in a \u003ca href=\"https://hub.docker.com/\"\u003epublished Docker container image\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003eWe strongly recommend that you include the version of the action you are using by specifying a Git ref, SHA, or Docker tag number. If you don't specify a version, it could break your workflows or cause unexpected behavior when the action owner publishes an update.\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eUsing the commit SHA of a released action version is the safest for stability and security.\u003c/li\u003e\n\u003cli\u003eUsing the specific major action version allows you to receive critical fixes and security patches while still maintaining compatibility. It also assures that your workflow should still work.\u003c/li\u003e\n\u003cli\u003eUsing the default branch of an action may be convenient, but if someone releases a new major version with a breaking change, your workflow could break.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eSome actions require inputs that you must set using the \u003ca href=\"/en/actions/using-workflows/workflow-syntax-for-github-actions#jobsjob_idstepswith\" _originalHref=\"/actions/using-workflows/workflow-syntax-for-github-actions#jobsjob_idstepswith\"\u003e\u003ccode\u003ewith\u003c/code\u003e\u003c/a\u003e keyword. Review the action's README file to determine the inputs required.\u003c/p\u003e\n\u003cpre\u003e\u003ccode class=\"hljs language-yaml\"\u003e\u003cspan class=\"hljs-attr\"\u003eruns:\u003c/span\u003e\n \u003cspan class=\"hljs-attr\"\u003eusing:\u003c/span\u003e \u003cspan class=\"hljs-string\"\u003e\"composite\"\u003c/span\u003e\n \u003cspan class=\"hljs-attr\"\u003esteps:\u003c/span\u003e\n \u003cspan class=\"hljs-comment\"\u003e# Reference a specific commit\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@8f4b7f84864484a7bf31766abe9204da3cbe65b3\u003c/span\u003e\n \u003cspan class=\"hljs-comment\"\u003e# Reference the major version of a release\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-comment\"\u003e# Reference a specific version\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.2.0\u003c/span\u003e\n \u003cspan class=\"hljs-comment\"\u003e# Reference a branch\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@main\u003c/span\u003e\n \u003cspan class=\"hljs-comment\"\u003e# References a subdirectory in a public GitHub repository at a specific branch, ref, or SHA\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/aws/ec2@main\u003c/span\u003e\n \u003cspan class=\"hljs-comment\"\u003e# References a local action\u003c/span\u003e\n \u003cspan class=\"hljs-bullet\"\u003e-\u003c/span\u003e \u003cspan class=\"hljs-attr\"\u003euses:\u003c/span\u003e \u003cspan class=\"hljs-string\"\u003e./.github/actions/my-action\u003c/span\u003e\n \u003cspan class=\"hljs-comment\"\u003e# References a docker public registry action\u003c/span\u003e\n \u003cspan class=\"hljs-bullet\"\u003e-\u003c/span\u003e \u003cspan class=\"hljs-attr\"\u003euses:\u003c/span\u003e \u003cspan class=\"hljs-string\"\u003edocker://gcr.io/cloud-builders/gradle\u003c/span\u003e\n \u003cspan class=\"hljs-comment\"\u003e# Reference a docker image published on docker hub\u003c/span\u003e\n \u003cspan class=\"hljs-bullet\"\u003e-\u003c/span\u003e \u003cspan class=\"hljs-attr\"\u003euses:\u003c/span\u003e \u003cspan class=\"hljs-string\"\u003edocker://alpine:3.8\u003c/span\u003e\n\u003c/code\u003e\u003c/pre\u003e\n\u003ch4 id=\"runsstepswith\" tabindex=\"-1\"\u003e\u003ca class=\"heading-link\" href=\"#runsstepswith\"\u003e\u003ccode\u003eruns.steps[*].with\u003c/code\u003e\u003cspan class=\"heading-link-symbol\" aria-hidden=\"true\"\u003e\u003c/span\u003e\u003c/a\u003e\u003c/h4\u003e\n\u003cp\u003e\u003cstrong\u003eOptional\u003c/strong\u003e A \u003ccode\u003emap\u003c/code\u003e of the input parameters defined by the action. Each input parameter is a key/value pair. For more information, see \u003ca href=\"#example-specifying-inputs\"\u003eExample: Specifying inputs\u003c/a\u003e.\u003c/p\u003e\n\u003cpre\u003e\u003ccode class=\"hljs language-yaml\"\u003e\u003cspan class=\"hljs-attr\"\u003eruns:\u003c/span\u003e\n \u003cspan class=\"hljs-attr\"\u003eusing:\u003c/span\u003e \u003cspan class=\"hljs-string\"\u003e\"composite\"\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\"\u003eMy\u003c/span\u003e \u003cspan class=\"hljs-string\"\u003efirst\u003c/span\u003e \u003cspan class=\"hljs-string\"\u003estep\u003c/span\u003e\n \u003cspan class=\"hljs-attr\"\u003euses:\u003c/span\u003e \u003cspan class=\"hljs-string\"\u003eactions/hello_world@main\u003c/span\u003e\n \u003cspan class=\"hljs-attr\"\u003ewith:\u003c/span\u003e\n \u003cspan class=\"hljs-attr\"\u003efirst_name:\u003c/span\u003e \u003cspan class=\"hljs-string\"\u003eMona\u003c/span\u003e\n \u003cspan class=\"hljs-attr\"\u003emiddle_name:\u003c/span\u003e \u003cspan class=\"hljs-string\"\u003eThe\u003c/span\u003e\n \u003cspan class=\"hljs-attr\"\u003elast_name:\u003c/span\u003e \u003cspan class=\"hljs-string\"\u003eOctocat\u003c/span\u003e\n\u003c/code\u003e\u003c/pre\u003e\n\u003ch2 id=\"runs-for-docker-container-actions\" tabindex=\"-1\"\u003e\u003ca class=\"heading-link\" href=\"#runs-for-docker-container-actions\"\u003e\u003ccode\u003eruns\u003c/code\u003e for Docker container actions\u003cspan class=\"heading-link-symbol\" aria-hidden=\"true\"\u003e\u003c/span\u003e\u003c/a\u003e\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eRequired\u003c/strong\u003e Configures the image used for the Docker container action.\u003c/p\u003e\n\u003ch3 id=\"example-using-a-dockerfile-in-your-repository\" tabindex=\"-1\"\u003e\u003ca class=\"heading-link\" href=\"#example-using-a-dockerfile-in-your-repository\"\u003eExample: Using a Dockerfile in your repository\u003cspan class=\"heading-link-symbol\" aria-hidden=\"true\"\u003e\u003c/span\u003e\u003c/a\u003e\u003c/h3\u003e\n\u003cpre\u003e\u003ccode class=\"hljs language-yaml\"\u003e\u003cspan class=\"hljs-attr\"\u003eruns:\u003c/span\u003e\n \u003cspan class=\"hljs-attr\"\u003eusing:\u003c/span\u003e \u003cspan class=\"hljs-string\"\u003e'docker'\u003c/span\u003e\n \u003cspan class=\"hljs-attr\"\u003eimage:\u003c/span\u003e \u003cspan class=\"hljs-string\"\u003e'Dockerfile'\u003c/span\u003e\n\u003c/code\u003e\u003c/pre\u003e\n\u003ch3 id=\"example-using-public-docker-registry-container\" tabindex=\"-1\"\u003e\u003ca class=\"heading-link\" href=\"#example-using-public-docker-registry-container\"\u003eExample: Using public Docker registry container\u003cspan class=\"heading-link-symbol\" aria-hidden=\"true\"\u003e\u003c/span\u003e\u003c/a\u003e\u003c/h3\u003e\n\u003cpre\u003e\u003ccode class=\"hljs language-yaml\"\u003e\u003cspan class=\"hljs-attr\"\u003eruns:\u003c/span\u003e\n \u003cspan class=\"hljs-attr\"\u003eusing:\u003c/span\u003e \u003cspan class=\"hljs-string\"\u003e'docker'\u003c/span\u003e\n \u003cspan class=\"hljs-attr\"\u003eimage:\u003c/span\u003e \u003cspan class=\"hljs-string\"\u003e'docker://debian:stretch-slim'\u003c/span\u003e\n\u003c/code\u003e\u003c/pre\u003e\n\u003ch3 id=\"runsusing-for-docker-container-actions\" tabindex=\"-1\"\u003e\u003ca class=\"heading-link\" href=\"#runsusing-for-docker-container-actions\"\u003e\u003ccode\u003eruns.using\u003c/code\u003e for Docker container actions\u003cspan class=\"heading-link-symbol\" aria-hidden=\"true\"\u003e\u003c/span\u003e\u003c/a\u003e\u003c/h3\u003e\n\u003cp\u003e\u003cstrong\u003eRequired\u003c/strong\u003e You must set this value to \u003ccode\u003e'docker'\u003c/code\u003e.\u003c/p\u003e\n\u003ch3 id=\"runspre-entrypoint\" tabindex=\"-1\"\u003e\u003ca class=\"heading-link\" href=\"#runspre-entrypoint\"\u003e\u003ccode\u003eruns.pre-entrypoint\u003c/code\u003e\u003cspan class=\"heading-link-symbol\" aria-hidden=\"true\"\u003e\u003c/span\u003e\u003c/a\u003e\u003c/h3\u003e\n\u003cp\u003e\u003cstrong\u003eOptional\u003c/strong\u003e Allows you to run a script before the \u003ccode\u003eentrypoint\u003c/code\u003e action begins. For example, you can use \u003ccode\u003epre-entrypoint:\u003c/code\u003e to run a prerequisite setup script. GitHub Actions uses \u003ccode\u003edocker run\u003c/code\u003e to launch this action, and runs the script inside a new container that uses the same base image. This means that the runtime state is different from the main \u003ccode\u003eentrypoint\u003c/code\u003e container, and any states you require must be accessed in either the workspace, \u003ccode\u003eHOME\u003c/code\u003e, or as a \u003ccode\u003eSTATE_\u003c/code\u003e variable. The \u003ccode\u003epre-entrypoint:\u003c/code\u003e action always runs by default but you can override this using \u003ca href=\"#runspre-if\"\u003e\u003ccode\u003eruns.pre-if\u003c/code\u003e\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003eThe runtime specified with the \u003ca href=\"#runsusing-for-docker-container-actions\"\u003e\u003ccode\u003eusing\u003c/code\u003e\u003c/a\u003e syntax will execute this file.\u003c/p\u003e\n\u003cp\u003eIn this example, the \u003ccode\u003epre-entrypoint:\u003c/code\u003e action runs a script called \u003ccode\u003esetup.sh\u003c/code\u003e:\u003c/p\u003e\n\u003cpre\u003e\u003ccode class=\"hljs language-yaml\"\u003e\u003cspan class=\"hljs-attr\"\u003eruns:\u003c/span\u003e\n \u003cspan class=\"hljs-attr\"\u003eusing:\u003c/span\u003e \u003cspan class=\"hljs-string\"\u003e'docker'\u003c/span\u003e\n \u003cspan class=\"hljs-attr\"\u003eimage:\u003c/span\u003e \u003cspan class=\"hljs-string\"\u003e'Dockerfile'\u003c/span\u003e\n \u003cspan class=\"hljs-attr\"\u003eargs:\u003c/span\u003e\n \u003cspan class=\"hljs-bullet\"\u003e-\u003c/span\u003e \u003cspan class=\"hljs-string\"\u003e'bzz'\u003c/span\u003e\n \u003cspan class=\"hljs-attr\"\u003epre-entrypoint:\u003c/span\u003e \u003cspan class=\"hljs-string\"\u003e'setup.sh'\u003c/span\u003e\n \u003cspan class=\"hljs-attr\"\u003eentrypoint:\u003c/span\u003e \u003cspan class=\"hljs-string\"\u003e'main.sh'\u003c/span\u003e\n\u003c/code\u003e\u003c/pre\u003e\n\u003ch3 id=\"runsimage\" tabindex=\"-1\"\u003e\u003ca class=\"heading-link\" href=\"#runsimage\"\u003e\u003ccode\u003eruns.image\u003c/code\u003e\u003cspan class=\"heading-link-symbol\" aria-hidden=\"true\"\u003e\u003c/span\u003e\u003c/a\u003e\u003c/h3\u003e\n\u003cp\u003e\u003cstrong\u003eRequired\u003c/strong\u003e The Docker image to use as the container to run the action. The value can be the Docker base image name, a local \u003ccode\u003eDockerfile\u003c/code\u003e in your repository, or a public image in Docker Hub or another registry. To reference a \u003ccode\u003eDockerfile\u003c/code\u003e local to your repository, the file must be named \u003ccode\u003eDockerfile\u003c/code\u003e and you must use a path relative to your action metadata file. The \u003ccode\u003edocker\u003c/code\u003e application will execute this file.\u003c/p\u003e\n\u003ch3 id=\"runsenv\" tabindex=\"-1\"\u003e\u003ca class=\"heading-link\" href=\"#runsenv\"\u003e\u003ccode\u003eruns.env\u003c/code\u003e\u003cspan class=\"heading-link-symbol\" aria-hidden=\"true\"\u003e\u003c/span\u003e\u003c/a\u003e\u003c/h3\u003e\n\u003cp\u003e\u003cstrong\u003eOptional\u003c/strong\u003e Specifies a key/value map of environment variables to set in the container environment.\u003c/p\u003e\n\u003ch3 id=\"runsentrypoint\" tabindex=\"-1\"\u003e\u003ca class=\"heading-link\" href=\"#runsentrypoint\"\u003e\u003ccode\u003eruns.entrypoint\u003c/code\u003e\u003cspan class=\"heading-link-symbol\" aria-hidden=\"true\"\u003e\u003c/span\u003e\u003c/a\u003e\u003c/h3\u003e\n\u003cp\u003e\u003cstrong\u003eOptional\u003c/strong\u003e Overrides the Docker \u003ccode\u003eENTRYPOINT\u003c/code\u003e in the \u003ccode\u003eDockerfile\u003c/code\u003e, or sets it if one wasn't already specified. Use \u003ccode\u003eentrypoint\u003c/code\u003e when the \u003ccode\u003eDockerfile\u003c/code\u003e does not specify an \u003ccode\u003eENTRYPOINT\u003c/code\u003e or you want to override the \u003ccode\u003eENTRYPOINT\u003c/code\u003e instruction. If you omit \u003ccode\u003eentrypoint\u003c/code\u003e, the commands you specify in the Docker \u003ccode\u003eENTRYPOINT\u003c/code\u003e instruction will execute. The Docker \u003ccode\u003eENTRYPOINT\u003c/code\u003e instruction has a \u003cem\u003eshell\u003c/em\u003e form and \u003cem\u003eexec\u003c/em\u003e form. The Docker \u003ccode\u003eENTRYPOINT\u003c/code\u003e documentation recommends using the \u003cem\u003eexec\u003c/em\u003e form of the \u003ccode\u003eENTRYPOINT\u003c/code\u003e instruction.\u003c/p\u003e\n\u003cp\u003eFor more information about how the \u003ccode\u003eentrypoint\u003c/code\u003e executes, see \u003ca href=\"/en/actions/creating-actions/dockerfile-support-for-github-actions#entrypoint\" _originalHref=\"/actions/creating-actions/dockerfile-support-for-github-actions#entrypoint\"\u003eDockerfile support for GitHub Actions\u003c/a\u003e.\u003c/p\u003e\n\u003ch3 id=\"runspost-entrypoint\" tabindex=\"-1\"\u003e\u003ca class=\"heading-link\" href=\"#runspost-entrypoint\"\u003e\u003ccode\u003eruns.post-entrypoint\u003c/code\u003e\u003cspan class=\"heading-link-symbol\" aria-hidden=\"true\"\u003e\u003c/span\u003e\u003c/a\u003e\u003c/h3\u003e\n\u003cp\u003e\u003cstrong\u003eOptional\u003c/strong\u003e Allows you to run a cleanup script once the \u003ccode\u003eruns.entrypoint\u003c/code\u003e action has completed. GitHub Actions uses \u003ccode\u003edocker run\u003c/code\u003e to launch this action. Because GitHub Actions runs the script inside a new container using the same base image, the runtime state is different from the main \u003ccode\u003eentrypoint\u003c/code\u003e container. You can access any state you need in either the workspace, \u003ccode\u003eHOME\u003c/code\u003e, or as a \u003ccode\u003eSTATE_\u003c/code\u003e variable. The \u003ccode\u003epost-entrypoint:\u003c/code\u003e action always runs by default but you can override this using \u003ca href=\"#runspost-if\"\u003e\u003ccode\u003eruns.post-if\u003c/code\u003e\u003c/a\u003e.\u003c/p\u003e\n\u003cpre\u003e\u003ccode class=\"hljs language-yaml\"\u003e\u003cspan class=\"hljs-attr\"\u003eruns:\u003c/span\u003e\n \u003cspan class=\"hljs-attr\"\u003eusing:\u003c/span\u003e \u003cspan class=\"hljs-string\"\u003e'docker'\u003c/span\u003e\n \u003cspan class=\"hljs-attr\"\u003eimage:\u003c/span\u003e \u003cspan class=\"hljs-string\"\u003e'Dockerfile'\u003c/span\u003e\n \u003cspan class=\"hljs-attr\"\u003eargs:\u003c/span\u003e\n \u003cspan class=\"hljs-bullet\"\u003e-\u003c/span\u003e \u003cspan class=\"hljs-string\"\u003e'bzz'\u003c/span\u003e\n \u003cspan class=\"hljs-attr\"\u003eentrypoint:\u003c/span\u003e \u003cspan class=\"hljs-string\"\u003e'main.sh'\u003c/span\u003e\n \u003cspan class=\"hljs-attr\"\u003epost-entrypoint:\u003c/span\u003e \u003cspan class=\"hljs-string\"\u003e'cleanup.sh'\u003c/span\u003e\n\u003c/code\u003e\u003c/pre\u003e\n\u003ch3 id=\"runsargs\" tabindex=\"-1\"\u003e\u003ca class=\"heading-link\" href=\"#runsargs\"\u003e\u003ccode\u003eruns.args\u003c/code\u003e\u003cspan class=\"heading-link-symbol\" aria-hidden=\"true\"\u003e\u003c/span\u003e\u003c/a\u003e\u003c/h3\u003e\n\u003cp\u003e\u003cstrong\u003eOptional\u003c/strong\u003e An array of strings that define the inputs for a Docker container. Inputs can include hardcoded strings. GitHub passes the \u003ccode\u003eargs\u003c/code\u003e to the container's \u003ccode\u003eENTRYPOINT\u003c/code\u003e when the container starts up.\u003c/p\u003e\n\u003cp\u003eThe \u003ccode\u003eargs\u003c/code\u003e are used in place of the \u003ccode\u003eCMD\u003c/code\u003e instruction in a \u003ccode\u003eDockerfile\u003c/code\u003e. If you use \u003ccode\u003eCMD\u003c/code\u003e in your \u003ccode\u003eDockerfile\u003c/code\u003e, use the guidelines ordered by preference:\u003c/p\u003e\n\u003col\u003e\n\u003cli\u003eDocument required arguments in the action's README and omit them from the \u003ccode\u003eCMD\u003c/code\u003e instruction.\u003c/li\u003e\n\u003cli\u003eUse defaults that allow using the action without specifying any \u003ccode\u003eargs\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eIf the action exposes a \u003ccode\u003e--help\u003c/code\u003e flag, or something similar, use that to make your action self-documenting.\u003c/li\u003e\n\u003c/ol\u003e\n\u003cp\u003eIf you need to pass environment variables into an action, make sure your action runs a command shell to perform variable substitution. For example, if your \u003ccode\u003eentrypoint\u003c/code\u003e attribute is set to \u003ccode\u003e\"sh -c\"\u003c/code\u003e, \u003ccode\u003eargs\u003c/code\u003e will be run in a command shell. Alternatively, if your \u003ccode\u003eDockerfile\u003c/code\u003e uses an \u003ccode\u003eENTRYPOINT\u003c/code\u003e to run the same command (\u003ccode\u003e\"sh -c\"\u003c/code\u003e), \u003ccode\u003eargs\u003c/code\u003e will execute in a command shell.\u003c/p\u003e\n\u003cp\u003eFor more information about using the \u003ccode\u003eCMD\u003c/code\u003e instruction with GitHub Actions, see \u003ca href=\"/en/actions/creating-actions/dockerfile-support-for-github-actions#cmd\" _originalHref=\"/actions/creating-actions/dockerfile-support-for-github-actions#cmd\"\u003eDockerfile support for GitHub Actions\u003c/a\u003e.\u003c/p\u003e\n\u003ch4 id=\"example-defining-arguments-for-the-docker-container\" tabindex=\"-1\"\u003e\u003ca class=\"heading-link\" href=\"#example-defining-arguments-for-the-docker-container\"\u003eExample: Defining arguments for the Docker container\u003cspan class=\"heading-link-symbol\" aria-hidden=\"true\"\u003e\u003c/span\u003e\u003c/a\u003e\u003c/h4\u003e\n\u003cpre\u003e\u003ccode class=\"hljs language-yaml\"\u003e\u003cspan class=\"hljs-attr\"\u003eruns:\u003c/span\u003e\n \u003cspan class=\"hljs-attr\"\u003eusing:\u003c/span\u003e \u003cspan class=\"hljs-string\"\u003e'docker'\u003c/span\u003e\n \u003cspan class=\"hljs-attr\"\u003eimage:\u003c/span\u003e \u003cspan class=\"hljs-string\"\u003e'Dockerfile'\u003c/span\u003e\n \u003cspan class=\"hljs-attr\"\u003eargs:\u003c/span\u003e\n \u003cspan class=\"hljs-bullet\"\u003e-\u003c/span\u003e \u003cspan class=\"hljs-string\"\u003e${{\u003c/span\u003e \u003cspan class=\"hljs-string\"\u003einputs.greeting\u003c/span\u003e \u003cspan class=\"hljs-string\"\u003e}}\u003c/span\u003e\n \u003cspan class=\"hljs-bullet\"\u003e-\u003c/span\u003e \u003cspan class=\"hljs-string\"\u003e'foo'\u003c/span\u003e\n \u003cspan class=\"hljs-bullet\"\u003e-\u003c/span\u003e \u003cspan class=\"hljs-string\"\u003e'bar'\u003c/span\u003e\n\u003c/code\u003e\u003c/pre\u003e\n\u003ch2 id=\"branding\" tabindex=\"-1\"\u003e\u003ca class=\"heading-link\" href=\"#branding\"\u003e\u003ccode\u003ebranding\u003c/code\u003e\u003cspan class=\"heading-link-symbol\" aria-hidden=\"true\"\u003e\u003c/span\u003e\u003c/a\u003e\u003c/h2\u003e\n\u003cp\u003e\u003cstrong\u003eOptional\u003c/strong\u003e You can use a color and \u003ca href=\"https://feathericons.com/\"\u003eFeather\u003c/a\u003e icon to create a badge to personalize and distinguish your action. Badges are shown next to your action name in \u003ca href=\"https://github.com/marketplace?type=actions\"\u003eGitHub Marketplace\u003c/a\u003e.\u003c/p\u003e\n\u003ch3 id=\"example-configuring-branding-for-an-action\" tabindex=\"-1\"\u003e\u003ca class=\"heading-link\" href=\"#example-configuring-branding-for-an-action\"\u003eExample: Configuring branding for an action\u003cspan class=\"heading-link-symbol\" aria-hidden=\"true\"\u003e\u003c/span\u003e\u003c/a\u003e\u003c/h3\u003e\n\u003cpre\u003e\u003ccode class=\"hljs language-yaml\"\u003e\u003cspan class=\"hljs-attr\"\u003ebranding:\u003c/span\u003e\n \u003cspan class=\"hljs-attr\"\u003eicon:\u003c/span\u003e \u003cspan class=\"hljs-string\"\u003e'award'\u003c/span\u003e\n \u003cspan class=\"hljs-attr\"\u003ecolor:\u003c/span\u003e \u003cspan class=\"hljs-string\"\u003e'green'\u003c/span\u003e\n\u003c/code\u003e\u003c/pre\u003e\n\u003ch3 id=\"brandingcolor\" tabindex=\"-1\"\u003e\u003ca class=\"heading-link\" href=\"#brandingcolor\"\u003e\u003ccode\u003ebranding.color\u003c/code\u003e\u003cspan class=\"heading-link-symbol\" aria-hidden=\"true\"\u003e\u003c/span\u003e\u003c/a\u003e\u003c/h3\u003e\n\u003cp\u003eThe background color of the badge. Can be one of: \u003ccode\u003ewhite\u003c/code\u003e, \u003ccode\u003eblack\u003c/code\u003e, \u003ccode\u003eyellow\u003c/code\u003e, \u003ccode\u003eblue\u003c/code\u003e, \u003ccode\u003egreen\u003c/code\u003e, \u003ccode\u003eorange\u003c/code\u003e, \u003ccode\u003ered\u003c/code\u003e, \u003ccode\u003epurple\u003c/code\u003e, or \u003ccode\u003egray-dark\u003c/code\u003e.\u003c/p\u003e\n\u003ch3 id=\"brandingicon\" tabindex=\"-1\"\u003e\u003ca class=\"heading-link\" href=\"#brandingicon\"\u003e\u003ccode\u003ebranding.icon\u003c/code\u003e\u003cspan class=\"heading-link-symbol\" aria-hidden=\"true\"\u003e\u003c/span\u003e\u003c/a\u003e\u003c/h3\u003e\n\u003cp\u003eThe name of the v4.28.0 \u003ca href=\"https://feathericons.com/\"\u003eFeather\u003c/a\u003e icon to use.\u003c/p\u003e\n\u003ch4 id=\"omitted-icons\" tabindex=\"-1\"\u003e\u003ca class=\"heading-link\" href=\"#omitted-icons\"\u003eOmitted icons\u003cspan class=\"heading-link-symbol\" aria-hidden=\"true\"\u003e\u003c/span\u003e\u003c/a\u003e\u003c/h4\u003e\n\u003cp\u003eBrand icons, and all the following icons, are omitted.\u003c/p\u003e\n\u003cul style=\"-webkit-column-count: 4; -moz-column-count: 4; column-count: 4;\"\u003e\n\u003cli\u003ecoffee\u003c/li\u003e\n\u003cli\u003ecolumns\u003c/li\u003e\n\u003cli\u003edivide-circle\u003c/li\u003e\n\u003cli\u003edivide-square\u003c/li\u003e\n\u003cli\u003edivide\u003c/li\u003e\n\u003cli\u003efrown\u003c/li\u003e\n\u003cli\u003ehexagon\u003c/li\u003e\n\u003cli\u003ekey\u003c/li\u003e\n\u003cli\u003emeh\u003c/li\u003e\n\u003cli\u003emouse-pointer\u003c/li\u003e\n\u003cli\u003esmile\u003c/li\u003e\n\u003cli\u003etool\u003c/li\u003e\n\u003cli\u003ex-octagon\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch4 id=\"exhaustive-list-of-all-currently-supported-icons\" tabindex=\"-1\"\u003e\u003ca class=\"heading-link\" href=\"#exhaustive-list-of-all-currently-supported-icons\"\u003eExhaustive list of all currently supported icons\u003cspan class=\"heading-link-symbol\" aria-hidden=\"true\"\u003e\u003c/span\u003e\u003c/a\u003e\u003c/h4\u003e\n\u003cul style=\"-webkit-column-count: 4; -moz-column-count: 4; column-count: 4;\"\u003e\n\u003cli\u003eactivity\u003c/li\u003e\n\u003cli\u003eairplay\u003c/li\u003e\n\u003cli\u003ealert-circle\u003c/li\u003e\n\u003cli\u003ealert-octagon\u003c/li\u003e\n\u003cli\u003ealert-triangle\u003c/li\u003e\n\u003cli\u003ealign-center\u003c/li\u003e\n\u003cli\u003ealign-justify\u003c/li\u003e\n\u003cli\u003ealign-left\u003c/li\u003e\n\u003cli\u003ealign-right\u003c/li\u003e\n\u003cli\u003eanchor\u003c/li\u003e\n\u003cli\u003eaperture\u003c/li\u003e\n\u003cli\u003earchive\u003c/li\u003e\n\u003cli\u003earrow-down-circle\u003c/li\u003e\n\u003cli\u003earrow-down-left\u003c/li\u003e\n\u003cli\u003earrow-down-right\u003c/li\u003e\n\u003cli\u003earrow-down\u003c/li\u003e\n\u003cli\u003earrow-left-circle\u003c/li\u003e\n\u003cli\u003earrow-left\u003c/li\u003e\n\u003cli\u003earrow-right-circle\u003c/li\u003e\n\u003cli\u003earrow-right\u003c/li\u003e\n\u003cli\u003earrow-up-circle\u003c/li\u003e\n\u003cli\u003earrow-up-left\u003c/li\u003e\n\u003cli\u003earrow-up-right\u003c/li\u003e\n\u003cli\u003earrow-up\u003c/li\u003e\n\u003cli\u003eat-sign\u003c/li\u003e\n\u003cli\u003eaward\u003c/li\u003e\n\u003cli\u003ebar-chart-2\u003c/li\u003e\n\u003cli\u003ebar-chart\u003c/li\u003e\n\u003cli\u003ebattery-charging\u003c/li\u003e\n\u003cli\u003ebattery\u003c/li\u003e\n\u003cli\u003ebell-off\u003c/li\u003e\n\u003cli\u003ebell\u003c/li\u003e\n\u003cli\u003ebluetooth\u003c/li\u003e\n\u003cli\u003ebold\u003c/li\u003e\n\u003cli\u003ebook-open\u003c/li\u003e\n\u003cli\u003ebook\u003c/li\u003e\n\u003cli\u003ebookmark\u003c/li\u003e\n\u003cli\u003ebox\u003c/li\u003e\n\u003cli\u003ebriefcase\u003c/li\u003e\n\u003cli\u003ecalendar\u003c/li\u003e\n\u003cli\u003ecamera-off\u003c/li\u003e\n\u003cli\u003ecamera\u003c/li\u003e\n\u003cli\u003ecast\u003c/li\u003e\n\u003cli\u003echeck-circle\u003c/li\u003e\n\u003cli\u003echeck-square\u003c/li\u003e\n\u003cli\u003echeck\u003c/li\u003e\n\u003cli\u003echevron-down\u003c/li\u003e\n\u003cli\u003echevron-left\u003c/li\u003e\n\u003cli\u003echevron-right\u003c/li\u003e\n\u003cli\u003echevron-up\u003c/li\u003e\n\u003cli\u003echevrons-down\u003c/li\u003e\n\u003cli\u003echevrons-left\u003c/li\u003e\n\u003cli\u003echevrons-right\u003c/li\u003e\n\u003cli\u003echevrons-up\u003c/li\u003e\n\u003cli\u003ecircle\u003c/li\u003e\n\u003cli\u003eclipboard\u003c/li\u003e\n\u003cli\u003eclock\u003c/li\u003e\n\u003cli\u003ecloud-drizzle\u003c/li\u003e\n\u003cli\u003ecloud-lightning\u003c/li\u003e\n\u003cli\u003ecloud-off\u003c/li\u003e\n\u003cli\u003ecloud-rain\u003c/li\u003e\n\u003cli\u003ecloud-snow\u003c/li\u003e\n\u003cli\u003ecloud\u003c/li\u003e\n\u003cli\u003ecode\u003c/li\u003e\n\u003cli\u003ecommand\u003c/li\u003e\n\u003cli\u003ecompass\u003c/li\u003e\n\u003cli\u003ecopy\u003c/li\u003e\n\u003cli\u003ecorner-down-left\u003c/li\u003e\n\u003cli\u003ecorner-down-right\u003c/li\u003e\n\u003cli\u003ecorner-left-down\u003c/li\u003e\n\u003cli\u003ecorner-left-up\u003c/li\u003e\n\u003cli\u003ecorner-right-down\u003c/li\u003e\n\u003cli\u003ecorner-right-up\u003c/li\u003e\n\u003cli\u003ecorner-up-left\u003c/li\u003e\n\u003cli\u003ecorner-up-right\u003c/li\u003e\n\u003cli\u003ecpu\u003c/li\u003e\n\u003cli\u003ecredit-card\u003c/li\u003e\n\u003cli\u003ecrop\u003c/li\u003e\n\u003cli\u003ecrosshair\u003c/li\u003e\n\u003cli\u003edatabase\u003c/li\u003e\n\u003cli\u003edelete\u003c/li\u003e\n\u003cli\u003edisc\u003c/li\u003e\n\u003cli\u003edollar-sign\u003c/li\u003e\n\u003cli\u003edownload-cloud\u003c/li\u003e\n\u003cli\u003edownload\u003c/li\u003e\n\u003cli\u003edroplet\u003c/li\u003e\n\u003cli\u003eedit-2\u003c/li\u003e\n\u003cli\u003eedit-3\u003c/li\u003e\n\u003cli\u003eedit\u003c/li\u003e\n\u003cli\u003eexternal-link\u003c/li\u003e\n\u003cli\u003eeye-off\u003c/li\u003e\n\u003cli\u003eeye\u003c/li\u003e\n\u003cli\u003efast-forward\u003c/li\u003e\n\u003cli\u003efeather\u003c/li\u003e\n\u003cli\u003efile-minus\u003c/li\u003e\n\u003cli\u003efile-plus\u003c/li\u003e\n\u003cli\u003efile-text\u003c/li\u003e\n\u003cli\u003efile\u003c/li\u003e\n\u003cli\u003efilm\u003c/li\u003e\n\u003cli\u003efilter\u003c/li\u003e\n\u003cli\u003eflag\u003c/li\u003e\n\u003cli\u003efolder-minus\u003c/li\u003e\n\u003cli\u003efolder-plus\u003c/li\u003e\n\u003cli\u003efolder\u003c/li\u003e\n\u003cli\u003egift\u003c/li\u003e\n\u003cli\u003egit-branch\u003c/li\u003e\n\u003cli\u003egit-commit\u003c/li\u003e\n\u003cli\u003egit-merge\u003c/li\u003e\n\u003cli\u003egit-pull-request\u003c/li\u003e\n\u003cli\u003eglobe\u003c/li\u003e\n\u003cli\u003egrid\u003c/li\u003e\n\u003cli\u003ehard-drive\u003c/li\u003e\n\u003cli\u003ehash\u003c/li\u003e\n\u003cli\u003eheadphones\u003c/li\u003e\n\u003cli\u003eheart\u003c/li\u003e\n\u003cli\u003ehelp-circle\u003c/li\u003e\n\u003cli\u003ehome\u003c/li\u003e\n\u003cli\u003eimage\u003c/li\u003e\n\u003cli\u003einbox\u003c/li\u003e\n\u003cli\u003einfo\u003c/li\u003e\n\u003cli\u003eitalic\u003c/li\u003e\n\u003cli\u003elayers\u003c/li\u003e\n\u003cli\u003elayout\u003c/li\u003e\n\u003cli\u003elife-buoy\u003c/li\u003e\n\u003cli\u003elink-2\u003c/li\u003e\n\u003cli\u003elink\u003c/li\u003e\n\u003cli\u003elist\u003c/li\u003e\n\u003cli\u003eloader\u003c/li\u003e\n\u003cli\u003elock\u003c/li\u003e\n\u003cli\u003elog-in\u003c/li\u003e\n\u003cli\u003elog-out\u003c/li\u003e\n\u003cli\u003email\u003c/li\u003e\n\u003cli\u003emap-pin\u003c/li\u003e\n\u003cli\u003emap\u003c/li\u003e\n\u003cli\u003emaximize-2\u003c/li\u003e\n\u003cli\u003emaximize\u003c/li\u003e\n\u003cli\u003emenu\u003c/li\u003e\n\u003cli\u003emessage-circle\u003c/li\u003e\n\u003cli\u003emessage-square\u003c/li\u003e\n\u003cli\u003emic-off\u003c/li\u003e\n\u003cli\u003emic\u003c/li\u003e\n\u003cli\u003eminimize-2\u003c/li\u003e\n\u003cli\u003eminimize\u003c/li\u003e\n\u003cli\u003eminus-circle\u003c/li\u003e\n\u003cli\u003eminus-square\u003c/li\u003e\n\u003cli\u003eminus\u003c/li\u003e\n\u003cli\u003emonitor\u003c/li\u003e\n\u003cli\u003emoon\u003c/li\u003e\n\u003cli\u003emore-horizontal\u003c/li\u003e\n\u003cli\u003emore-vertical\u003c/li\u003e\n\u003cli\u003emove\u003c/li\u003e\n\u003cli\u003emusic\u003c/li\u003e\n\u003cli\u003enavigation-2\u003c/li\u003e\n\u003cli\u003enavigation\u003c/li\u003e\n\u003cli\u003eoctagon\u003c/li\u003e\n\u003cli\u003epackage\u003c/li\u003e\n\u003cli\u003epaperclip\u003c/li\u003e\n\u003cli\u003epause-circle\u003c/li\u003e\n\u003cli\u003epause\u003c/li\u003e\n\u003cli\u003epercent\u003c/li\u003e\n\u003cli\u003ephone-call\u003c/li\u003e\n\u003cli\u003ephone-forwarded\u003c/li\u003e\n\u003cli\u003ephone-incoming\u003c/li\u003e\n\u003cli\u003ephone-missed\u003c/li\u003e\n\u003cli\u003ephone-off\u003c/li\u003e\n\u003cli\u003ephone-outgoing\u003c/li\u003e\n\u003cli\u003ephone\u003c/li\u003e\n\u003cli\u003epie-chart\u003c/li\u003e\n\u003cli\u003eplay-circle\u003c/li\u003e\n\u003cli\u003eplay\u003c/li\u003e\n\u003cli\u003eplus-circle\u003c/li\u003e\n\u003cli\u003eplus-square\u003c/li\u003e\n\u003cli\u003eplus\u003c/li\u003e\n\u003cli\u003epocket\u003c/li\u003e\n\u003cli\u003epower\u003c/li\u003e\n\u003cli\u003eprinter\u003c/li\u003e\n\u003cli\u003eradio\u003c/li\u003e\n\u003cli\u003erefresh-ccw\u003c/li\u003e\n\u003cli\u003erefresh-cw\u003c/li\u003e\n\u003cli\u003erepeat\u003c/li\u003e\n\u003cli\u003erewind\u003c/li\u003e\n\u003cli\u003erotate-ccw\u003c/li\u003e\n\u003cli\u003erotate-cw\u003c/li\u003e\n\u003cli\u003erss\u003c/li\u003e\n\u003cli\u003esave\u003c/li\u003e\n\u003cli\u003escissors\u003c/li\u003e\n\u003cli\u003esearch\u003c/li\u003e\n\u003cli\u003esend\u003c/li\u003e\n\u003cli\u003eserver\u003c/li\u003e\n\u003cli\u003esettings\u003c/li\u003e\n\u003cli\u003eshare-2\u003c/li\u003e\n\u003cli\u003eshare\u003c/li\u003e\n\u003cli\u003eshield-off\u003c/li\u003e\n\u003cli\u003eshield\u003c/li\u003e\n\u003cli\u003eshopping-bag\u003c/li\u003e\n\u003cli\u003eshopping-cart\u003c/li\u003e\n\u003cli\u003eshuffle\u003c/li\u003e\n\u003cli\u003esidebar\u003c/li\u003e\n\u003cli\u003eskip-back\u003c/li\u003e\n\u003cli\u003eskip-forward\u003c/li\u003e\n\u003cli\u003eslash\u003c/li\u003e\n\u003cli\u003esliders\u003c/li\u003e\n\u003cli\u003esmartphone\u003c/li\u003e\n\u003cli\u003espeaker\u003c/li\u003e\n\u003cli\u003esquare\u003c/li\u003e\n\u003cli\u003estar\u003c/li\u003e\n\u003cli\u003estop-circle\u003c/li\u003e\n\u003cli\u003esun\u003c/li\u003e\n\u003cli\u003esunrise\u003c/li\u003e\n\u003cli\u003esunset\u003c/li\u003e\n\u003cli\u003etable\u003c/li\u003e\n\u003cli\u003etablet\u003c/li\u003e\n\u003cli\u003etag\u003c/li\u003e\n\u003cli\u003etarget\u003c/li\u003e\n\u003cli\u003eterminal\u003c/li\u003e\n\u003cli\u003ethermometer\u003c/li\u003e\n\u003cli\u003ethumbs-down\u003c/li\u003e\n\u003cli\u003ethumbs-up\u003c/li\u003e\n\u003cli\u003etoggle-left\u003c/li\u003e\n\u003cli\u003etoggle-right\u003c/li\u003e\n\u003cli\u003etrash-2\u003c/li\u003e\n\u003cli\u003etrash\u003c/li\u003e\n\u003cli\u003etrending-down\u003c/li\u003e\n\u003cli\u003etrending-up\u003c/li\u003e\n\u003cli\u003etriangle\u003c/li\u003e\n\u003cli\u003etruck\u003c/li\u003e\n\u003cli\u003etv\u003c/li\u003e\n\u003cli\u003etype\u003c/li\u003e\n\u003cli\u003eumbrella\u003c/li\u003e\n\u003cli\u003eunderline\u003c/li\u003e\n\u003cli\u003eunlock\u003c/li\u003e\n\u003cli\u003eupload-cloud\u003c/li\u003e\n\u003cli\u003eupload\u003c/li\u003e\n\u003cli\u003euser-check\u003c/li\u003e\n\u003cli\u003euser-minus\u003c/li\u003e\n\u003cli\u003euser-plus\u003c/li\u003e\n\u003cli\u003euser-x\u003c/li\u003e\n\u003cli\u003euser\u003c/li\u003e\n\u003cli\u003eusers\u003c/li\u003e\n\u003cli\u003evideo-off\u003c/li\u003e\n\u003cli\u003evideo\u003c/li\u003e\n\u003cli\u003evoicemail\u003c/li\u003e\n\u003cli\u003evolume-1\u003c/li\u003e\n\u003cli\u003evolume-2\u003c/li\u003e\n\u003cli\u003evolume-x\u003c/li\u003e\n\u003cli\u003evolume\u003c/li\u003e\n\u003cli\u003ewatch\u003c/li\u003e\n\u003cli\u003ewifi-off\u003c/li\u003e\n\u003cli\u003ewifi\u003c/li\u003e\n\u003cli\u003ewind\u003c/li\u003e\n\u003cli\u003ex-circle\u003c/li\u003e\n\u003cli\u003ex-square\u003c/li\u003e\n\u003cli\u003ex\u003c/li\u003e\n\u003cli\u003ezap-off\u003c/li\u003e\n\u003cli\u003ezap\u003c/li\u003e\n\u003cli\u003ezoom-in\u003c/li\u003e\n\u003cli\u003ezoom-out\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2 id=\"changing-the-metadata-file-name\" tabindex=\"-1\"\u003e\u003ca class=\"heading-link\" href=\"#changing-the-metadata-file-name\"\u003eChanging the metadata file name\u003cspan class=\"heading-link-symbol\" aria-hidden=\"true\"\u003e\u003c/span\u003e\u003c/a\u003e\u003c/h2\u003e\n\u003cp\u003eWhile the actions metadata file supports both YAML formats, changing the metadata file name (from \u003ccode\u003eaction.yml\u003c/code\u003e to \u003ccode\u003eaction.yaml\u003c/code\u003e or vice versa) between releases will affect previous release versions that have been published to GitHub Marketplace. Changing the file name will hide all release versions associated with the previous file name from GitHub Marketplace. Previous release versions will still be accessible to users through the source repository.\u003c/p\u003e\n\u003cp\u003eWhen releasing new versions of actions, only versions released after the metadata file name change will have the GitHub Marketplace tag and will show up on GitHub Marketplace\u003c/p\u003e","miniTocItems":[{"contents":{"href":"#about-yaml-syntax-for-github-actions","title":"About YAML syntax for GitHub Actions"}},{"contents":{"href":"#name","title":"name"}},{"contents":{"href":"#author","title":"author"}},{"contents":{"href":"#description","title":"description"}},{"contents":{"href":"#inputs","title":"inputs"}},{"contents":{"href":"#outputs-for-docker-container-and-javascript-actions","title":"outputs for Docker container and JavaScript actions"}},{"contents":{"href":"#outputs-for-composite-actions","title":"outputs for composite actions"}},{"contents":{"href":"#runs","title":"runs"}},{"contents":{"href":"#runs-for-javascript-actions","title":"runs for JavaScript actions"}},{"contents":{"href":"#runs-for-composite-actions","title":"runs for composite actions"}},{"contents":{"href":"#runs-for-docker-container-actions","title":"runs for Docker container actions"}},{"contents":{"href":"#branding","title":"branding"}},{"contents":{"href":"#changing-the-metadata-file-name","title":"Changing the metadata file name"}}],"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":["sharing-automations","creating-actions","metadata-syntax-for-github-actions"]},"buildId":"8wY6FDH1_8A6cg3AMJ9pd","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>