Merge branch 'main' into update-powershell-usage
2
.github/workflows/browser-test.yml
vendored
@@ -27,7 +27,7 @@ jobs:
|
||||
- name: Setup Node
|
||||
uses: actions/setup-node@270253e841af726300e85d718a5f606959b2903c
|
||||
with:
|
||||
node-version: 16.8.x
|
||||
node-version: 16.13.x
|
||||
cache: npm
|
||||
|
||||
- name: Install dependencies
|
||||
|
||||
@@ -26,7 +26,7 @@ jobs:
|
||||
- name: Setup Node
|
||||
uses: actions/setup-node@270253e841af726300e85d718a5f606959b2903c
|
||||
with:
|
||||
node-version: 16.8.x
|
||||
node-version: 16.13.x
|
||||
cache: npm
|
||||
- name: npm ci
|
||||
run: npm ci
|
||||
|
||||
@@ -41,7 +41,7 @@ jobs:
|
||||
- name: Setup Node
|
||||
uses: actions/setup-node@270253e841af726300e85d718a5f606959b2903c
|
||||
with:
|
||||
node-version: 16.8.x
|
||||
node-version: 16.13.x
|
||||
cache: npm
|
||||
|
||||
- name: Install Node.js dependencies
|
||||
|
||||
@@ -43,7 +43,7 @@ jobs:
|
||||
- name: Setup Node
|
||||
uses: actions/setup-node@270253e841af726300e85d718a5f606959b2903c
|
||||
with:
|
||||
node-version: 16.8.x
|
||||
node-version: 16.13.x
|
||||
cache: npm
|
||||
|
||||
- name: Install temporary dependencies
|
||||
|
||||
2
.github/workflows/crowdin-cleanup.yml
vendored
@@ -23,7 +23,7 @@ jobs:
|
||||
- name: Setup Node
|
||||
uses: actions/setup-node@270253e841af726300e85d718a5f606959b2903c
|
||||
with:
|
||||
node-version: 16.8.x
|
||||
node-version: 16.13.x
|
||||
cache: npm
|
||||
|
||||
- name: Install dependencies
|
||||
|
||||
2
.github/workflows/docs-review-collect.yml
vendored
@@ -25,7 +25,7 @@ jobs:
|
||||
- name: Setup Node
|
||||
uses: actions/setup-node@270253e841af726300e85d718a5f606959b2903c
|
||||
with:
|
||||
node-version: 16.8.x
|
||||
node-version: 16.13.x
|
||||
cache: npm
|
||||
|
||||
- name: Install dependencies
|
||||
|
||||
2
.github/workflows/enterprise-dates.yml
vendored
@@ -37,7 +37,7 @@ jobs:
|
||||
- name: Setup Node
|
||||
uses: actions/setup-node@270253e841af726300e85d718a5f606959b2903c
|
||||
with:
|
||||
node-version: 16.8.x
|
||||
node-version: 16.13.x
|
||||
cache: npm
|
||||
|
||||
- name: Install Node.js dependencies
|
||||
|
||||
@@ -44,7 +44,7 @@ jobs:
|
||||
- name: Setup Node
|
||||
uses: actions/setup-node@270253e841af726300e85d718a5f606959b2903c
|
||||
with:
|
||||
node-version: 16.8.x
|
||||
node-version: 16.13.x
|
||||
cache: npm
|
||||
|
||||
- name: Install dependencies
|
||||
|
||||
5
.github/workflows/js-lint.yml
vendored
@@ -21,7 +21,7 @@ jobs:
|
||||
- name: Setup node
|
||||
uses: actions/setup-node@270253e841af726300e85d718a5f606959b2903c
|
||||
with:
|
||||
node-version: 16.8.x
|
||||
node-version: 16.13.x
|
||||
cache: npm
|
||||
|
||||
- name: Install dependencies
|
||||
@@ -29,3 +29,6 @@ jobs:
|
||||
|
||||
- name: Run linter
|
||||
run: npm run lint
|
||||
|
||||
- name: Run TypeScript
|
||||
run: npm run tsc
|
||||
|
||||
2
.github/workflows/link-check-dotcom.yml
vendored
@@ -23,7 +23,7 @@ jobs:
|
||||
- name: Setup node
|
||||
uses: actions/setup-node@270253e841af726300e85d718a5f606959b2903c
|
||||
with:
|
||||
node-version: 16.8.x
|
||||
node-version: 16.13.x
|
||||
cache: npm
|
||||
|
||||
- name: Install
|
||||
|
||||
2
.github/workflows/link-check-ghae.yml
vendored
@@ -23,7 +23,7 @@ jobs:
|
||||
- name: Setup node
|
||||
uses: actions/setup-node@270253e841af726300e85d718a5f606959b2903c
|
||||
with:
|
||||
node-version: 16.8.x
|
||||
node-version: 16.13.x
|
||||
cache: npm
|
||||
|
||||
- name: Install
|
||||
|
||||
2
.github/workflows/link-check-ghec.yml
vendored
@@ -21,7 +21,7 @@ jobs:
|
||||
- name: Setup node
|
||||
uses: actions/setup-node@270253e841af726300e85d718a5f606959b2903c
|
||||
with:
|
||||
node-version: 16.8.x
|
||||
node-version: 16.13.x
|
||||
cache: npm
|
||||
|
||||
- name: Install
|
||||
|
||||
2
.github/workflows/link-check-ghes.yml
vendored
@@ -23,7 +23,7 @@ jobs:
|
||||
- name: Setup node
|
||||
uses: actions/setup-node@270253e841af726300e85d718a5f606959b2903c
|
||||
with:
|
||||
node-version: 16.8.x
|
||||
node-version: 16.13.x
|
||||
cache: npm
|
||||
|
||||
- name: Install
|
||||
|
||||
2
.github/workflows/open-enterprise-issue.yml
vendored
@@ -21,7 +21,7 @@ jobs:
|
||||
- name: Setup Node
|
||||
uses: actions/setup-node@270253e841af726300e85d718a5f606959b2903c
|
||||
with:
|
||||
node-version: 16.8.x
|
||||
node-version: 16.13.x
|
||||
cache: npm
|
||||
|
||||
- name: Install dependencies
|
||||
|
||||
2
.github/workflows/openapi-decorate.yml
vendored
@@ -31,7 +31,7 @@ jobs:
|
||||
- name: Setup node
|
||||
uses: actions/setup-node@270253e841af726300e85d718a5f606959b2903c
|
||||
with:
|
||||
node-version: 16.8.x
|
||||
node-version: 16.13.x
|
||||
cache: npm
|
||||
|
||||
- name: Install dependencies
|
||||
|
||||
2
.github/workflows/openapi-schema-check.yml
vendored
@@ -34,7 +34,7 @@ jobs:
|
||||
- name: Setup node
|
||||
uses: actions/setup-node@270253e841af726300e85d718a5f606959b2903c
|
||||
with:
|
||||
node-version: 16.8.x
|
||||
node-version: 16.13.x
|
||||
cache: npm
|
||||
|
||||
- name: Install dependencies
|
||||
|
||||
2
.github/workflows/pa11y.yml
vendored
@@ -19,7 +19,7 @@ jobs:
|
||||
- name: Setup Node
|
||||
uses: actions/setup-node@270253e841af726300e85d718a5f606959b2903c
|
||||
with:
|
||||
node-version: 16.8.x
|
||||
node-version: 16.13.x
|
||||
cache: npm
|
||||
|
||||
- name: Install dependencies
|
||||
|
||||
2
.github/workflows/ping-staging-apps.yml
vendored
@@ -20,7 +20,7 @@ jobs:
|
||||
- name: Setup node
|
||||
uses: actions/setup-node@270253e841af726300e85d718a5f606959b2903c
|
||||
with:
|
||||
node-version: 16.8.x
|
||||
node-version: 16.13.x
|
||||
cache: npm
|
||||
- name: npm ci
|
||||
run: npm ci
|
||||
|
||||
2
.github/workflows/prod-build-deploy.yml
vendored
@@ -36,7 +36,7 @@ jobs:
|
||||
- name: Setup node
|
||||
uses: actions/setup-node@270253e841af726300e85d718a5f606959b2903c
|
||||
with:
|
||||
node-version: 16.8.x
|
||||
node-version: 16.13.x
|
||||
cache: npm
|
||||
|
||||
# Required for `npm pkg ...` command support
|
||||
|
||||
2
.github/workflows/ready-for-doc-review.yml
vendored
@@ -20,7 +20,7 @@ jobs:
|
||||
- name: Setup Node
|
||||
uses: actions/setup-node@270253e841af726300e85d718a5f606959b2903c
|
||||
with:
|
||||
node-version: 16.8.x
|
||||
node-version: 16.13.x
|
||||
cache: npm
|
||||
|
||||
- name: Install dependencies
|
||||
|
||||
@@ -29,7 +29,7 @@ jobs:
|
||||
- name: Setup Node
|
||||
uses: actions/setup-node@270253e841af726300e85d718a5f606959b2903c
|
||||
with:
|
||||
node-version: 16.8.x
|
||||
node-version: 16.13.x
|
||||
cache: npm
|
||||
|
||||
- name: Install dependencies
|
||||
@@ -51,7 +51,7 @@ jobs:
|
||||
- name: Setup Node
|
||||
uses: actions/setup-node@270253e841af726300e85d718a5f606959b2903c
|
||||
with:
|
||||
node-version: 16.8.x
|
||||
node-version: 16.13.x
|
||||
cache: npm
|
||||
|
||||
- name: Install dependencies
|
||||
|
||||
2
.github/workflows/remove-unused-assets.yml
vendored
@@ -26,7 +26,7 @@ jobs:
|
||||
- name: Setup Node
|
||||
uses: actions/setup-node@270253e841af726300e85d718a5f606959b2903c
|
||||
with:
|
||||
node-version: 16.8.x
|
||||
node-version: 16.13.x
|
||||
cache: npm
|
||||
- name: npm ci
|
||||
run: npm ci
|
||||
|
||||
2
.github/workflows/repo-sync.yml
vendored
@@ -100,7 +100,7 @@ jobs:
|
||||
- name: Setup node
|
||||
uses: actions/setup-node@270253e841af726300e85d718a5f606959b2903c
|
||||
with:
|
||||
node-version: 16.8.x
|
||||
node-version: 16.13.x
|
||||
cache: npm
|
||||
- name: Install dependencies
|
||||
run: npm ci
|
||||
|
||||
2
.github/workflows/staging-build-pr.yml
vendored
@@ -77,7 +77,7 @@ jobs:
|
||||
- name: Setup node
|
||||
uses: actions/setup-node@270253e841af726300e85d718a5f606959b2903c
|
||||
with:
|
||||
node-version: 16.8.x
|
||||
node-version: 16.13.x
|
||||
cache: npm
|
||||
|
||||
# Required for `npm pkg ...` command support
|
||||
|
||||
7
.github/workflows/staging-deploy-pr.yml
vendored
@@ -291,11 +291,10 @@ jobs:
|
||||
- name: Check out LFS objects
|
||||
run: git lfs checkout
|
||||
|
||||
- if: ${{ github.repository == 'github/docs-internal' }}
|
||||
name: Setup node to clone early access
|
||||
- name: Setup node
|
||||
uses: actions/setup-node@270253e841af726300e85d718a5f606959b2903c
|
||||
with:
|
||||
node-version: 16.8.x
|
||||
node-version: 16.13.x
|
||||
cache: npm
|
||||
|
||||
# Install any dependencies that are needed for the early access script
|
||||
@@ -470,7 +469,7 @@ jobs:
|
||||
- name: Setup node
|
||||
uses: actions/setup-node@270253e841af726300e85d718a5f606959b2903c
|
||||
with:
|
||||
node-version: 16.8.x
|
||||
node-version: 16.13.x
|
||||
cache: npm
|
||||
|
||||
- name: Install dependencies
|
||||
|
||||
2
.github/workflows/staging-undeploy-pr.yml
vendored
@@ -63,7 +63,7 @@ jobs:
|
||||
- name: Setup node
|
||||
uses: actions/setup-node@270253e841af726300e85d718a5f606959b2903c
|
||||
with:
|
||||
node-version: 16.8.x
|
||||
node-version: 16.13.x
|
||||
cache: npm
|
||||
|
||||
- name: Install dependencies
|
||||
|
||||
2
.github/workflows/sync-search-indices.yml
vendored
@@ -55,7 +55,7 @@ jobs:
|
||||
- name: Setup Node
|
||||
uses: actions/setup-node@270253e841af726300e85d718a5f606959b2903c
|
||||
with:
|
||||
node-version: 16.8.x
|
||||
node-version: 16.13.x
|
||||
cache: npm
|
||||
|
||||
- name: Install dependencies
|
||||
|
||||
2
.github/workflows/test-windows.yml
vendored
@@ -44,7 +44,7 @@ jobs:
|
||||
- name: Setup node
|
||||
uses: actions/setup-node@270253e841af726300e85d718a5f606959b2903c
|
||||
with:
|
||||
node-version: 16.8.x
|
||||
node-version: 16.13.x
|
||||
cache: npm
|
||||
|
||||
- name: Install dependencies
|
||||
|
||||
2
.github/workflows/test.yml
vendored
@@ -49,7 +49,7 @@ jobs:
|
||||
- name: Setup node
|
||||
uses: actions/setup-node@270253e841af726300e85d718a5f606959b2903c
|
||||
with:
|
||||
node-version: 16.8.x
|
||||
node-version: 16.13.x
|
||||
cache: npm
|
||||
|
||||
- name: Install dependencies
|
||||
|
||||
@@ -62,7 +62,7 @@ jobs:
|
||||
- name: Setup Node
|
||||
uses: actions/setup-node@270253e841af726300e85d718a5f606959b2903c
|
||||
with:
|
||||
node-version: 16.8.x
|
||||
node-version: 16.13.x
|
||||
cache: npm
|
||||
|
||||
- name: Install dependencies
|
||||
|
||||
2
.github/workflows/update-graphql-files.yml
vendored
@@ -32,7 +32,7 @@ jobs:
|
||||
- name: Setup Node
|
||||
uses: actions/setup-node@270253e841af726300e85d718a5f606959b2903c
|
||||
with:
|
||||
node-version: 16.8.x
|
||||
node-version: 16.13.x
|
||||
cache: npm
|
||||
- name: Install Node.js dependencies
|
||||
run: npm ci
|
||||
|
||||
2
.github/workflows/yml-lint.yml
vendored
@@ -27,7 +27,7 @@ jobs:
|
||||
- name: Setup node
|
||||
uses: actions/setup-node@270253e841af726300e85d718a5f606959b2903c
|
||||
with:
|
||||
node-version: 16.8.x
|
||||
node-version: 16.13.x
|
||||
cache: npm
|
||||
|
||||
- name: Install dependencies
|
||||
|
||||
|
After Width: | Height: | Size: 22 KiB |
|
After Width: | Height: | Size: 18 KiB |
BIN
assets/images/help/codespaces/codespaces-insiders-vscode.png
Normal file
|
After Width: | Height: | Size: 39 KiB |
|
Before Width: | Height: | Size: 12 KiB |
|
Before Width: | Height: | Size: 12 KiB After Width: | Height: | Size: 19 KiB |
BIN
assets/images/help/teams/review-button.png
Normal file
|
After Width: | Height: | Size: 12 KiB |
@@ -11,6 +11,10 @@
|
||||
border-bottom: 1px solid currentColor;
|
||||
}
|
||||
|
||||
.searchResultContent {
|
||||
max-height: 4rem;
|
||||
}
|
||||
|
||||
.searchResultContent mark {
|
||||
text-decoration: none;
|
||||
border-bottom: 1px dotted currentColor;
|
||||
|
||||
@@ -14,9 +14,10 @@ import styles from './Search.module.scss'
|
||||
type SearchResult = {
|
||||
url: string
|
||||
breadcrumbs: string
|
||||
heading: string
|
||||
title: string
|
||||
content: string
|
||||
score: number
|
||||
popularity: number
|
||||
}
|
||||
|
||||
type Props = {
|
||||
@@ -56,6 +57,10 @@ export function Search({
|
||||
}
|
||||
}, [])
|
||||
|
||||
useEffect(() => {
|
||||
closeSearch()
|
||||
}, [currentVersion, language])
|
||||
|
||||
// Search with your keyboard
|
||||
useEffect(() => {
|
||||
document.addEventListener('keydown', searchWithYourKeyboard)
|
||||
@@ -191,6 +196,7 @@ export function Search({
|
||||
activeHit={activeHit}
|
||||
setActiveHit={setActiveHit}
|
||||
onGotoResult={onGotoResult}
|
||||
debug={'debug' in router.query}
|
||||
/>
|
||||
</div>
|
||||
{/* eslint-disable-next-line jsx-a11y/click-events-have-key-events, jsx-a11y/no-static-element-interactions */}
|
||||
@@ -260,6 +266,7 @@ function ShowSearchResults({
|
||||
activeHit,
|
||||
setActiveHit,
|
||||
onGotoResult,
|
||||
debug,
|
||||
}: {
|
||||
isOverlay: boolean
|
||||
isLoading: boolean
|
||||
@@ -267,6 +274,7 @@ function ShowSearchResults({
|
||||
activeHit: number
|
||||
setActiveHit: (index: number) => void
|
||||
onGotoResult: (url: string, index: number) => void
|
||||
debug: boolean
|
||||
}) {
|
||||
const { t } = useTranslation('search')
|
||||
|
||||
@@ -290,7 +298,7 @@ function ShowSearchResults({
|
||||
// When there are search results, it doesn't matter if this is overlay or not.
|
||||
return (
|
||||
<ol data-testid="search-results" className="d-block mt-4">
|
||||
{results.map(({ url, breadcrumbs, heading, title, content }, index) => {
|
||||
{results.map(({ url, breadcrumbs, title, content, score, popularity }, index) => {
|
||||
const isActive = index === activeHit
|
||||
return (
|
||||
<li
|
||||
@@ -316,17 +324,27 @@ function ShowSearchResults({
|
||||
className={'d-block opacity-60 text-small pb-1'}
|
||||
dangerouslySetInnerHTML={{ __html: breadcrumbs }}
|
||||
/>
|
||||
{debug && (
|
||||
<small className="float-right">
|
||||
score: {score.toFixed(4)} popularity: {popularity.toFixed(4)}
|
||||
</small>
|
||||
)}
|
||||
<div
|
||||
className={cx(styles.searchResultTitle, 'd-block f4 text-semibold')}
|
||||
dangerouslySetInnerHTML={{
|
||||
__html: heading ? `${title}: ${heading}` : title,
|
||||
__html: title,
|
||||
}}
|
||||
/>
|
||||
{content ? (
|
||||
<div
|
||||
className={cx(styles.searchResultContent, 'd-block overflow-hidden')}
|
||||
style={{ maxHeight: '4rem' }}
|
||||
dangerouslySetInnerHTML={{ __html: content }}
|
||||
/>
|
||||
) : (
|
||||
<div className={cx(styles.searchResultContent, 'd-block overflow-hidden')}>
|
||||
<i>{t('no_content')}</i>
|
||||
</div>
|
||||
)}
|
||||
</a>
|
||||
</div>
|
||||
</li>
|
||||
|
||||
@@ -72,7 +72,11 @@ export const ArticlePage = () => {
|
||||
</Callout>
|
||||
)}
|
||||
|
||||
{intro && <Lead data-testid="lead">{intro}</Lead>}
|
||||
{intro && (
|
||||
<Lead data-testid="lead" data-search="lead">
|
||||
{intro}
|
||||
</Lead>
|
||||
)}
|
||||
|
||||
{permissions && (
|
||||
<div className="permissions-statement d-table">
|
||||
|
||||
@@ -28,7 +28,7 @@ export const LandingHero = () => {
|
||||
{beta_product && <span className="Label Label--success v-align-middle">Beta</span>}
|
||||
</h1>
|
||||
|
||||
{intro && <Lead>{intro}</Lead>}
|
||||
{intro && <Lead data-search="lead">{intro}</Lead>}
|
||||
|
||||
{introLinks &&
|
||||
Object.entries(introLinks)
|
||||
|
||||
@@ -29,7 +29,7 @@ export const TocLanding = () => {
|
||||
<ArticleGridLayout>
|
||||
<ArticleTitle>{title}</ArticleTitle>
|
||||
|
||||
{introPlainText && <Lead>{introPlainText}</Lead>}
|
||||
{introPlainText && <Lead data-search="lead">{introPlainText}</Lead>}
|
||||
|
||||
{productCallout && (
|
||||
<Callout variant="success" dangerouslySetInnerHTML={{ __html: productCallout }} />
|
||||
|
||||
@@ -53,12 +53,15 @@ export const Header = () => {
|
||||
className="d-none d-lg-flex flex-justify-end flex-items-center flex-wrap flex-xl-nowrap"
|
||||
data-testid="desktop-header"
|
||||
>
|
||||
<div className={cx('mr-auto width-full width-xl-auto', scroll && styles.breadcrumbs)}>
|
||||
<div
|
||||
className={cx('mr-auto width-full width-xl-auto', scroll && styles.breadcrumbs)}
|
||||
data-search="breadcrumbs"
|
||||
>
|
||||
<Breadcrumbs />
|
||||
</div>
|
||||
|
||||
<div className="mr-2">
|
||||
<VersionPicker hideLabel={true} variant="compact" />
|
||||
<VersionPicker variant="compact" />
|
||||
</div>
|
||||
|
||||
<LanguagePicker />
|
||||
|
||||
@@ -9,7 +9,7 @@ import { useVersion } from 'components/hooks/useVersion'
|
||||
import { useTranslation } from 'components/hooks/useTranslation'
|
||||
|
||||
type Props = {
|
||||
variant?: 'inline'
|
||||
variant?: 'inline' | 'compact'
|
||||
}
|
||||
export const VersionPicker = ({ variant }: Props) => {
|
||||
const router = useRouter()
|
||||
|
||||
@@ -213,7 +213,7 @@ const article: PlaygroundArticleT = {
|
||||
codeBlocks: {
|
||||
'0': {
|
||||
language: 'yaml',
|
||||
fileName: '.github/workflow/example.yml',
|
||||
fileName: '.github/workflows/example.yml',
|
||||
code: dedent`
|
||||
name: Python package
|
||||
|
||||
@@ -251,7 +251,7 @@ const article: PlaygroundArticleT = {
|
||||
},
|
||||
'1': {
|
||||
language: 'yaml',
|
||||
fileName: '.github/workflow/example.yml',
|
||||
fileName: '.github/workflows/example.yml',
|
||||
code: dedent`
|
||||
name: Python package
|
||||
|
||||
@@ -280,7 +280,7 @@ const article: PlaygroundArticleT = {
|
||||
},
|
||||
'2': {
|
||||
language: 'yaml',
|
||||
fileName: '.github/workflow/example.yml',
|
||||
fileName: '.github/workflows/example.yml',
|
||||
code: dedent`
|
||||
name: Python package
|
||||
|
||||
@@ -307,7 +307,7 @@ const article: PlaygroundArticleT = {
|
||||
},
|
||||
'3': {
|
||||
language: 'yaml',
|
||||
fileName: '.github/workflow/example.yml',
|
||||
fileName: '.github/workflows/example.yml',
|
||||
code: dedent`
|
||||
name: Python package
|
||||
|
||||
@@ -330,7 +330,7 @@ const article: PlaygroundArticleT = {
|
||||
},
|
||||
'4': {
|
||||
language: 'yaml',
|
||||
fileName: '.github/workflow/example.yml',
|
||||
fileName: '.github/workflows/example.yml',
|
||||
code: dedent`
|
||||
name: Python package
|
||||
|
||||
@@ -352,7 +352,7 @@ const article: PlaygroundArticleT = {
|
||||
},
|
||||
'5': {
|
||||
language: 'yaml',
|
||||
fileName: '.github/workflow/example.yml',
|
||||
fileName: '.github/workflows/example.yml',
|
||||
code: dedent`
|
||||
name: Python package
|
||||
|
||||
@@ -376,7 +376,7 @@ const article: PlaygroundArticleT = {
|
||||
},
|
||||
'6': {
|
||||
language: 'yaml',
|
||||
fileName: '.github/workflow/example.yml',
|
||||
fileName: '.github/workflows/example.yml',
|
||||
code: dedent`
|
||||
name: Python package
|
||||
|
||||
@@ -408,7 +408,7 @@ const article: PlaygroundArticleT = {
|
||||
},
|
||||
'7': {
|
||||
language: 'yaml',
|
||||
fileName: '.github/workflow/example.yml',
|
||||
fileName: '.github/workflows/example.yml',
|
||||
code: dedent`
|
||||
name: Python package
|
||||
|
||||
@@ -437,7 +437,7 @@ const article: PlaygroundArticleT = {
|
||||
},
|
||||
'8': {
|
||||
language: 'yaml',
|
||||
fileName: '.github/workflow/example.yml',
|
||||
fileName: '.github/workflows/example.yml',
|
||||
code: dedent`
|
||||
name: Python package
|
||||
|
||||
@@ -465,7 +465,7 @@ const article: PlaygroundArticleT = {
|
||||
},
|
||||
'9': {
|
||||
language: 'yaml',
|
||||
fileName: '.github/workflow/example.yml',
|
||||
fileName: '.github/workflows/example.yml',
|
||||
code: dedent`
|
||||
name: Python package
|
||||
|
||||
@@ -494,7 +494,7 @@ const article: PlaygroundArticleT = {
|
||||
},
|
||||
'10': {
|
||||
language: 'yaml',
|
||||
fileName: '.github/workflow/example.yml',
|
||||
fileName: '.github/workflows/example.yml',
|
||||
code: dedent`
|
||||
name: Python package
|
||||
|
||||
@@ -532,7 +532,7 @@ const article: PlaygroundArticleT = {
|
||||
},
|
||||
'11': {
|
||||
language: 'yaml',
|
||||
fileName: '.github/workflow/example.yml',
|
||||
fileName: '.github/workflows/example.yml',
|
||||
code: dedent`
|
||||
# This workflow uses actions that are not certified by GitHub.
|
||||
# They are provided by a third-party and are governed by
|
||||
|
||||
@@ -46,7 +46,7 @@ export const SubLandingHero = () => {
|
||||
<header className="d-flex gutter mb-6">
|
||||
<div className="col-12">
|
||||
<h1 className="my-3">{title} guides</h1>
|
||||
{intro && <Lead>{intro}</Lead>}
|
||||
{intro && <Lead data-search="lead">{intro}</Lead>}
|
||||
</div>
|
||||
</header>
|
||||
{featuredTrack && (
|
||||
|
||||
@@ -109,7 +109,7 @@ When you set your status, you can also let people know that you have limited ava
|
||||
|
||||

|
||||
|
||||
If you select the "Busy" option, when people @mention your username, assign you an issue or pull request, or request a pull request review from you, a note next to your username will show that you're busy. You will also be excluded from automatic review assignment for pull requests assigned to any teams you belong to. For more information, see "[Managing code review assignment for your team](/organizations/organizing-members-into-teams/managing-code-review-assignment-for-your-team)."
|
||||
If you select the "Busy" option, when people @mention your username, assign you an issue or pull request, or request a pull request review from you, a note next to your username will show that you're busy. You will also be excluded from automatic review assignment for pull requests assigned to any teams you belong to. For more information, see "[Managing code review settings for your team](/organizations/organizing-members-into-teams/managing-code-review-settings-for-your-team)."
|
||||
|
||||
1. In the top right corner of {% ifversion fpt or ghec %}{% data variables.product.prodname_dotcom_the_website %}{% else %}{% data variables.product.product_name %}{% endif %}, click your profile photo, then click **Set your status** or, if you already have a status set, click your current status.
|
||||

|
||||
|
||||
@@ -40,11 +40,13 @@ To configure the role and trust in IAM, see the AWS documentation for ["Assuming
|
||||
|
||||
By default, the validation only includes the audience (`aud`) condition, so you must manually add a subject (`sub`) condition. Edit the trust relationship to add the `sub` field to the validation conditions. For example:
|
||||
|
||||
```yaml{:copy}
|
||||
```json{:copy}
|
||||
"Condition": {
|
||||
"StringEquals": {
|
||||
"token.actions.githubusercontent.com:aud": "https://github.com/octo-org",
|
||||
"token.actions.githubusercontent.com:sub": "repo:octo-org/octo-repo:ref:refs/heads/octo-branch"
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
## Updating your {% data variables.product.prodname_actions %} workflow
|
||||
|
||||
@@ -129,8 +129,8 @@ Some extra configuration might be required to use actions from {% data variables
|
||||
The self-hosted runner polls {% data variables.product.product_name %} to retrieve application updates and to check if any jobs are queued for processing. The self-hosted runner uses a HTTPS _long poll_ that opens a connection to {% data variables.product.product_name %} for 50 seconds, and if no response is received, it then times out and creates a new long poll. The application must be running on the machine to accept and run {% data variables.product.prodname_actions %} jobs.
|
||||
|
||||
{% ifversion ghae %}
|
||||
You must ensure that the self-hosted runner has appropriate network access to communicate with the {% data variables.product.prodname_ghe_managed %} URL.
|
||||
For example, if your instance name is `octoghae`, then you will need to allow the self-hosted runner to access `octoghae.github.com`.
|
||||
You must ensure that the self-hosted runner has appropriate network access to communicate with the {% data variables.product.prodname_ghe_managed %} URL and its subdomains.
|
||||
For example, if your instance name is `octoghae`, then you will need to allow the self-hosted runner to access `octoghae.githubenterprise.com`, `api.octoghae.githubenterprise.com`, and `codeload.octoghae.githubenterprise.com`.
|
||||
|
||||
If you use an IP address allow list for your {% data variables.product.prodname_dotcom %} organization or enterprise account, you must add your self-hosted runner's IP address to the allow list. For more information, see "[Managing allowed IP addresses for your organization](/organizations/keeping-your-organization-secure/managing-allowed-ip-addresses-for-your-organization#using-github-actions-with-an-ip-allow-list)."
|
||||
{% endif %}
|
||||
@@ -139,7 +139,7 @@ If you use an IP address allow list for your {% data variables.product.prodname_
|
||||
|
||||
Since the self-hosted runner opens a connection to {% data variables.product.prodname_dotcom %}, you do not need to allow {% data variables.product.prodname_dotcom %} to make inbound connections to your self-hosted runner.
|
||||
|
||||
You must ensure that the machine has the appropriate network access to communicate with the {% data variables.product.prodname_dotcom %} URLs listed below.
|
||||
You must ensure that the machine has the appropriate network access to communicate with the {% data variables.product.prodname_dotcom %} hosts listed below. Some hosts are required for essential runner operations, while other hosts are only required for certain functionality.
|
||||
|
||||
{% note %}
|
||||
|
||||
@@ -147,20 +147,42 @@ You must ensure that the machine has the appropriate network access to communica
|
||||
|
||||
{% endnote %}
|
||||
|
||||
**Needed for essential operations:**
|
||||
|
||||
```
|
||||
github.com
|
||||
api.github.com
|
||||
*.actions.githubusercontent.com
|
||||
```
|
||||
|
||||
**Needed for downloading actions:**
|
||||
|
||||
```
|
||||
codeload.github.com
|
||||
```
|
||||
|
||||
**Needed for runner version updates:**
|
||||
|
||||
```
|
||||
objects.githubusercontent.com
|
||||
objects-origin.githubusercontent.com
|
||||
github-releases.githubusercontent.com
|
||||
github-registry-files.githubusercontent.com
|
||||
codeload.github.com
|
||||
*.pkg.github.com
|
||||
pkg-cache.githubusercontent.com
|
||||
pkg-containers.githubusercontent.com
|
||||
pkg-containers-az.githubusercontent.com
|
||||
```
|
||||
|
||||
**Needed for uploading/downloading caches and workflow artifacts:**
|
||||
|
||||
```
|
||||
*.blob.core.windows.net
|
||||
```
|
||||
|
||||
**Needed for retrieving OIDC tokens:**
|
||||
|
||||
```
|
||||
*.actions.githubusercontent.com
|
||||
```
|
||||
|
||||
In addition, your workflow may require access to other network resources. For example, if your workflow installs packages or publishes containers to {% data variables.product.prodname_dotcom %} Packages, then the runner will also require access to those network endpoints.
|
||||
|
||||
If you use an IP address allow list for your {% data variables.product.prodname_dotcom %} organization or enterprise account, you must add your self-hosted runner's IP address to the allow list. For more information, see "[Managing allowed IP addresses for your organization](/organizations/keeping-your-organization-secure/managing-allowed-ip-addresses-for-your-organization#using-github-actions-with-an-ip-allow-list)" or "[Enforcing policies for security settings in your enterprise](/admin/policies/enforcing-policies-for-your-enterprise/enforcing-policies-for-security-settings-in-your-enterprise)".
|
||||
|
||||
{% else %}
|
||||
@@ -171,11 +193,33 @@ You must ensure that the machine has the appropriate network access to communica
|
||||
|
||||
You can also use self-hosted runners with a proxy server. For more information, see "[Using a proxy server with self-hosted runners](/actions/automating-your-workflow-with-github-actions/using-a-proxy-server-with-self-hosted-runners)."
|
||||
|
||||
{% ifversion ghes %}
|
||||
|
||||
## Communication between self-hosted runners and {% data variables.product.prodname_dotcom_the_website %}
|
||||
|
||||
Self-hosted runners do not need to connect to {% data variables.product.prodname_dotcom_the_website %} unless you have [enabled automatic access to {% data variables.product.prodname_dotcom_the_website %} actions using {% data variables.product.prodname_github_connect %}](/admin/github-actions/managing-access-to-actions-from-githubcom/enabling-automatic-access-to-githubcom-actions-using-github-connect).
|
||||
|
||||
If you have enabled automatic access to {% data variables.product.prodname_dotcom_the_website %} actions using {% data variables.product.prodname_github_connect %}, then the self-hosted runner will connect directly to {% data variables.product.prodname_dotcom_the_website %} to download actions. You must ensure that the machine has the appropriate network access to communicate with the {% data variables.product.prodname_dotcom %} URLs listed below.
|
||||
|
||||
{% note %}
|
||||
|
||||
**Note:** Some of the domains listed below are configured using `CNAME` records. Some firewalls might require you to add rules recursively for all `CNAME` records. Note that the `CNAME` records might change in the future, and that only the domains listed below will remain constant.
|
||||
|
||||
{% endnote %}
|
||||
|
||||
```
|
||||
github.com
|
||||
api.github.com
|
||||
codeload.github.com
|
||||
```
|
||||
|
||||
{% endif %}
|
||||
|
||||
{% ifversion fpt or ghec %}
|
||||
|
||||
## Self-hosted runner security with public repositories
|
||||
|
||||
{% ifversion not ghae %}
|
||||
{% data reusables.github-actions.self-hosted-runner-security %}
|
||||
{% endif %}
|
||||
|
||||
This is not an issue with {% data variables.product.prodname_dotcom %}-hosted runners because each {% data variables.product.prodname_dotcom %}-hosted runner is always a clean isolated virtual machine, and it is destroyed at the end of the job execution.
|
||||
|
||||
@@ -185,3 +229,5 @@ Untrusted workflows running on your self-hosted runner pose significant security
|
||||
* Escaping the machine's runner sandbox.
|
||||
* Exposing access to the machine's network environment.
|
||||
* Persisting unwanted or dangerous data on the machine.
|
||||
|
||||
{% endif %}
|
||||
|
||||
@@ -47,19 +47,19 @@ versions:
|
||||
children:
|
||||
- /quickstart
|
||||
- /learn-github-actions
|
||||
- /creating-actions
|
||||
- /security-guides
|
||||
- /managing-workflow-runs
|
||||
- /automating-builds-and-tests
|
||||
- /deployment
|
||||
- /managing-issues-and-pull-requests
|
||||
- /publishing-packages
|
||||
- /using-containerized-services
|
||||
- /advanced-guides
|
||||
- /managing-workflow-runs
|
||||
- /publishing-packages
|
||||
- /managing-issues-and-pull-requests
|
||||
- /migrating-to-github-actions
|
||||
- /monitoring-and-troubleshooting-workflows
|
||||
- /using-github-hosted-runners
|
||||
- /hosting-your-own-runners
|
||||
- /migrating-to-github-actions
|
||||
- /security-guides
|
||||
- /advanced-guides
|
||||
- /creating-actions
|
||||
- /guides
|
||||
---
|
||||
|
||||
|
||||
@@ -106,7 +106,7 @@ The following table shows the permissions granted to the `GITHUB_TOKEN` by defau
|
||||
| checks | read/write | none | read |
|
||||
| contents | read/write | read | read |
|
||||
| deployments | read/write | none | read |
|
||||
| id_token | read/write | none | read |
|
||||
| id-token | read/write | none | read |
|
||||
| issues | read/write | none | read |
|
||||
| metadata | read | read | read |
|
||||
| packages | read/write | none | read |
|
||||
|
||||
@@ -29,6 +29,8 @@ When you use a {% data variables.product.prodname_dotcom %}-hosted runner, machi
|
||||
|
||||
You can specify the runner type for each job in a workflow. Each job in a workflow executes in a fresh instance of the virtual machine. All steps in the job execute in the same instance of the virtual machine, allowing the actions in that job to share information using the filesystem.
|
||||
|
||||
{% ifversion not ghes %}
|
||||
|
||||
{% data reusables.github-actions.runner-app-open-source %}
|
||||
|
||||
### Cloud hosts for {% data variables.product.prodname_dotcom %}-hosted runners
|
||||
@@ -142,3 +144,5 @@ Actions that run in Docker containers have static directories under the `/github
|
||||
- "[Managing billing for {% data variables.product.prodname_actions %}](/billing/managing-billing-for-github-actions)"
|
||||
|
||||
{% endif %}
|
||||
|
||||
{% endif %}
|
||||
|
||||
@@ -3,7 +3,6 @@ title: Customizing GitHub-hosted runners
|
||||
intro: You can install additional software on GitHub-hosted runners as a part of your workflow.
|
||||
versions:
|
||||
fpt: '*'
|
||||
ghes: '*'
|
||||
ghec: '*'
|
||||
type: tutorial
|
||||
topics:
|
||||
|
||||
@@ -153,6 +153,8 @@ Before adding a new SSH key to the ssh-agent to manage your keys, you should hav
|
||||
|
||||
If you don't have Apple's standard version installed, you may receive an error. For more information on resolving this error, see "[Error: ssh-add: illegal option -- K](/articles/error-ssh-add-illegal-option-k)."
|
||||
|
||||
In MacOS Monterey (12.0), the `-K` and `-A` flags are deprecated and have been replaced by the `--apple-use-keychain` and `--apple-load-keychain` flags, respectively.
|
||||
|
||||
{% endnote %}
|
||||
|
||||
4. Add the SSH key to your account on {% data variables.product.product_name %}. For more information, see "[Adding a new SSH key to your {% data variables.product.prodname_dotcom %} account](/github/authenticating-to-github/adding-a-new-ssh-key-to-your-github-account)."
|
||||
|
||||
@@ -13,6 +13,8 @@ versions:
|
||||
ghes: '>=3.1'
|
||||
fpt: '*'
|
||||
ghec: '*'
|
||||
ghae: 'issue-5378'
|
||||
miniTocMaxHeadingLevel: 3
|
||||
type: how_to
|
||||
topics:
|
||||
- Advanced Security
|
||||
@@ -35,7 +37,7 @@ You can check how many seats your license includes and how many of them are curr
|
||||
{% data reusables.enterprise-accounts.license-tab %}
|
||||
The "{% data variables.product.prodname_GH_advanced_security %}" section shows details of the current usage.
|
||||

|
||||
If you run out of seats, the section will be red and show "Limit exceeded". You should either reduce your use of {% data variables.product.prodname_GH_advanced_security %} or purchase more seats. For more information, see "[About billing for {% data variables.product.prodname_GH_advanced_security %}](/billing/managing-billing-for-github-advanced-security/about-billing-for-github-advanced-security#getting-the-most-out-of-github-advanced-security)."
|
||||
If you run out of seats, the section will be red and show "Limit exceeded." You should either reduce your use of {% data variables.product.prodname_GH_advanced_security %} or purchase more seats. For more information, see "[About billing for {% data variables.product.prodname_GH_advanced_security %}](/billing/managing-billing-for-github-advanced-security/about-billing-for-github-advanced-security#getting-the-most-out-of-github-advanced-security)."
|
||||

|
||||
4. Optionally, to see a detailed breakdown of usage per organization, in the left sidebar, click **Billing**.
|
||||

|
||||
@@ -61,3 +63,50 @@ You can check how many seats your license includes and how many of them are curr
|
||||
For more information, see "[Managing security and analysis settings for your organization](/organizations/keeping-your-organization-secure/managing-security-and-analysis-settings-for-your-organization)."
|
||||
|
||||
{% endif %}
|
||||
|
||||
{% ifversion ghec or ghes > 3.3 or ghae-issue-5378 %}
|
||||
|
||||
## Downloading {% data variables.product.prodname_GH_advanced_security %} license usage information
|
||||
|
||||
You can download a CSV file with {% data variables.product.prodname_GH_advanced_security %} license usage information at both the enterprise and organization levels. The CSV file contains information about each {% data variables.product.prodname_advanced_security %} seat that is in use, including:
|
||||
|
||||
- The username of the person using the seat
|
||||
- The {% data variables.product.prodname_advanced_security %}-enabled repositories where commits were made
|
||||
- The organizations that people using seats belong to
|
||||
- The most recent commit dates
|
||||
|
||||
You can use this information for insights into how your {% data variables.product.prodname_advanced_security %} licenses are being used, such as which members of your enterprise are using an {% data variables.product.prodname_advanced_security %} seat or how {% data variables.product.prodname_advanced_security %} licenses are being consumed across your organizations.
|
||||
|
||||
You can download the {% data variables.product.prodname_advanced_security %} license usage CSV through the {% data variables.product.product_name %} user interface or the REST API.
|
||||
|
||||
### Downloading {% data variables.product.prodname_advanced_security %} license usage information through the UI
|
||||
|
||||
#### At the organization-level
|
||||
|
||||
{% data reusables.profile.access_org %}
|
||||
{% data reusables.profile.org_settings %}
|
||||
{% data reusables.organizations.billing_plans %}
|
||||
1. Underneath "{% data variables.product.prodname_GH_advanced_security %}," click {% octicon "download" aria-label="The download icon" %} next to "Committers."
|
||||

|
||||
|
||||
#### At the enterprise-level
|
||||
|
||||
{% data reusables.enterprise-accounts.access-enterprise %}
|
||||
{% data reusables.enterprise-accounts.settings-tab %}
|
||||
{% data reusables.enterprise-accounts.license-tab %}
|
||||
1. Under "{% data variables.product.prodname_GH_advanced_security %}," click {% octicon "download" aria-label="The download icon" %} next to "Commiters."
|
||||

|
||||
|
||||
### Downloading {% data variables.product.prodname_advanced_security %} license usage information through the REST API
|
||||
|
||||
You can retrieve {% data variables.product.prodname_advanced_security %} usage information via the billing API.
|
||||
|
||||
{% ifversion ghec %}
|
||||
|
||||
For organization-level data, use the `/orgs/{org}/settings/billing/advanced-security` endpoint. For more information, see "[Billing](/rest/reference/billing#get-github-advanced-security-active-committers-for-an-organization)" in the {% data variables.product.prodname_dotcom %} REST API documentation.
|
||||
|
||||
{% endif %}
|
||||
|
||||
For enterprise-level data, use the `/enterprises/{enterprise}/settings/billing/advanced-security` endpoint. For more information, see "[{% data variables.product.prodname_enterprise %} administration](/rest/reference/enterprise-admin#get-github-advanced-security-active-committers-for-an-enterprise)" in the {% data variables.product.prodname_dotcom %} REST API documentation.
|
||||
|
||||
{% endif %}
|
||||
|
||||
@@ -0,0 +1,82 @@
|
||||
---
|
||||
title: Codespaces lifecycle
|
||||
intro: 'You can develop in a {% data variables.product.prodname_codespaces %} environment and maintain your data throughout the entire codespace lifecycle.'
|
||||
versions:
|
||||
fpt: '*'
|
||||
ghec: '*'
|
||||
type: overview
|
||||
topics:
|
||||
- Codespaces
|
||||
- Developer
|
||||
product: '{% data reusables.gated-features.codespaces %}'
|
||||
---
|
||||
|
||||
## About the lifecycle of a codespace
|
||||
|
||||
The lifecycle of a codespace begins when you create a codespace and ends when you delete it. You can disconnect and reconnect to an active codespace without affecting its running processes. You may stop and restart a codespace without losing changes that you have made to your project.
|
||||
|
||||
## Creating a codespace
|
||||
|
||||
When you want to work on a project, you can choose to create a new codespace or open an existing codespace. You might want to create a new codespace from a branch of your project each time you develop in {% data variables.product.prodname_codespaces %} or keep a long-running codespace for a feature.
|
||||
|
||||
If you choose to create a new codespace each time you work on a project, you should regularly push your changes so that any new commits are on {% data variables.product.prodname_dotcom %}. You can have up to 10 codespaces at a time. Once you have 10 codespaces, you must delete a codespace before you can create a new one. For more information, see "[Creating a codespace](/codespaces/developing-in-codespaces/creating-a-codespace)."
|
||||
|
||||
If you choose to use a long-running codespace for your project, you should pull from your repository's default branch each time you start working in your codespace so that your environment has the latest commits. This workflow is very similar to if you were working with a project on your local machine.
|
||||
|
||||
## Saving changes in a codespace
|
||||
|
||||
When you connect to a codespace through the web, auto-save is enabled automatically for the web editor and configured to save changes after a delay. When you connect to a codespace through {% data variables.product.prodname_vscode %} running on your desktop, you must enable auto-save. For more information, see [Save/Auto Save](https://code.visualstudio.com/docs/editor/codebasics#_save-auto-save) in the {% data variables.product.prodname_vscode %} documentation.
|
||||
|
||||
If you want to save your changes in the git repository on the codespace's file system, commit them and push them to a remote branch.
|
||||
|
||||
If you have unsaved changes, your editor will prompt you to save them before exiting.
|
||||
|
||||
## Codespaces timeouts
|
||||
|
||||
If you leave your codespace running without interaction or if you exit your codespace without explicitly stopping it, the codespace will timeout after 30 minutes of inactivity and stop running. For more information, see "[Stopping a codespace](#stopping-a-codespace)."
|
||||
|
||||
When a codespace times out, your data is preserved from the last time your changes were saved. For more information, see "[Saving changes in a codespace](#saving-changes-in-a-codespace)."
|
||||
|
||||
## Rebuilding a codespace
|
||||
|
||||
You can rebuild your codespace to restore a clean state as if you had created a new codespace. For most uses, you can create a new codespace as an alternative to rebuilding a codespace. You are most likely to rebuild a codespace to implement changes to your dev container. When you rebuild a codespace, any Docker containers, images, volumes, and caches are cleaned, then the codespace is rebuilt.
|
||||
|
||||
If you need any of this data to persist over a rebuild, you can create, at the desired location in the container, a symbolic link (symlink) to the persistent directory. For example, in your `.devcontainer` directory, you can create a `config` directory that will be preserved across a rebuild. You can then symlink the `config` directory and its contents as a `postCreateCommand` in your `devcontainer.json` file.
|
||||
|
||||
```json
|
||||
{
|
||||
"image": "mcr.microsoft.com/vscode/devcontainers/base:alpine",
|
||||
"postCreateCommand": ".devcontainer/postCreate.sh"
|
||||
}
|
||||
```
|
||||
|
||||
In the example `postCreate.sh` file below, the contents of the `config` directory are symbolically linked to the home directory.
|
||||
|
||||
```bash
|
||||
#!/bin/bash
|
||||
ln -sf $PWD/.devcontainer/config $HOME/config && set +x
|
||||
```
|
||||
|
||||
## Stopping a codespace
|
||||
|
||||
You can stop a codespace at any time. When you stop a codespace, any running processes are stopped and the terminal history is cleared. Any saved changes in your codespace will still be available when you next start it. If you do not explicitly stop a codespace, it will continue to run until it times out from inactivity. For more information, see "[Codespaces timeouts](#codespaces-timeouts)."
|
||||
|
||||
Only running codespaces incur CPU charges; a stopped codespace incurs only storage costs.
|
||||
|
||||
You may want to stop and restart a codespace to apply changes to it. For example, if you change the machine type used for your codespace, you will need to stop and restart it for the change to take effect. You can also stop your codespace and choose to restart or delete it if you encounter an error or something unexpected. For more information, see "[Suspending or stopping a codespace](/codespaces/codespaces-reference/using-the-command-palette-in-codespaces#suspending-or-stopping-a-codespace)."
|
||||
|
||||
## Deleting a codespace
|
||||
|
||||
You can create a codespace for a particular task and then safely delete the codespace after you push your changes to a remote branch.
|
||||
|
||||
If you try to delete a codespace with unpushed git commits, your editor will notify you that you have changes that have not been pushed to a remote branch. You can push any desired changes and then delete your codespace, or continue to delete your codespace and any uncommitted changes. You can also export your code to a new branch without creating a new codespace. For more information, see "[Exporting changes to a branch](/codespaces/troubleshooting/exporting-changes-to-a-branch)."
|
||||
|
||||
You will be charged for the storage of all your codespaces. When you delete a codespace, you will no longer be charged.
|
||||
|
||||
For more information on deleting a codespace, see "[Deleting a codespace](/codespaces/developing-in-codespaces/deleting-a-codespace)."
|
||||
|
||||
## Losing the connection while using Codespaces
|
||||
|
||||
{% data variables.product.prodname_codespaces %} is a cloud-based development environment and requires an internet connection. If you lose connection to the internet while working in a codespace, you will not be able to access your codespace. However, any uncommitted changes will be saved. When you have access to an internet connection again, you can connect to your codespace in the exact same state that it was left in. If you have an unstable internet connection, you should commit and push your changes often.
|
||||
|
||||
If you know that you will often be working offline, you can use your `devcontainer.json` file with the ["{% data variables.product.prodname_vscode %} Remote - Containers" extension](https://marketplace.visualstudio.com/items?itemName=ms-vscode-remote.remote-containers) to build and attach to a local development container for your repository. For more information, see [Developing inside a container](https://code.visualstudio.com/docs/remote/containers) in the {% data variables.product.prodname_vscode %} documentation.
|
||||
@@ -32,6 +32,8 @@ When you create a codespace, a number of steps happen to create and connect you
|
||||
|
||||
For more information on what happens when you create a codespace, see "[Deep Dive](/codespaces/getting-started/deep-dive)."
|
||||
|
||||
For more information on the lifecycle of a codespace, see "[Codespaces lifecycle](/codespaces/developing-in-codespaces/codespaces-lifecycle)."
|
||||
|
||||
If you want to use Git hooks for your codespace, then you should set up hooks using the [`devcontainer.json` lifecycle scripts](https://code.visualstudio.com/docs/remote/devcontainerjson-reference#_lifecycle-scripts), such as `postCreateCommand`, during step 4. Since your codespace container is created after the repository is cloned, any [git template directory](https://git-scm.com/docs/git-init#_template_directory) configured in the container image will not apply to your codespace. Hooks must instead be installed after the codespace is created. For more information on using `postCreateCommand`, see the [`devcontainer.json` reference](https://code.visualstudio.com/docs/remote/devcontainerjson-reference#_devcontainerjson-properties) in the Visual Studio Code documentation.
|
||||
|
||||
{% data reusables.codespaces.use-visual-studio-features %}
|
||||
|
||||
@@ -59,3 +59,6 @@ If you have unsaved changes, you'll be prompted to confirm deletion. You can use
|
||||
For more information about this command, see [the {% data variables.product.prodname_cli %} manual](https://cli.github.com/manual/gh_codespace_delete).
|
||||
|
||||
{% endcli %}
|
||||
|
||||
## Further reading
|
||||
- [Codespaces lifecycle](/codespaces/developing-in-codespaces/codespaces-lifecycle)
|
||||
|
||||
@@ -8,6 +8,7 @@ versions:
|
||||
topics:
|
||||
- Codespaces
|
||||
children:
|
||||
- /codespaces-lifecycle
|
||||
- /creating-a-codespace
|
||||
- /developing-in-a-codespace
|
||||
- /using-source-control-in-your-codespace
|
||||
|
||||
@@ -95,3 +95,13 @@ If the codespace is currently running, a message is displayed asking if you woul
|
||||
## Deleting a codespace in {% data variables.product.prodname_vscode %}
|
||||
|
||||
{% data reusables.codespaces.deleting-a-codespace-in-vscode %}
|
||||
|
||||
## Switching to the Insiders build of {% data variables.product.prodname_vscode %}
|
||||
|
||||
You can use the [Insiders Build of Visual Studio Code](https://code.visualstudio.com/docs/setup/setup-overview#_insiders-nightly-build) within {% data variables.product.prodname_codespaces %}.
|
||||
|
||||
1. In bottom left of your {% data variables.product.prodname_codespaces %} window, select **{% octicon "gear" aria-label="The settings icon" %} Settings**.
|
||||
2. From the list, select "Switch to Insiders Version".
|
||||
|
||||

|
||||
3. Once selected, {% data variables.product.prodname_codespaces %} will continue to open in Insiders Version.
|
||||
|
||||
@@ -116,3 +116,4 @@ If you already use {% data variables.product.prodname_vscode %}, you can use [Se
|
||||
- [Enabling {% data variables.product.prodname_codespaces %} for your organization](/codespaces/managing-codespaces-for-your-organization/enabling-codespaces-for-your-organization)
|
||||
- [Managing billing for {% data variables.product.prodname_codespaces %} in your organization](/codespaces/managing-codespaces-for-your-organization/managing-billing-for-codespaces-in-your-organization)
|
||||
- [Setting up your project for Codespaces](/codespaces/setting-up-your-project-for-codespaces)
|
||||
- [Codespaces lifecycle](/codespaces/developing-in-codespaces/codespaces-lifecycle)
|
||||
|
||||
@@ -11,7 +11,7 @@ featuredLinks:
|
||||
- /codespaces/managing-codespaces-for-your-organization/enabling-codespaces-for-your-organization
|
||||
- /codespaces/setting-up-your-codespace/configuring-codespaces-for-your-project
|
||||
- /codespaces/managing-codespaces-for-your-organization/managing-repository-access-for-your-organizations-codespaces
|
||||
- /codespaces/managing-codespaces-for-your-organization/reviewing-your-organizations-audit-logs-for-codespaces
|
||||
- /codespaces/developing-in-codespaces/codespaces-lifecycle
|
||||
popular:
|
||||
- /codespaces/getting-started-with-codespaces/getting-started-with-your-nodejs-project-in-codespaces
|
||||
- /codespaces/getting-started-with-codespaces/getting-started-with-your-python-project-in-codespaces
|
||||
|
||||
@@ -1,18 +1,20 @@
|
||||
---
|
||||
title: Responsible Disclosure of Security Vulnerabilities
|
||||
title: Coordinated Disclosure of Security Vulnerabilities
|
||||
redirect_from:
|
||||
- /responsible-disclosure/
|
||||
- /coordinated-disclosure/
|
||||
- /articles/responsible-disclosure-of-security-vulnerabilities
|
||||
- /site-policy/responsible-disclosure-of-security-vulnerabilities
|
||||
versions:
|
||||
fpt: '*'
|
||||
topics:
|
||||
- Policy
|
||||
- Legal
|
||||
---
|
||||
We want to keep GitHub safe for everyone. If you've discovered a security vulnerability in GitHub, we appreciate your help in disclosing it to us in a responsible manner.
|
||||
We want to keep GitHub safe for everyone. If you've discovered a security vulnerability in GitHub, we appreciate your help in disclosing it to us in a coordinated manner.
|
||||
|
||||
## Bounty Program
|
||||
|
||||
Like several other large software companies, GitHub provides a bug bounty to better engage with security researchers. The idea is simple: hackers and security researchers (like you) find and report vulnerabilities through our responsible disclosure process. Then, to recognize the significant effort that these researchers often put forth when hunting down bugs, we reward them with some cold hard cash.
|
||||
Like several other large software companies, GitHub provides a bug bounty to better engage with security researchers. The idea is simple: hackers and security researchers (like you) find and report vulnerabilities through our coordinated disclosure process. Then, to recognize the significant effort that these researchers often put forth when hunting down bugs, we reward them with some cold hard cash.
|
||||
|
||||
Check out the [GitHub Bug Bounty](https://bounty.github.com) site for bounty details, review our comprehensive [Legal Safe Harbor Policy](/articles/github-bug-bounty-program-legal-safe-harbor) terms as well, and happy hunting!
|
||||
@@ -10,13 +10,13 @@ topics:
|
||||
---
|
||||
|
||||
## Summary
|
||||
1. We want you to responsibly disclose through our bug bounty program, and don't want researchers put in fear of legal consequences because of their good faith attempts to comply with our bug bounty policy. We cannot bind any third party, so do not assume this protection extends to any third party. If in doubt, ask us before engaging in any specific action you think _might_ go outside the bounds of our policy.
|
||||
1. We want you to coordinate disclosure through our bug bounty program, and don't want researchers put in fear of legal consequences because of their good faith attempts to comply with our bug bounty policy. We cannot bind any third party, so do not assume this protection extends to any third party. If in doubt, ask us before engaging in any specific action you think _might_ go outside the bounds of our policy.
|
||||
2. Because both identifying and non-identifying information can put a researcher at risk, we limit what we share with third parties. We may provide non-identifying substantive information from your report to an affected third party, but only after notifying you and receiving a commitment that the third party will not pursue legal action against you. We will only share identifying information (name, email address, phone number, etc.) with a third party if you give your written permission.
|
||||
3. If your security research as part of the bug bounty program violates certain restrictions in our site policies, the safe harbor terms permit a limited exemption.
|
||||
|
||||
## 1. Safe Harbor Terms
|
||||
|
||||
To encourage research and responsible disclosure of security vulnerabilities, we will not pursue civil or criminal action, or send notice to law enforcement for accidental or good faith violations of this policy. We consider security research and vulnerability disclosure activities conducted consistent with this policy to be “authorized” conduct under the Computer Fraud and Abuse Act, the DMCA, and other applicable computer use laws such as Cal. Penal Code 502(c). We waive any potential DMCA claim against you for circumventing the technological measures we have used to protect the applications in this bug bounty program's scope.
|
||||
To encourage research and coordinated disclosure of security vulnerabilities, we will not pursue civil or criminal action, or send notice to law enforcement for accidental or good faith violations of this policy. We consider security research and vulnerability disclosure activities conducted consistent with this policy to be “authorized” conduct under the Computer Fraud and Abuse Act, the DMCA, and other applicable computer use laws such as Cal. Penal Code 502(c). We waive any potential DMCA claim against you for circumventing the technological measures we have used to protect the applications in this bug bounty program's scope.
|
||||
|
||||
Please understand that if your security research involves the networks, systems, information, applications, products, or services of a third party (which is not us), we cannot bind that third party, and they may pursue legal action or law enforcement notice. We cannot and do not authorize security research in the name of other entities, and cannot in any way offer to defend, indemnify, or otherwise protect you from any third party action based on your actions.
|
||||
|
||||
|
||||
@@ -27,7 +27,7 @@ children:
|
||||
- /github-private-information-removal-policy
|
||||
- /github-subprocessors-and-cookies
|
||||
- /github-bug-bounty-program-legal-safe-harbor
|
||||
- /responsible-disclosure-of-security-vulnerabilities
|
||||
- /coordinated-disclosure-of-security-vulnerabilities
|
||||
- /guidelines-for-legal-requests-of-user-data
|
||||
- /github-government-takedown-policy
|
||||
- /github-acceptable-use-policies
|
||||
|
||||
@@ -185,7 +185,7 @@ Some of the features listed below are limited to organizations using {% data var
|
||||
| Reinstate former members to the organization | **X** | | |
|
||||
| Add and remove people from **all teams** | **X** | |
|
||||
| Promote organization members to *team maintainer* | **X** | |
|
||||
| Configure code review assignments (see "[Managing code review assignment for your team](/organizations/organizing-members-into-teams/managing-code-review-assignment-for-your-team)") | **X** | |
|
||||
| Configure code review assignments (see "[Managing code review settings for your team](/organizations/organizing-members-into-teams/managing-code-review-settings-for-your-team)")) | **X** | |
|
||||
| Add collaborators to **all repositories** | **X** | |
|
||||
| Access the organization audit log | **X** | |
|
||||
| Edit the organization's profile page (see "[About your organization's profile](/github/setting-up-and-managing-your-github-profile/customizing-your-profile/about-your-organizations-profile)" for details) | **X** | | |{% ifversion ghes > 3.1 %}
|
||||
|
||||
@@ -26,7 +26,7 @@ children:
|
||||
- /adding-organization-members-to-a-team
|
||||
- /assigning-the-team-maintainer-role-to-a-team-member
|
||||
- /setting-your-teams-profile-picture
|
||||
- /managing-code-review-assignment-for-your-team
|
||||
- /managing-code-review-settings-for-your-team
|
||||
- /renaming-a-team
|
||||
- /changing-team-visibility
|
||||
- /synchronizing-a-team-with-an-identity-provider-group
|
||||
|
||||
@@ -1,8 +1,9 @@
|
||||
---
|
||||
title: Managing code review assignment for your team
|
||||
intro: Code review assignments clearly indicate which members of a team are expected to submit a review for a pull request.
|
||||
title: Managing code review settings for your team
|
||||
intro: You can decrease noise for your team by limiting notifications when your team is requested to review a pull request.
|
||||
redirect_from:
|
||||
- /github/setting-up-and-managing-organizations-and-teams/managing-code-review-assignment-for-your-team
|
||||
- /organizations/organizing-members-into-teams/managing-code-review-assignment-for-your-team
|
||||
product: '{% data reusables.gated-features.code-review-assignment %}'
|
||||
versions:
|
||||
fpt: '*'
|
||||
@@ -12,13 +13,26 @@ versions:
|
||||
topics:
|
||||
- Organizations
|
||||
- Teams
|
||||
shortTitle: Code review assignment
|
||||
permissions: Team maintainers and organization owners can configure code review assignments.
|
||||
shortTitle: Code review settings
|
||||
permissions: Team maintainers and organization owners can configure code review settings.
|
||||
---
|
||||
|
||||
## About code review assignments
|
||||
## About code review settings
|
||||
|
||||
By using code review assignments, any time your team has been requested to review a pull request, the team is removed as a reviewer and a specified subset of team members are assigned in the team's place. Code review assignments allow you to decide whether the whole team or just a subset of team members are notified when a team is requested for review.
|
||||
{% if only-notify-requested-members %}
|
||||
To reduce noise for your team and clarify individual responsibility for pull request reviews, you can configure code review settings.
|
||||
|
||||
- Team notifications
|
||||
- Auto assignment
|
||||
|
||||
## About team notifications
|
||||
|
||||
When you choose to only notify requested team members, you disable sending notifications to the entire team when the team is requested to review a pull request if a specific member of that team is also requested for review. This is especially useful when a repository is configured with teams as code owners, but contributors to the repository often know a specific individual that would be the correct reviewer for their pull request. For more information, see "[About code owners](/github/creating-cloning-and-archiving-repositories/about-code-owners)."
|
||||
|
||||
## About auto assignment
|
||||
{% endif %}
|
||||
|
||||
When you enable auto assignment, any time your team has been requested to review a pull request, the team is removed as a reviewer and a specified subset of team members are assigned in the team's place. Code review assignments allow you to decide whether the whole team or just a subset of team members are notified when a team is requested for review.
|
||||
|
||||
When code owners are automatically requested for review, the team is still removed and replaced with individuals. The individual approvals don't satisfy the requirement for code owner approval in a protected branch. For more information, see "[About code owners](/github/creating-cloning-and-archiving-repositories/about-code-owners)."
|
||||
|
||||
@@ -26,7 +40,7 @@ When code owners are automatically requested for review, the team is still remov
|
||||
To further enhance your team's collaboration abilities, you can upgrade to {% data variables.product.prodname_ghe_cloud %}, which includes features like protected branches and code owners on private repositories. {% data reusables.enterprise.link-to-ghec-trial %}
|
||||
{% endif %}
|
||||
|
||||
## Routing algorithms
|
||||
### Routing algorithms
|
||||
|
||||
Code review assignments automatically choose and assign reviewers based on one of two possible algorithms.
|
||||
|
||||
@@ -36,29 +50,45 @@ The load balance algorithm chooses reviewers based on each member's total number
|
||||
|
||||
Any team members that have set their status to "Busy" will not be selected for review. If all team members are busy, the pull request will remain assigned to the team itself. For more information about user statuses, see "[Setting a status](/account-and-profile/setting-up-and-managing-your-github-profile/customizing-your-profile/personalizing-your-profile#setting-a-status)."
|
||||
|
||||
## Configuring code review assignment
|
||||
{% if only-notify-requested-members %}
|
||||
## Configuring team notifications
|
||||
|
||||
{% data reusables.profile.access_org %}
|
||||
{% data reusables.user_settings.access_org %}
|
||||
{% data reusables.organizations.specific_team %}
|
||||
{% data reusables.organizations.team_settings %}
|
||||
5. In the left sidebar, click **Code review assignment**
|
||||

|
||||
5. In the left sidebar, click **Code review**
|
||||

|
||||
2. Select **Only notify requested team members.**
|
||||

|
||||
3. Click **Save changes**.
|
||||
{% endif %}
|
||||
|
||||
## Configuring auto assignment
|
||||
{% data reusables.profile.access_org %}
|
||||
{% data reusables.user_settings.access_org %}
|
||||
{% data reusables.organizations.specific_team %}
|
||||
{% data reusables.organizations.team_settings %}
|
||||
5. In the left sidebar, click **Code review**
|
||||

|
||||
6. Select **Enable auto assignment**.
|
||||

|
||||

|
||||
7. Under "How many team members should be assigned to review?", use the drop-down menu and choose a number of reviewers to be assigned to each pull request.
|
||||

|
||||
8. Under "Routing algorithm", use the drop-down menu and choose which algorithm you'd like to use. For more information, see "[Routing algorithms](#routing-algorithms)."
|
||||

|
||||
9. Optionally, to always skip certain members of the team, select **Never assign certain team members**. Then, select one or more team members you'd like to always skip.
|
||||

|
||||
10. Optionally, to only notify the team members chosen by code review assignment for each pull review request, under "Notifications" select **If assigning team members, don't notify the entire team.**
|
||||
{% ifversion fpt or ghae or ghes > 3.2 or ghec %}
|
||||
{% ifversion fpt or ghec or ghae-next or ghes > 3.2 %}
|
||||
11. Optionally, to include members of child teams as potential reviewers when assigning requests, select **Child team members**.
|
||||
12. Optionally, to count any members whose review has already been requested against the total number of members to assign, select **Count existing requests**.
|
||||
13. Optionally, to remove the review request from the team when assigning team members, select **Team review request**.{% endif %}
|
||||
13. Optionally, to remove the review request from the team when assigning team members, select **Team review request**.
|
||||
{%- else %}
|
||||
10. Optionally, to only notify the team members chosen by code review assignment for each pull review request, under "Notifications" select **If assigning team members, don't notify the entire team.**
|
||||
{%- endif %}
|
||||
14. Click **Save changes**.
|
||||
|
||||
## Disabling code review assignment
|
||||
## Disabling auto assignment
|
||||
{% data reusables.profile.access_org %}
|
||||
{% data reusables.user_settings.access_org %}
|
||||
{% data reusables.organizations.specific_team %}
|
||||
@@ -17,7 +17,7 @@ shortTitle: Request a PR review
|
||||
---
|
||||
Owners and collaborators on a repository owned by a user account can assign pull request reviews. Organization members with triage permissions to a repository can assign a pull request review.
|
||||
|
||||
Owners or collaborators can assign a pull request review to any person that has been explicitly granted [read access](/articles/access-permissions-on-github) to a user-owned repository. Organization members can assign a pull request review to any person or team with read access to a repository. The requested reviewer or team will receive a notification that you asked them to review the pull request. {% ifversion fpt or ghae or ghes or ghec %}If you request a review from a team and code review assignment is enabled, specific members will be requested and the team will be removed as a reviewer. For more information, see "[Managing code review assignment for your team](/organizations/organizing-members-into-teams/managing-code-review-assignment-for-your-team)."{% endif %}
|
||||
Owners or collaborators can assign a pull request review to any person that has been explicitly granted [read access](/articles/access-permissions-on-github) to a user-owned repository. Organization members can assign a pull request review to any person or team with read access to a repository. The requested reviewer or team will receive a notification that you asked them to review the pull request. {% ifversion fpt or ghae or ghes or ghec %}If you request a review from a team and code review assignment is enabled, specific members will be requested and the team will be removed as a reviewer. For more information, see "[Managing code review settings for your team](/organizations/organizing-members-into-teams/managing-code-review-settings-for-your-team)."{% endif %}
|
||||
|
||||
{% note %}
|
||||
|
||||
|
||||
@@ -19,7 +19,7 @@ shortTitle: About PR reviews
|
||||
|
||||
After a pull request is opened, anyone with *read* access can review and comment on the changes it proposes. You can also suggest specific changes to lines of code, which the author can apply directly from the pull request. For more information, see "[Reviewing proposed changes in a pull request](/pull-requests/collaborating-with-pull-requests/reviewing-changes-in-pull-requests/reviewing-proposed-changes-in-a-pull-request)."
|
||||
|
||||
Repository owners and collaborators can request a pull request review from a specific person. Organization members can also request a pull request review from a team with read access to the repository. For more information, see "[Requesting a pull request review](/pull-requests/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/requesting-a-pull-request-review)." {% ifversion fpt or ghae or ghes or ghec %}You can specify a subset of team members to be automatically assigned in the place of the whole team. For more information, see "[Managing code review assignment for your team](/organizations/organizing-members-into-teams/managing-code-review-assignment-for-your-team)."{% endif %}
|
||||
Repository owners and collaborators can request a pull request review from a specific person. Organization members can also request a pull request review from a team with read access to the repository. For more information, see "[Requesting a pull request review](/pull-requests/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/requesting-a-pull-request-review)." {% ifversion fpt or ghae or ghes or ghec %}You can specify a subset of team members to be automatically assigned in the place of the whole team. For more information, see "[Managing code review settings for your team](/organizations/organizing-members-into-teams/managing-code-review-settings-for-your-team)."{% endif %}
|
||||
|
||||
Reviews allow for discussion of proposed changes and help ensure that the changes meet the repository's contributing guidelines and other quality standards. You can define which individuals or teams own certain types or areas of code in a CODEOWNERS file. When a pull request modifies code that has a defined owner, that individual or team will automatically be requested as a reviewer. For more information, see "[About code owners](/articles/about-code-owners/)."
|
||||
|
||||
|
||||
@@ -25,7 +25,7 @@ Code owners are automatically requested for review when someone opens a pull req
|
||||
|
||||
When someone with admin or owner permissions has enabled required reviews, they also can optionally require approval from a code owner before the author can merge a pull request in the repository. For more information, see "[About protected branches](/github/administering-a-repository/about-protected-branches#require-pull-request-reviews-before-merging)."
|
||||
|
||||
{% ifversion fpt or ghae or ghes or ghec %}If a team has enabled code review assignments, the individual approvals won't satisfy the requirement for code owner approval in a protected branch. For more information, see "[Managing code review assignment for your team](/organizations/organizing-members-into-teams/managing-code-review-assignment-for-your-team)."{% endif %}
|
||||
{% ifversion fpt or ghae or ghes or ghec %}If a team has enabled code review assignments, the individual approvals won't satisfy the requirement for code owner approval in a protected branch. For more information, see "[Managing code review settings for your team](/organizations/organizing-members-into-teams/managing-code-review-settings-for-your-team)."{% endif %}
|
||||
|
||||
If a file has a code owner, you can see who the code owner is before you open a pull request. In the repository, you can browse to the file and hover over {% octicon "shield-lock" aria-label="The edit icon" %}.
|
||||
|
||||
|
||||
7
data/features/only-notify-requested-members.yml
Normal file
@@ -0,0 +1,7 @@
|
||||
# Issue #5108
|
||||
# Documentation for the "Only notify requested team members" option in the code review settings
|
||||
versions:
|
||||
fpt: '*'
|
||||
ghec: '*'
|
||||
ghes: '>=3.4'
|
||||
ghae: '*'
|
||||
@@ -1 +1 @@
|
||||
Code review assignment is available with {% data variables.product.prodname_team %}, {% data variables.product.prodname_ghe_server %} 2.20+,{% ifversion ghae %} {% data variables.product.prodname_ghe_managed %},{% endif %} and {% data variables.product.prodname_ghe_cloud %}. For more information, see "[GitHub's products](/articles/githubs-products)."
|
||||
Code review settings are available with {% data variables.product.prodname_team %}, {% data variables.product.prodname_ghe_server %} 2.20+,{% ifversion ghae %} {% data variables.product.prodname_ghe_managed %},{% endif %} and {% data variables.product.prodname_ghe_cloud %}. For more information, see "[GitHub's products](/articles/githubs-products)."
|
||||
|
||||
@@ -6,7 +6,7 @@ permissions:
|
||||
checks: read|write|none
|
||||
contents: read|write|none
|
||||
deployments: read|write|none
|
||||
id_token: read|write|none
|
||||
id-token: read|write|none
|
||||
issues: read|write|none
|
||||
discussions: read|write|none
|
||||
packages: read|write|none
|
||||
|
||||
@@ -11,5 +11,5 @@ Members with team maintainer permissions can:
|
||||
- [Remove organization members from the team](/articles/removing-organization-members-from-a-team)
|
||||
- [Promote an existing team member to team maintainer](/organizations/organizing-members-into-teams/assigning-the-team-maintainer-role-to-a-team-member)
|
||||
- Remove the team's access to repositories{% ifversion fpt or ghes or ghae or ghec %}
|
||||
- [Manage code review assignment for the team](/organizations/organizing-members-into-teams/managing-code-review-assignment-for-your-team){% endif %}{% ifversion fpt or ghec %}
|
||||
- [Manage code review settings for the team](/organizations/organizing-members-into-teams/managing-code-review-settings-for-your-team){% endif %}{% ifversion fpt or ghec %}
|
||||
- [Manage scheduled reminders for pull requests](/github/setting-up-and-managing-organizations-and-teams/managing-scheduled-reminders-for-pull-requests){% endif %}
|
||||
|
||||
@@ -31,6 +31,7 @@ search:
|
||||
placeholder: Search topics, products...
|
||||
loading: Loading
|
||||
no_results: No results found
|
||||
no_content: No content
|
||||
homepage:
|
||||
explore_by_product: Explore by product
|
||||
version_picker: Version
|
||||
|
||||
@@ -15,7 +15,7 @@ export default class Hydro {
|
||||
* Can check if it can actually send to Hydro
|
||||
*/
|
||||
maySend() {
|
||||
return Boolean(this.secret && this.endpoint)
|
||||
return Boolean(this.secret && this.endpoint && process.env.NODE_ENV !== 'test')
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
@@ -183412,6 +183412,12 @@
|
||||
],
|
||||
"nullable": true
|
||||
},
|
||||
"prebuild": {
|
||||
"description": "Whether the codespace was created from a prebuild.",
|
||||
"type": "boolean",
|
||||
"example": false,
|
||||
"nullable": true
|
||||
},
|
||||
"created_at": {
|
||||
"type": "string",
|
||||
"format": "date-time",
|
||||
@@ -183544,6 +183550,7 @@
|
||||
"billable_owner",
|
||||
"repository",
|
||||
"machine",
|
||||
"prebuild",
|
||||
"created_at",
|
||||
"updated_at",
|
||||
"last_used_at",
|
||||
@@ -183689,6 +183696,7 @@
|
||||
"memory_in_bytes": 8589934592,
|
||||
"cpus": 4
|
||||
},
|
||||
"prebuild": false,
|
||||
"created_at": "2021-10-14T00:53:30-06:00",
|
||||
"updated_at": "2021-10-14T00:53:32-06:00",
|
||||
"last_used_at": "2021-10-14T00:53:30-06:00",
|
||||
@@ -183832,6 +183840,7 @@
|
||||
"memory_in_bytes": 8589934592,
|
||||
"cpus": 4
|
||||
},
|
||||
"prebuild": false,
|
||||
"created_at": "2021-10-14T00:53:30-06:00",
|
||||
"updated_at": "2021-10-14T00:53:32-06:00",
|
||||
"last_used_at": "2021-10-14T00:53:30-06:00",
|
||||
@@ -183975,6 +183984,7 @@
|
||||
"memory_in_bytes": 8589934592,
|
||||
"cpus": 4
|
||||
},
|
||||
"prebuild": false,
|
||||
"created_at": "2021-10-14T00:53:30-06:00",
|
||||
"updated_at": "2021-10-14T00:53:32-06:00",
|
||||
"last_used_at": "2021-10-14T00:53:30-06:00",
|
||||
@@ -186157,6 +186167,12 @@
|
||||
],
|
||||
"nullable": true
|
||||
},
|
||||
"prebuild": {
|
||||
"description": "Whether the codespace was created from a prebuild.",
|
||||
"type": "boolean",
|
||||
"example": false,
|
||||
"nullable": true
|
||||
},
|
||||
"created_at": {
|
||||
"type": "string",
|
||||
"format": "date-time",
|
||||
@@ -186289,6 +186305,7 @@
|
||||
"billable_owner",
|
||||
"repository",
|
||||
"machine",
|
||||
"prebuild",
|
||||
"created_at",
|
||||
"updated_at",
|
||||
"last_used_at",
|
||||
@@ -186428,6 +186445,7 @@
|
||||
"memory_in_bytes": 8589934592,
|
||||
"cpus": 4
|
||||
},
|
||||
"prebuild": false,
|
||||
"created_at": "2021-10-14T00:53:30-06:00",
|
||||
"updated_at": "2021-10-14T00:53:32-06:00",
|
||||
"last_used_at": "2021-10-14T00:53:30-06:00",
|
||||
@@ -188432,6 +188450,12 @@
|
||||
],
|
||||
"nullable": true
|
||||
},
|
||||
"prebuild": {
|
||||
"description": "Whether the codespace was created from a prebuild.",
|
||||
"type": "boolean",
|
||||
"example": false,
|
||||
"nullable": true
|
||||
},
|
||||
"created_at": {
|
||||
"type": "string",
|
||||
"format": "date-time",
|
||||
@@ -188564,6 +188588,7 @@
|
||||
"billable_owner",
|
||||
"repository",
|
||||
"machine",
|
||||
"prebuild",
|
||||
"created_at",
|
||||
"updated_at",
|
||||
"last_used_at",
|
||||
@@ -188703,6 +188728,7 @@
|
||||
"memory_in_bytes": 8589934592,
|
||||
"cpus": 4
|
||||
},
|
||||
"prebuild": false,
|
||||
"created_at": "2021-10-14T00:53:30-06:00",
|
||||
"updated_at": "2021-10-14T00:53:32-06:00",
|
||||
"last_used_at": "2021-10-14T00:53:30-06:00",
|
||||
@@ -319858,6 +319884,12 @@
|
||||
],
|
||||
"nullable": true
|
||||
},
|
||||
"prebuild": {
|
||||
"description": "Whether the codespace was created from a prebuild.",
|
||||
"type": "boolean",
|
||||
"example": false,
|
||||
"nullable": true
|
||||
},
|
||||
"created_at": {
|
||||
"type": "string",
|
||||
"format": "date-time",
|
||||
@@ -319990,6 +320022,7 @@
|
||||
"billable_owner",
|
||||
"repository",
|
||||
"machine",
|
||||
"prebuild",
|
||||
"created_at",
|
||||
"updated_at",
|
||||
"last_used_at",
|
||||
@@ -320129,6 +320162,7 @@
|
||||
"memory_in_bytes": 8589934592,
|
||||
"cpus": 4
|
||||
},
|
||||
"prebuild": false,
|
||||
"created_at": "2021-10-14T00:53:30-06:00",
|
||||
"updated_at": "2021-10-14T00:53:32-06:00",
|
||||
"last_used_at": "2021-10-14T00:53:30-06:00",
|
||||
@@ -322133,6 +322167,12 @@
|
||||
],
|
||||
"nullable": true
|
||||
},
|
||||
"prebuild": {
|
||||
"description": "Whether the codespace was created from a prebuild.",
|
||||
"type": "boolean",
|
||||
"example": false,
|
||||
"nullable": true
|
||||
},
|
||||
"created_at": {
|
||||
"type": "string",
|
||||
"format": "date-time",
|
||||
@@ -322265,6 +322305,7 @@
|
||||
"billable_owner",
|
||||
"repository",
|
||||
"machine",
|
||||
"prebuild",
|
||||
"created_at",
|
||||
"updated_at",
|
||||
"last_used_at",
|
||||
@@ -322404,6 +322445,7 @@
|
||||
"memory_in_bytes": 8589934592,
|
||||
"cpus": 4
|
||||
},
|
||||
"prebuild": false,
|
||||
"created_at": "2021-10-14T00:53:30-06:00",
|
||||
"updated_at": "2021-10-14T00:53:32-06:00",
|
||||
"last_used_at": "2021-10-14T00:53:30-06:00",
|
||||
@@ -386340,6 +386382,12 @@
|
||||
],
|
||||
"nullable": true
|
||||
},
|
||||
"prebuild": {
|
||||
"description": "Whether the codespace was created from a prebuild.",
|
||||
"type": "boolean",
|
||||
"example": false,
|
||||
"nullable": true
|
||||
},
|
||||
"created_at": {
|
||||
"type": "string",
|
||||
"format": "date-time",
|
||||
@@ -386472,6 +386520,7 @@
|
||||
"billable_owner",
|
||||
"repository",
|
||||
"machine",
|
||||
"prebuild",
|
||||
"created_at",
|
||||
"updated_at",
|
||||
"last_used_at",
|
||||
@@ -386617,6 +386666,7 @@
|
||||
"memory_in_bytes": 8589934592,
|
||||
"cpus": 4
|
||||
},
|
||||
"prebuild": false,
|
||||
"created_at": "2021-10-14T00:53:30-06:00",
|
||||
"updated_at": "2021-10-14T00:53:32-06:00",
|
||||
"last_used_at": "2021-10-14T00:53:30-06:00",
|
||||
@@ -386760,6 +386810,7 @@
|
||||
"memory_in_bytes": 8589934592,
|
||||
"cpus": 4
|
||||
},
|
||||
"prebuild": false,
|
||||
"created_at": "2021-10-14T00:53:30-06:00",
|
||||
"updated_at": "2021-10-14T00:53:32-06:00",
|
||||
"last_used_at": "2021-10-14T00:53:30-06:00",
|
||||
@@ -386903,6 +386954,7 @@
|
||||
"memory_in_bytes": 8589934592,
|
||||
"cpus": 4
|
||||
},
|
||||
"prebuild": false,
|
||||
"created_at": "2021-10-14T00:53:30-06:00",
|
||||
"updated_at": "2021-10-14T00:53:32-06:00",
|
||||
"last_used_at": "2021-10-14T00:53:30-06:00",
|
||||
@@ -389119,6 +389171,12 @@
|
||||
],
|
||||
"nullable": true
|
||||
},
|
||||
"prebuild": {
|
||||
"description": "Whether the codespace was created from a prebuild.",
|
||||
"type": "boolean",
|
||||
"example": false,
|
||||
"nullable": true
|
||||
},
|
||||
"created_at": {
|
||||
"type": "string",
|
||||
"format": "date-time",
|
||||
@@ -389251,6 +389309,7 @@
|
||||
"billable_owner",
|
||||
"repository",
|
||||
"machine",
|
||||
"prebuild",
|
||||
"created_at",
|
||||
"updated_at",
|
||||
"last_used_at",
|
||||
@@ -389390,6 +389449,7 @@
|
||||
"memory_in_bytes": 8589934592,
|
||||
"cpus": 4
|
||||
},
|
||||
"prebuild": false,
|
||||
"created_at": "2021-10-14T00:53:30-06:00",
|
||||
"updated_at": "2021-10-14T00:53:32-06:00",
|
||||
"last_used_at": "2021-10-14T00:53:30-06:00",
|
||||
@@ -391394,6 +391454,12 @@
|
||||
],
|
||||
"nullable": true
|
||||
},
|
||||
"prebuild": {
|
||||
"description": "Whether the codespace was created from a prebuild.",
|
||||
"type": "boolean",
|
||||
"example": false,
|
||||
"nullable": true
|
||||
},
|
||||
"created_at": {
|
||||
"type": "string",
|
||||
"format": "date-time",
|
||||
@@ -391526,6 +391592,7 @@
|
||||
"billable_owner",
|
||||
"repository",
|
||||
"machine",
|
||||
"prebuild",
|
||||
"created_at",
|
||||
"updated_at",
|
||||
"last_used_at",
|
||||
@@ -391665,6 +391732,7 @@
|
||||
"memory_in_bytes": 8589934592,
|
||||
"cpus": 4
|
||||
},
|
||||
"prebuild": false,
|
||||
"created_at": "2021-10-14T00:53:30-06:00",
|
||||
"updated_at": "2021-10-14T00:53:32-06:00",
|
||||
"last_used_at": "2021-10-14T00:53:30-06:00",
|
||||
@@ -397046,6 +397114,12 @@
|
||||
],
|
||||
"nullable": true
|
||||
},
|
||||
"prebuild": {
|
||||
"description": "Whether the codespace was created from a prebuild.",
|
||||
"type": "boolean",
|
||||
"example": false,
|
||||
"nullable": true
|
||||
},
|
||||
"created_at": {
|
||||
"type": "string",
|
||||
"format": "date-time",
|
||||
@@ -397178,6 +397252,7 @@
|
||||
"billable_owner",
|
||||
"repository",
|
||||
"machine",
|
||||
"prebuild",
|
||||
"created_at",
|
||||
"updated_at",
|
||||
"last_used_at",
|
||||
@@ -397317,6 +397392,7 @@
|
||||
"memory_in_bytes": 8589934592,
|
||||
"cpus": 4
|
||||
},
|
||||
"prebuild": false,
|
||||
"created_at": "2021-10-14T00:53:30-06:00",
|
||||
"updated_at": "2021-10-14T00:53:32-06:00",
|
||||
"last_used_at": "2021-10-14T00:53:30-06:00",
|
||||
@@ -399478,6 +399554,12 @@
|
||||
],
|
||||
"nullable": true
|
||||
},
|
||||
"prebuild": {
|
||||
"description": "Whether the codespace was created from a prebuild.",
|
||||
"type": "boolean",
|
||||
"example": false,
|
||||
"nullable": true
|
||||
},
|
||||
"created_at": {
|
||||
"type": "string",
|
||||
"format": "date-time",
|
||||
@@ -399610,6 +399692,7 @@
|
||||
"billable_owner",
|
||||
"repository",
|
||||
"machine",
|
||||
"prebuild",
|
||||
"created_at",
|
||||
"updated_at",
|
||||
"last_used_at",
|
||||
@@ -399749,6 +399832,7 @@
|
||||
"memory_in_bytes": 8589934592,
|
||||
"cpus": 4
|
||||
},
|
||||
"prebuild": false,
|
||||
"created_at": "2021-10-14T00:53:30-06:00",
|
||||
"updated_at": "2021-10-14T00:53:32-06:00",
|
||||
"last_used_at": "2021-10-14T00:53:30-06:00",
|
||||
@@ -402244,6 +402328,12 @@
|
||||
],
|
||||
"nullable": true
|
||||
},
|
||||
"prebuild": {
|
||||
"description": "Whether the codespace was created from a prebuild.",
|
||||
"type": "boolean",
|
||||
"example": false,
|
||||
"nullable": true
|
||||
},
|
||||
"created_at": {
|
||||
"type": "string",
|
||||
"format": "date-time",
|
||||
@@ -402376,6 +402466,7 @@
|
||||
"billable_owner",
|
||||
"repository",
|
||||
"machine",
|
||||
"prebuild",
|
||||
"created_at",
|
||||
"updated_at",
|
||||
"last_used_at",
|
||||
@@ -402515,6 +402606,7 @@
|
||||
"memory_in_bytes": 8589934592,
|
||||
"cpus": 4
|
||||
},
|
||||
"prebuild": false,
|
||||
"created_at": "2021-10-14T00:53:30-06:00",
|
||||
"updated_at": "2021-10-14T00:53:32-06:00",
|
||||
"last_used_at": "2021-10-14T00:53:30-06:00",
|
||||
@@ -404771,6 +404863,12 @@
|
||||
],
|
||||
"nullable": true
|
||||
},
|
||||
"prebuild": {
|
||||
"description": "Whether the codespace was created from a prebuild.",
|
||||
"type": "boolean",
|
||||
"example": false,
|
||||
"nullable": true
|
||||
},
|
||||
"created_at": {
|
||||
"type": "string",
|
||||
"format": "date-time",
|
||||
@@ -404903,6 +405001,7 @@
|
||||
"billable_owner",
|
||||
"repository",
|
||||
"machine",
|
||||
"prebuild",
|
||||
"created_at",
|
||||
"updated_at",
|
||||
"last_used_at",
|
||||
@@ -405042,6 +405141,7 @@
|
||||
"memory_in_bytes": 8589934592,
|
||||
"cpus": 4
|
||||
},
|
||||
"prebuild": false,
|
||||
"created_at": "2021-10-14T00:53:30-06:00",
|
||||
"updated_at": "2021-10-14T00:53:32-06:00",
|
||||
"last_used_at": "2021-10-14T00:53:30-06:00",
|
||||
|
||||
@@ -1,10 +1,9 @@
|
||||
export const maxRecordLength = 8000
|
||||
export const maxContentLength = 5000
|
||||
export const namePrefix = 'github-docs'
|
||||
export const maxContentLength = 5000
|
||||
|
||||
export default {
|
||||
// records must be truncated to avoid going over 10K limit
|
||||
maxRecordLength,
|
||||
// to reduce the size of our enormous search index, we limit the
|
||||
// content and record size for translated articles
|
||||
maxContentLength,
|
||||
namePrefix,
|
||||
}
|
||||
|
||||
@@ -1,3 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:ed771a499cb19e792f7527dfa479303895ceba08ec04ab36db55bcd88a8bb612
|
||||
size 540706
|
||||
oid sha256:1fcb21f35dd7f43c5f411198ed50617d4294500d49dc05e0c8afad5b74953b01
|
||||
size 617819
|
||||
|
||||
@@ -1,3 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:26573f7ae78bab3837f2867d3d9c259a76541f566b88827a94e2efb1f19f9fc8
|
||||
size 930271
|
||||
oid sha256:941a564c912cc72ea47456688fc123a10cc8f37f6d43aa0472cfec83154fa93a
|
||||
size 1058884
|
||||
|
||||
@@ -1,3 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:ff909020be97f8186de176ee270284792c0e5ae6a012084b1a28d7cf2a55e144
|
||||
size 471017
|
||||
oid sha256:ce851e4db3e79a381f9aae9e1ceff4771aaf6fb48fdd9791fa06b250cbe77b0b
|
||||
size 940123
|
||||
|
||||
@@ -1,3 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:77c357397d91408b939394909b6443bd375b556b4681a5146bc143da3b4c98e3
|
||||
size 1846190
|
||||
oid sha256:d628d4bd199dac442d9973e8bea0231b507b087686917e814151873b90d66bb5
|
||||
size 3842885
|
||||
|
||||
@@ -1,3 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:6f8d6bcd58eb2224465d3714d34b4d717870b0a281cb3ba3d1e8a7635c88985e
|
||||
size 472954
|
||||
oid sha256:6484b5e78bca6f43c3b4bb8d58b3b196a38b8e34bd6f94e401ffbb57fdbc5041
|
||||
size 546387
|
||||
|
||||
@@ -1,3 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:d3c961dfb10b26802925baa04d5fff4c339de1d6eea0cc222889d7a204d84f9b
|
||||
size 1943175
|
||||
oid sha256:02c286c0a856814381f8a0921ed599ceade9e74fd2302e5ecf32d0aaafa23e47
|
||||
size 2168548
|
||||
|
||||
@@ -1,3 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:eda47addc3f7a71bcd705a113728cb840166c7bb76214090771b0fbefe16481b
|
||||
size 561630
|
||||
oid sha256:dd65c3fb103f052a615d5df677f29f2d247abdb7c44e896387dbf76b93595994
|
||||
size 639020
|
||||
|
||||
@@ -1,3 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:1482acc52d886a47bb1b55dbc17b273a7f214852f84e90eecf0922ac0914f5be
|
||||
size 2995949
|
||||
oid sha256:039b8561d17af1a9529dd2f2f5c924ce39cfd3cdba0672e74a3e4f6ef89f4791
|
||||
size 3285154
|
||||
|
||||
@@ -1,3 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:6157cbf7a00127aac99641e2d48d769f29a4d0e23d97fa04256fad5133f5c7bb
|
||||
size 470575
|
||||
oid sha256:85923810bb79eaa84d849b5fa3d4236906ac437b5adde7bea26f3a19f31face6
|
||||
size 544343
|
||||
|
||||
@@ -1,3 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:736ace309384c7c80deb350aee0c8cb1b9c6e5881bb9461e8dc3fb27cec10fd2
|
||||
size 1962359
|
||||
oid sha256:13fef927fc676fd87e9088e8d32ef68b5a822adb36b4454badbcc3f93a12becb
|
||||
size 2191761
|
||||
|
||||
@@ -1,3 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:4ada49e4db010aae977ca6b0fe69148e5c9f167cef5c79d7838aa9329112937f
|
||||
size 554409
|
||||
oid sha256:a6297ae6a3e645eac04ec26df2e5218405d44a68c7958111db24b1fcb1e24a08
|
||||
size 632017
|
||||
|
||||
@@ -1,3 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:03b4b925fcaebea1e4f8b1c8d5a8e0f6190b483ebdc06a673bba8c45886435c3
|
||||
size 959316
|
||||
oid sha256:85221a0b1d2b22322089b1ef08170efd6a26a85f997ca4ec629b082e044fffa0
|
||||
size 1089761
|
||||
|
||||
@@ -1,3 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:4b1c629d966fc0c1b35ae2369ece1e5459d29c1e5c7a7e1e6752a40a17005325
|
||||
size 482004
|
||||
oid sha256:9daf1538bbaf046921409b2f36aa28b8254fa3cc795be94ff92c1acbb2fef715
|
||||
size 964212
|
||||
|
||||
@@ -1,3 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:8bd513dc7112c86452f84c54d212dbf469512f4def9449ee8e099df22f0f027b
|
||||
size 1890340
|
||||
oid sha256:50801f1f946c024bbb442dfd3ba14c249562777066f31c6819693f89e350b527
|
||||
size 3933998
|
||||
|
||||
@@ -1,3 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:50c005f2979e4044c723bf927fab8624bb838dbc25e536206291d5320ee36dee
|
||||
size 483436
|
||||
oid sha256:c77161a7c0f595a4442cd58df58d3e057548ecea8016270b2fba6f67a80e0185
|
||||
size 557862
|
||||
|
||||
@@ -1,3 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:27d2727c77006f6ee5a38ce757bf505056f88de4ced5177e7a5af2c98752f63d
|
||||
size 1988369
|
||||
oid sha256:49bf544e7c5f73164516a85cee606a4b0a27a6df7f3d94b7c235e024e475a450
|
||||
size 2219035
|
||||
|
||||
@@ -1,3 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:2b4f7455fe523ac6b515cfc356cd50604b831175bfc2ed96262f66f699a272f4
|
||||
size 574687
|
||||
oid sha256:6f2e7d6700f1279a3c70d2cb4576cfbaee1d683bc4d1f07393075dfcaab786af
|
||||
size 653304
|
||||
|
||||
@@ -1,3 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:cddd6e20bb3223d5fc6bd1b1c967b1949d4eb81d2b36358e890e5342588a7c27
|
||||
size 3074880
|
||||
oid sha256:b1fba394d8fa798f8be15bbd984bfc34c065250b2803223b0de03df1df8162cb
|
||||
size 3364411
|
||||
|
||||
@@ -1,3 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:b192dfd1d483df4414bbdadfa52a7ebb8dfc461248522d33777f4808e8ef5d3a
|
||||
size 481189
|
||||
oid sha256:6589c11aa919b7ff78117fe94cc62b129f6b9f37a6d6edde318ec94ec10868cb
|
||||
size 555525
|
||||
|
||||