1
0
mirror of synced 2025-12-20 10:28:40 -05:00

Merge branch 'main' into update-powershell-usage

This commit is contained in:
Ramya Parimi
2021-11-11 07:31:04 -06:00
committed by GitHub
165 changed files with 1254 additions and 770 deletions

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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
@@ -116,7 +116,7 @@ jobs:
issue-number: ${{ github.event.pull_request.number }}
body: |
<!-- MODIFIED_CONTENT_LINKING_COMMENT -->
## Automatically generated comment
## Automatically generated comment
**This comment is automatically generated and will be overwritten every time changes are committed to this branch.**
The table contains an overview of files in the `content` directory that have been changed in this pull request. It's provided to make it easy to review your changes on the staging site. Please note that changes to the `data` directory will not show up in this table.

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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
@@ -201,12 +201,12 @@ jobs:
})
console.log(updateBranch.data.message)
} catch (error) {
// Only retry once. We'll rely on the update branch workflow to update
// Only retry once. We'll rely on the update branch workflow to update
// this PR in the case of a second failure.
console.log(`Retried updating the branch, but an error occurred: ${error}`)
}
} else {
// A failed branch update shouldn't fail this worklow.
// A failed branch update shouldn't fail this worklow.
console.log(`An error occurred when updating the branch: ${error}`)
}
}

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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

Binary file not shown.

After

Width:  |  Height:  |  Size: 22 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 18 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 39 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 12 KiB

After

Width:  |  Height:  |  Size: 19 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 12 KiB

View File

@@ -11,6 +11,10 @@
border-bottom: 1px solid currentColor;
}
.searchResultContent {
max-height: 4rem;
}
.searchResultContent mark {
text-decoration: none;
border-bottom: 1px dotted currentColor;

View File

@@ -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,
}}
/>
<div
className={cx(styles.searchResultContent, 'd-block overflow-hidden')}
style={{ maxHeight: '4rem' }}
dangerouslySetInnerHTML={{ __html: content }}
/>
{content ? (
<div
className={cx(styles.searchResultContent, 'd-block overflow-hidden')}
dangerouslySetInnerHTML={{ __html: content }}
/>
) : (
<div className={cx(styles.searchResultContent, 'd-block overflow-hidden')}>
<i>{t('no_content')}</i>
</div>
)}
</a>
</div>
</li>

View File

@@ -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">

View File

@@ -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)

View File

@@ -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 }} />

View File

@@ -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 />

View File

@@ -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()

View File

@@ -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

View File

@@ -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 && (

View File

@@ -109,7 +109,7 @@ When you set your status, you can also let people know that you have limited ava
![Requested reviewer shows "busy" note next to username](/assets/images/help/profile/request-a-review-limited-availability-status.png)
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.
![Button on profile to set your status](/assets/images/help/profile/set-status-on-profile.png)

View File

@@ -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

View File

@@ -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 %}

View File

@@ -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
---

View File

@@ -40,7 +40,7 @@ You can use the `GITHUB_TOKEN` by using the standard syntax for referencing secr
{% endnote %}
{% endif %}
{% data reusables.github-actions.actions-do-not-trigger-workflows %}
{% data reusables.github-actions.actions-do-not-trigger-workflows %}
### Example 1: passing the `GITHUB_TOKEN` as an input
@@ -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 |
@@ -142,7 +142,7 @@ You can use the `permissions` key in your workflow file to modify permissions fo
{% data reusables.github-actions.forked-write-permission %}
The two workflow examples earlier in this article show the `permissions` key being used at the workflow level, and at the job level. In [Example 1](#example-1-passing-the-github_token-as-an-input) the two permissions are specified for the entire workflow. In [Example 2](#example-2-calling-the-rest-api) write access is granted for one scope for a single job.
The two workflow examples earlier in this article show the `permissions` key being used at the workflow level, and at the job level. In [Example 1](#example-1-passing-the-github_token-as-an-input) the two permissions are specified for the entire workflow. In [Example 2](#example-2-calling-the-rest-api) write access is granted for one scope for a single job.
For full details of the `permissions` key, see "[Workflow syntax for {% data variables.product.prodname_actions %}](/actions/reference/workflow-syntax-for-github-actions#permissions)."

View File

@@ -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 %}

View File

@@ -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:

View File

@@ -152,6 +152,8 @@ Before adding a new SSH key to the ssh-agent to manage your keys, you should hav
**Note:** The `-K` option is Apple's standard version of `ssh-add`, which stores the passphrase in your keychain for you when you add an SSH key to the ssh-agent. If you chose not to add a passphrase to your key, run the command without the `-K` option.
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 %}

View File

@@ -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.
![{% data variables.product.prodname_GH_advanced_security %} in enterprise licensing settings](/assets/images/help/enterprises/enterprise-licensing-tab-ghas.png)
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)."
![{% data variables.product.prodname_GH_advanced_security %} in enterprise licensing settings showing "Limit exceeded"](/assets/images/help/enterprises/enterprise-licensing-tab-ghas-no-seats.png)
4. Optionally, to see a detailed breakdown of usage per organization, in the left sidebar, click **Billing**.
![Billing tab in the enterprise account settings sidebar](/assets/images/help/business-accounts/settings-billing-tab.png)
@@ -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."
![Download button for organization-level data](/assets/images/help/billing/download-organization-GHAS-usage-data.png)
#### 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."
![Download button for enterprise-level data](/assets/images/help/billing/download-enterprise-GHAS-usage-data.png)
### 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 %}

View File

@@ -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.

View File

@@ -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 %}

View File

@@ -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)

View File

@@ -8,6 +8,7 @@ versions:
topics:
- Codespaces
children:
- /codespaces-lifecycle
- /creating-a-codespace
- /developing-in-a-codespace
- /using-source-control-in-your-codespace

View File

@@ -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".
![Clicking on "Insiders Build" in {% data variables.product.prodname_codespaces %}](/assets/images/help/codespaces/codespaces-insiders-vscode.png)
3. Once selected, {% data variables.product.prodname_codespaces %} will continue to open in Insiders Version.

View File

@@ -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)

View File

@@ -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

View File

@@ -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!

View File

@@ -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.

View File

@@ -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

View File

@@ -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 %}

View File

@@ -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

View File

@@ -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**
![Code review assignment button](/assets/images/help/teams/review-assignment-button.png)
5. In the left sidebar, click **Code review**
![Code review button](/assets/images/help/teams/review-button.png)
2. Select **Only notify requested team members.**
![Code review team notifications](/assets/images/help/teams/review-assignment-notifications.png)
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**
![Code review button](/assets/images/help/teams/review-button.png)
6. Select **Enable auto assignment**.
![Code review assignment button](/assets/images/help/teams/review-assignment-enable.png)
![Auto-assignment button](/assets/images/help/teams/review-assignment-enable.png)
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.
![Number of reviewers dropdown](/assets/images/help/teams/review-assignment-number.png)
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)."
![Routing algorithm dropdown](/assets/images/help/teams/review-assignment-algorithm.png)
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.
![Never assign certain team members checkbox and dropdown](/assets/images/help/teams/review-assignment-skip-members.png)
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.**
![Code review assignment notifications](/assets/images/help/teams/review-assignment-notifications.png){% 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 %}

View File

@@ -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 %}

View File

@@ -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/)."

View File

@@ -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" %}.

View 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: '*'

View File

@@ -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)."

View File

@@ -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
@@ -16,7 +16,7 @@ permissions:
statuses: read|write|none
```
If you specify the access for any of these scopes, all of those that are not specified are set to `none`.
If you specify the access for any of these scopes, all of those that are not specified are set to `none`.
You can use the following syntax to define read or write access for all of the available scopes:

View File

@@ -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 %}

View File

@@ -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

View File

@@ -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')
}
/**

File diff suppressed because one or more lines are too long

View File

@@ -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",

View File

@@ -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,
}

View File

@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:ed771a499cb19e792f7527dfa479303895ceba08ec04ab36db55bcd88a8bb612
size 540706
oid sha256:1fcb21f35dd7f43c5f411198ed50617d4294500d49dc05e0c8afad5b74953b01
size 617819

View File

@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:26573f7ae78bab3837f2867d3d9c259a76541f566b88827a94e2efb1f19f9fc8
size 930271
oid sha256:941a564c912cc72ea47456688fc123a10cc8f37f6d43aa0472cfec83154fa93a
size 1058884

View File

@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:ff909020be97f8186de176ee270284792c0e5ae6a012084b1a28d7cf2a55e144
size 471017
oid sha256:ce851e4db3e79a381f9aae9e1ceff4771aaf6fb48fdd9791fa06b250cbe77b0b
size 940123

View File

@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:77c357397d91408b939394909b6443bd375b556b4681a5146bc143da3b4c98e3
size 1846190
oid sha256:d628d4bd199dac442d9973e8bea0231b507b087686917e814151873b90d66bb5
size 3842885

View File

@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:6f8d6bcd58eb2224465d3714d34b4d717870b0a281cb3ba3d1e8a7635c88985e
size 472954
oid sha256:6484b5e78bca6f43c3b4bb8d58b3b196a38b8e34bd6f94e401ffbb57fdbc5041
size 546387

View File

@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:d3c961dfb10b26802925baa04d5fff4c339de1d6eea0cc222889d7a204d84f9b
size 1943175
oid sha256:02c286c0a856814381f8a0921ed599ceade9e74fd2302e5ecf32d0aaafa23e47
size 2168548

View File

@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:eda47addc3f7a71bcd705a113728cb840166c7bb76214090771b0fbefe16481b
size 561630
oid sha256:dd65c3fb103f052a615d5df677f29f2d247abdb7c44e896387dbf76b93595994
size 639020

View File

@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:1482acc52d886a47bb1b55dbc17b273a7f214852f84e90eecf0922ac0914f5be
size 2995949
oid sha256:039b8561d17af1a9529dd2f2f5c924ce39cfd3cdba0672e74a3e4f6ef89f4791
size 3285154

View File

@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:6157cbf7a00127aac99641e2d48d769f29a4d0e23d97fa04256fad5133f5c7bb
size 470575
oid sha256:85923810bb79eaa84d849b5fa3d4236906ac437b5adde7bea26f3a19f31face6
size 544343

View File

@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:736ace309384c7c80deb350aee0c8cb1b9c6e5881bb9461e8dc3fb27cec10fd2
size 1962359
oid sha256:13fef927fc676fd87e9088e8d32ef68b5a822adb36b4454badbcc3f93a12becb
size 2191761

View File

@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:4ada49e4db010aae977ca6b0fe69148e5c9f167cef5c79d7838aa9329112937f
size 554409
oid sha256:a6297ae6a3e645eac04ec26df2e5218405d44a68c7958111db24b1fcb1e24a08
size 632017

View File

@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:03b4b925fcaebea1e4f8b1c8d5a8e0f6190b483ebdc06a673bba8c45886435c3
size 959316
oid sha256:85221a0b1d2b22322089b1ef08170efd6a26a85f997ca4ec629b082e044fffa0
size 1089761

View File

@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:4b1c629d966fc0c1b35ae2369ece1e5459d29c1e5c7a7e1e6752a40a17005325
size 482004
oid sha256:9daf1538bbaf046921409b2f36aa28b8254fa3cc795be94ff92c1acbb2fef715
size 964212

View File

@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:8bd513dc7112c86452f84c54d212dbf469512f4def9449ee8e099df22f0f027b
size 1890340
oid sha256:50801f1f946c024bbb442dfd3ba14c249562777066f31c6819693f89e350b527
size 3933998

View File

@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:50c005f2979e4044c723bf927fab8624bb838dbc25e536206291d5320ee36dee
size 483436
oid sha256:c77161a7c0f595a4442cd58df58d3e057548ecea8016270b2fba6f67a80e0185
size 557862

View File

@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:27d2727c77006f6ee5a38ce757bf505056f88de4ced5177e7a5af2c98752f63d
size 1988369
oid sha256:49bf544e7c5f73164516a85cee606a4b0a27a6df7f3d94b7c235e024e475a450
size 2219035

View File

@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:2b4f7455fe523ac6b515cfc356cd50604b831175bfc2ed96262f66f699a272f4
size 574687
oid sha256:6f2e7d6700f1279a3c70d2cb4576cfbaee1d683bc4d1f07393075dfcaab786af
size 653304

View File

@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:cddd6e20bb3223d5fc6bd1b1c967b1949d4eb81d2b36358e890e5342588a7c27
size 3074880
oid sha256:b1fba394d8fa798f8be15bbd984bfc34c065250b2803223b0de03df1df8162cb
size 3364411

View File

@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:b192dfd1d483df4414bbdadfa52a7ebb8dfc461248522d33777f4808e8ef5d3a
size 481189
oid sha256:6589c11aa919b7ff78117fe94cc62b129f6b9f37a6d6edde318ec94ec10868cb
size 555525

Some files were not shown because too many files have changed in this diff Show More