Merge branch 'main' into repo-sync
9
.github/workflows/build-docker-image.yml
vendored
@@ -9,6 +9,15 @@ on:
|
||||
branches:
|
||||
- main
|
||||
pull_request:
|
||||
paths:
|
||||
- .npmrc
|
||||
- Dockerfile
|
||||
- package.json
|
||||
- package-lock.json
|
||||
- next.config.js
|
||||
- tsconfig.json
|
||||
- next-env.d.ts
|
||||
- .github/workflows/build-docker-image.yml
|
||||
|
||||
env:
|
||||
CI: true
|
||||
|
||||
1
.github/workflows/remove-unused-assets.yml
vendored
@@ -33,7 +33,6 @@ jobs:
|
||||
- name: Run scripts
|
||||
run: |
|
||||
script/remove-unused-assets.js > results.md
|
||||
script/remove-extraneous-translation-files.js
|
||||
- name: Get script results to use in PR body
|
||||
id: results
|
||||
uses: juliangruber/read-file-action@e0a316da496006ffd19142f0fd594a1783f3b512
|
||||
|
||||
|
After Width: | Height: | Size: 26 KiB |
|
After Width: | Height: | Size: 18 KiB |
|
Before Width: | Height: | Size: 30 KiB After Width: | Height: | Size: 30 KiB |
BIN
assets/images/enterprise/3.3/dependabot/dependabot-secrets.png
Normal file
|
After Width: | Height: | Size: 26 KiB |
|
After Width: | Height: | Size: 152 KiB |
|
After Width: | Height: | Size: 297 KiB |
|
After Width: | Height: | Size: 307 KiB |
|
After Width: | Height: | Size: 98 KiB |
|
After Width: | Height: | Size: 250 KiB |
|
After Width: | Height: | Size: 78 KiB |
|
After Width: | Height: | Size: 39 KiB |
|
After Width: | Height: | Size: 39 KiB |
|
After Width: | Height: | Size: 79 KiB |
|
After Width: | Height: | Size: 67 KiB |
BIN
assets/images/enterprise/stafftools/end-impersonation.png
Normal file
|
After Width: | Height: | Size: 11 KiB |
BIN
assets/images/enterprise/stafftools/impersonate.png
Normal file
|
After Width: | Height: | Size: 11 KiB |
BIN
assets/images/enterprise/stafftools/impersonation-reason.png
Normal file
|
After Width: | Height: | Size: 22 KiB |
BIN
assets/images/enterprise/stafftools/user-info.png
Normal file
|
After Width: | Height: | Size: 12 KiB |
|
Before Width: | Height: | Size: 25 KiB After Width: | Height: | Size: 32 KiB |
|
Before Width: | Height: | Size: 11 KiB |
|
Before Width: | Height: | Size: 33 KiB |
|
Before Width: | Height: | Size: 26 KiB |
BIN
assets/images/help/dependabot/dependabot-tab-view-error.png
Normal file
|
After Width: | Height: | Size: 44 KiB |
BIN
assets/images/help/dependabot/dependabot-tab-view.png
Normal file
|
After Width: | Height: | Size: 58 KiB |
BIN
assets/images/help/dependabot/dependabot-tab.png
Normal file
|
After Width: | Height: | Size: 8.7 KiB |
|
Before Width: | Height: | Size: 47 KiB |
|
After Width: | Height: | Size: 80 KiB |
|
Before Width: | Height: | Size: 6.0 KiB After Width: | Height: | Size: 16 KiB |
|
Before Width: | Height: | Size: 49 KiB After Width: | Height: | Size: 110 KiB |
|
Before Width: | Height: | Size: 26 KiB After Width: | Height: | Size: 125 KiB |
|
Before Width: | Height: | Size: 18 KiB After Width: | Height: | Size: 79 KiB |
|
Before Width: | Height: | Size: 32 KiB After Width: | Height: | Size: 77 KiB |
@@ -2,6 +2,7 @@ import cx from 'classnames'
|
||||
import { useRouter } from 'next/router'
|
||||
import { useMainContext } from '../context/MainContext'
|
||||
import { Link } from 'components/Link'
|
||||
import styles from './Header.module.scss'
|
||||
|
||||
export type BreadcrumbT = {
|
||||
title: string
|
||||
@@ -21,13 +22,16 @@ export const Breadcrumbs = () => {
|
||||
If these change, please also change
|
||||
updating script/search/parse-page-sections-into-records.js.
|
||||
*/
|
||||
<nav data-testid="breadcrumbs" className="f5 breadcrumbs" aria-label="Breadcrumb">
|
||||
<nav
|
||||
data-testid="breadcrumbs"
|
||||
className={cx('f5 breadcrumbs', styles.collapsebreadcrumbs)}
|
||||
aria-label="Breadcrumb"
|
||||
>
|
||||
{Object.values(breadcrumbs).map((breadcrumb, i, arr) => {
|
||||
if (!breadcrumb) {
|
||||
return null
|
||||
}
|
||||
|
||||
const title = `${breadcrumb.documentType}: ${breadcrumb.title}`
|
||||
const title = `${breadcrumb.title}`
|
||||
return [
|
||||
!breadcrumb.href ? (
|
||||
<span data-testid="breadcrumb-title" key={title} title={title} className="px-2">
|
||||
@@ -39,19 +43,16 @@ export const Breadcrumbs = () => {
|
||||
data-testid="breadcrumb-link"
|
||||
href={breadcrumb.href}
|
||||
title={title}
|
||||
className={cx(
|
||||
'd-inline-block px-2',
|
||||
pathWithLocale === breadcrumb.href && 'color-fg-muted'
|
||||
)}
|
||||
className={cx('pr-3', pathWithLocale === breadcrumb.href && 'color-fg-muted')}
|
||||
>
|
||||
{breadcrumb.title}
|
||||
{i !== arr.length - 1 ? (
|
||||
<span className="color-fg-muted pl-3" key={`${i}-slash`}>
|
||||
/
|
||||
</span>
|
||||
) : null}
|
||||
</Link>
|
||||
),
|
||||
i !== arr.length - 1 ? (
|
||||
<span className="color-fg-muted" key={`${i}-slash`}>
|
||||
/
|
||||
</span>
|
||||
) : null,
|
||||
]
|
||||
})}
|
||||
</nav>
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
import { useMainContext } from 'components/context/MainContext'
|
||||
import { useVersion } from 'components/hooks/useVersion'
|
||||
import { Callout } from 'components/ui/Callout'
|
||||
import { Flash } from '@primer/components'
|
||||
|
||||
export const DeprecationBanner = () => {
|
||||
const { data, enterpriseServerReleases } = useMainContext()
|
||||
@@ -16,7 +16,7 @@ export const DeprecationBanner = () => {
|
||||
|
||||
return (
|
||||
<div data-testid="deprecation-banner" className="container-xl mt-3 mx-auto p-responsive">
|
||||
<Callout variant="warning">
|
||||
<Flash variant="warning">
|
||||
<p>
|
||||
<b className="text-bold">
|
||||
<span dangerouslySetInnerHTML={{ __html: message }} />{' '}
|
||||
@@ -35,7 +35,7 @@ export const DeprecationBanner = () => {
|
||||
}}
|
||||
/>
|
||||
</p>
|
||||
</Callout>
|
||||
</Flash>
|
||||
</div>
|
||||
)
|
||||
}
|
||||
|
||||
@@ -2,6 +2,12 @@
|
||||
clip-path: inset(-5px -5px -5px 0px);
|
||||
}
|
||||
|
||||
@media only screen and (max-width: 1750px) {
|
||||
.collapsebreadcrumbs a:not(:first-child):not(:last-child) {
|
||||
display: none;
|
||||
}
|
||||
}
|
||||
|
||||
.header {
|
||||
display: unset;
|
||||
}
|
||||
|
||||
@@ -49,8 +49,8 @@ export const Header = () => {
|
||||
{error !== '404' && <HeaderNotifications />}
|
||||
<header
|
||||
className={cx(
|
||||
'color-bg-default px-3 px-md-6 pt-3 pb-3 position-sticky top-0 z-3',
|
||||
scroll ? 'color-shadow-medium' : 'color-shadow-small'
|
||||
'color-bg-default px-3 px-md-6 pt-3 pb-3 position-sticky top-0 z-3 border-bottom',
|
||||
scroll && 'color-shadow-small'
|
||||
)}
|
||||
>
|
||||
{/* desktop header */}
|
||||
|
||||
@@ -1,4 +1,8 @@
|
||||
.container a {
|
||||
color: var(--color-accent-fg);
|
||||
text-decoration: underline;
|
||||
.container {
|
||||
position: relative;
|
||||
|
||||
a {
|
||||
color: var(--color-accent-fg);
|
||||
text-decoration: underline;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -87,6 +87,7 @@ export const HeaderNotifications = () => {
|
||||
data-testid="header-notification"
|
||||
data-type={type}
|
||||
className={cx(
|
||||
'flash flash-banner',
|
||||
styles.container,
|
||||
'text-center f5 color-fg-default py-4 px-6',
|
||||
type === NotificationType.TRANSLATION && 'color-bg-accent',
|
||||
|
||||
@@ -108,7 +108,7 @@ To add a `repo:` filter, you must include the owner of the repository in the que
|
||||
|
||||
### Supported `is:` queries
|
||||
|
||||
To filter notifications for specific activity on {% data variables.product.product_location %}, you can use the `is` query. For example, to only see repository invitation updates, use `is:repository-invitation`{% ifversion not ghae %}, and to only see {% ifversion fpt or ghes or ghec %}{% data variables.product.prodname_dependabot %}{% else %} security{% endif %} alerts, use `is:repository-vulnerability-alert`.{% endif %}
|
||||
To filter notifications for specific activity on {% data variables.product.product_location %}, you can use the `is` query. For example, to only see repository invitation updates, use `is:repository-invitation`{% ifversion not ghae %}, and to only see {% data variables.product.prodname_dependabot %} alerts, use `is:repository-vulnerability-alert`{% endif %}.
|
||||
|
||||
- `is:check-suite`
|
||||
- `is:commit`
|
||||
@@ -167,7 +167,7 @@ For example, to see notifications from the octo-org organization, use `org:octo-
|
||||
{% ifversion fpt or ghes or ghae-issue-4864 or ghec %}
|
||||
## {% data variables.product.prodname_dependabot %} custom filters
|
||||
|
||||
{% ifversion fpt or ghec %}
|
||||
{% ifversion fpt or ghec or ghes > 3.2 %}
|
||||
If you use {% data variables.product.prodname_dependabot %} to keep your dependencies up-to-date, you can use and save these custom filters:
|
||||
- `is:repository_vulnerability_alert` to show notifications for {% data variables.product.prodname_dependabot_alerts %}.
|
||||
- `reason:security_alert` to show notifications for {% data variables.product.prodname_dependabot_alerts %} and security update pull requests.
|
||||
@@ -176,9 +176,9 @@ If you use {% data variables.product.prodname_dependabot %} to keep your depende
|
||||
For more information about {% data variables.product.prodname_dependabot %}, see "[About managing vulnerable dependencies](/github/managing-security-vulnerabilities/about-managing-vulnerable-dependencies)."
|
||||
{% endif %}
|
||||
|
||||
{% ifversion ghes or ghae-issue-4864 %}
|
||||
{% ifversion ghes < 3.3 or ghae-issue-4864 %}
|
||||
|
||||
If you use {% data variables.product.prodname_dependabot %} to keep your dependencies-up-to-date, you can use and save these custom filters to show notifications for {% data variables.product.prodname_dependabot_alerts %}:
|
||||
If you use {% data variables.product.prodname_dependabot %} to tell you about vulnerable dependencies, you can use and save these custom filters to show notifications for {% data variables.product.prodname_dependabot_alerts %}:
|
||||
- `is:repository_vulnerability_alert`
|
||||
- `reason:security_alert`
|
||||
|
||||
|
||||
@@ -139,7 +139,7 @@ When you participate in certain programs, {% data variables.product.prodname_dot
|
||||
| {% octicon "cpu" aria-label="The Developer Program icon" %} | **Developer Program Member** | If you're a registered member of the {% data variables.product.prodname_dotcom %} Developer Program, building an app with the {% ifversion fpt or ghec %}{% data variables.product.prodname_dotcom %}{% else %}{% data variables.product.product_name %}{% endif %} API, you'll get a Developer Program Member badge on your profile. For more information on the {% data variables.product.prodname_dotcom %} Developer Program, see [GitHub Developer](/program/). |
|
||||
| {% octicon "star-fill" aria-label="The star icon" %} | **Pro** | If you use {% data variables.product.prodname_pro %} you'll get a PRO badge on your profile. For more information about {% data variables.product.prodname_pro %}, see "[{% data variables.product.prodname_dotcom %}'s products](/github/getting-started-with-github/githubs-products#github-pro)." |
|
||||
| {% octicon "lock" aria-label="The lock icon" %} | **Security Bug Bounty Hunter** | If you helped out hunting down security vulnerabilities, you'll get a Security Bug Bounty Hunter badge on your profile. For more information about the {% data variables.product.prodname_dotcom %} Security program, see [{% data variables.product.prodname_dotcom %} Security](https://bounty.github.com/). |
|
||||
| {% octicon "mortar-board" aria-label="The mortar-board icon" %} | **Github Campus Expert** | If you participate in the {% data variables.product.prodname_dotcom %} Campus Program you'll get a {% data variables.product.prodname_dotcom %} Campus Expert badge on your profile. For more information about the Campus Experts program, see [Campus Experts](https://education.github.com/experts). |
|
||||
| {% octicon "mortar-board" aria-label="The mortar-board icon" %} | **{% data variables.product.prodname_dotcom %} Campus Expert** | If you participate in the {% data variables.product.prodname_campus_program %}, you will get a {% data variables.product.prodname_dotcom %} Campus Expert badge on your profile. For more information about the Campus Experts program, see [Campus Experts](https://education.github.com/experts). |
|
||||
|
||||
## Disabling badges on your profile
|
||||
|
||||
|
||||
@@ -4,6 +4,7 @@ intro: 'You can control features that secure and analyze the code in your projec
|
||||
versions:
|
||||
fpt: '*'
|
||||
ghec: '*'
|
||||
ghes: '>3.2'
|
||||
topics:
|
||||
- Accounts
|
||||
redirect_from:
|
||||
@@ -17,6 +18,8 @@ shortTitle: Manage security & analysis
|
||||
|
||||
You can still manage the security and analysis features for individual repositories. For more information, see "[Managing security and analysis settings for your repository](/github/administering-a-repository/managing-security-and-analysis-settings-for-your-repository)."
|
||||
|
||||
You can also review the security log for all activity on your user account. For more information, see "[Reviewing your security log](/authentication/keeping-your-account-and-data-secure/reviewing-your-security-log)."
|
||||
|
||||
{% data reusables.security.some-security-and-analysis-features-are-enabled-by-default %}
|
||||
|
||||
{% data reusables.security.security-and-analysis-features-enable-read-only %}
|
||||
@@ -28,11 +31,11 @@ For an overview of repository-level security, see "[Securing your repository](/c
|
||||
{% data reusables.user_settings.access_settings %}
|
||||
{% data reusables.user_settings.security-analysis %}
|
||||
3. Under "Configure security and analysis features", to the right of the feature, click **Disable all** or **Enable all**.
|
||||

|
||||
6. Optionally, enable the feature by default for new repositories in your organization.
|
||||

|
||||
{% ifversion ghes > 3.2 %}{% else %}{% endif %}
|
||||
6. Optionally, enable the feature by default for new repositories that you own.
|
||||
{% ifversion ghes > 3.2 %}{% else %}{% endif %}
|
||||
7. Click **Disable FEATURE** or **Enable FEATURE** to disable or enable the feature for all the repositories you own.
|
||||

|
||||
{% ifversion ghes > 3.2 %}{% else %}{% endif %}
|
||||
|
||||
{% data reusables.security.displayed-information %}
|
||||
|
||||
@@ -40,11 +43,11 @@ For an overview of repository-level security, see "[Securing your repository](/c
|
||||
|
||||
{% data reusables.user_settings.access_settings %}
|
||||
{% data reusables.user_settings.security-analysis %}
|
||||
3. Under "Configure security and analysis features", to the right of the feature, enable or disable the feature by default for new repositories in your organization.
|
||||

|
||||
3. Under "Configure security and analysis features", to the right of the feature, enable or disable the feature by default for new repositories that you own.
|
||||
{% ifversion ghes > 3.2 %}{% else %}{% endif %}
|
||||
|
||||
## Further reading
|
||||
|
||||
- "[About the dependency graph](/github/visualizing-repository-data-with-graphs/about-the-dependency-graph)"
|
||||
- "[Managing vulnerabilities in your project's dependencies](/github/managing-security-vulnerabilities/managing-vulnerabilities-in-your-projects-dependencies)"
|
||||
{% ifversion fpt or ghec %}- "[Keeping your dependencies updated automatically](/github/administering-a-repository/keeping-your-dependencies-updated-automatically)"{% endif %}
|
||||
- "[Keeping your dependencies updated automatically](/code-security/supply-chain-security/keeping-your-dependencies-updated-automatically)"
|
||||
|
||||
@@ -75,6 +75,11 @@ The `github` context contains information about the workflow run and the event t
|
||||
| `github.head_ref` | `string` | The `head_ref` or source branch of the pull request in a workflow run. This property is only available when the event that triggers a workflow run is either `pull_request` or `pull_request_target`. |
|
||||
| `github.job` | `string` | The [`job_id`](/actions/reference/workflow-syntax-for-github-actions#jobsjob_id) of the current job. |
|
||||
| `github.ref` | `string` | The branch or tag ref that triggered the workflow run. For branches this is the format `refs/heads/<branch_name>`, and for tags it is `refs/tags/<tag_name>`. |
|
||||
{%- ifversion fpt or ghec or ghes > 3.3 or ghae-issue-5338 %}
|
||||
| `github.ref_name` | `string` | {% data reusables.actions.ref_name-description %} |
|
||||
| `github.ref_protected` | `string` | {% data reusables.actions.ref_protected-description %} |
|
||||
| `github.ref_type` | `string` | {% data reusables.actions.ref_type-description %} |
|
||||
{%- endif %}
|
||||
| `github.repository` | `string` | The owner and repository name. For example, `Codertocat/Hello-World`. |
|
||||
| `github.repository_owner` | `string` | The repository owner's name. For example, `Codertocat`. |
|
||||
| `github.run_id` | `string` | {% data reusables.github-actions.run_id_description %} |
|
||||
|
||||
@@ -68,6 +68,11 @@ We strongly recommend that actions use environment variables to access the files
|
||||
| `GITHUB_WORKSPACE` | The {% data variables.product.prodname_dotcom %} workspace directory path, initially empty. For example, `/home/runner/work/my-repo-name/my-repo-name`. The [actions/checkout](https://github.com/actions/checkout) action will check out files, by default a copy of your repository, within this directory. |
|
||||
| `GITHUB_SHA` | The commit SHA that triggered the workflow. For example, `ffac537e6cbbf934b08745a378932722df287a53`. |
|
||||
| `GITHUB_REF` | The branch or tag ref that triggered the workflow. For example, `refs/heads/feature-branch-1`. If neither a branch or tag is available for the event type, the variable will not exist. |
|
||||
{%- ifversion fpt or ghec or ghes > 3.3 or ghae-issue-5338 %}
|
||||
| `GITHUB_REF_NAME` | {% data reusables.actions.ref_name-description %} |
|
||||
| `GITHUB_REF_PROTECTED` | {% data reusables.actions.ref_protected-description %} |
|
||||
| `GITHUB_REF_TYPE` | {% data reusables.actions.ref_type-description %} |
|
||||
{%- endif %}
|
||||
| `GITHUB_HEAD_REF` | Only set for pull request events. The name of the head branch.
|
||||
| `GITHUB_BASE_REF` | Only set for pull request events. The name of the base branch.
|
||||
| `GITHUB_SERVER_URL`| Returns the URL of the {% data variables.product.product_name %} server. For example: `https://{% data variables.product.product_url %}`.
|
||||
|
||||
@@ -290,15 +290,11 @@ GitHub helps you avoid using third-party software that contains known vulnerabil
|
||||
|----|----|
|
||||
| Dependabot Alerts | You can track your repository's dependencies and receive Dependabot alerts when your enterprise detects vulnerable dependencies. For more information, see "[About alerts for vulnerable dependencies](/code-security/supply-chain-security/managing-vulnerabilities-in-your-projects-dependencies/about-alerts-for-vulnerable-dependencies)." |
|
||||
| Dependency Graph | The dependency graph is a summary of the manifest and lock files stored in a repository. It shows you the ecosystems and packages your codebase depends on (its dependencies) and the repositories and packages that depend on your project (its dependents). For more information, see "[About the dependency graph](/code-security/supply-chain-security/understanding-your-software-supply-chain/about-the-dependency-graph)." |{% ifversion ghes > 3.1 or ghec %}
|
||||
| Dependency Review | If a pull request contains changes to dependencies, you can view a summary of what has changed and whether there are known vulnerabilities in any of the dependencies. For more information, see "[About dependency review](/code-security/supply-chain-security/understanding-your-software-supply-chain/about-dependency-review)" or "[Reviewing Dependency Changes in a Pull Request](/github/collaborating-with-pull-requests/reviewing-changes-in-pull-requests/reviewing-dependency-changes-in-a-pull-request)." | {% endif %} {% ifversion ghec %}
|
||||
| Dependency Review | If a pull request contains changes to dependencies, you can view a summary of what has changed and whether there are known vulnerabilities in any of the dependencies. For more information, see "[About dependency review](/code-security/supply-chain-security/understanding-your-software-supply-chain/about-dependency-review)" or "[Reviewing Dependency Changes in a Pull Request](/github/collaborating-with-pull-requests/reviewing-changes-in-pull-requests/reviewing-dependency-changes-in-a-pull-request)." | {% endif %} {% ifversion ghec or ghes > 3.2 %}
|
||||
| Dependabot Security Updates | Dependabot can fix vulnerable dependencies for you by raising pull requests with security updates. For more information, see "[About Dependabot security updates](/code-security/supply-chain-security/managing-vulnerabilities-in-your-projects-dependencies/about-dependabot-security-updates)." |
|
||||
| Dependabot Version Updates | Dependabot can be used to keep the packages you use updated to the latest versions. For more information, see "[About Dependabot version updates](/code-security/supply-chain-security/keeping-your-dependencies-updated-automatically/about-dependabot-version-updates)." | {% endif %}
|
||||
|
||||
{% note %}
|
||||
|
||||
**Note:** Dependabot security updates and version updates are currently only available for {% data variables.product.prodname_ghe_cloud %} and will be available for {% data variables.product.prodname_ghe_server %} as outlined in our [public roadmap](https://github.com/github/roadmap).
|
||||
|
||||
{% endnote %}
|
||||
{% data reusables.dependabot.beta-security-and-version-updates-onboarding %}
|
||||
|
||||
### Step 8: Establish a remediation process
|
||||
|
||||
|
||||
@@ -110,7 +110,7 @@ For example, you can enable any {% data variables.product.prodname_GH_advanced_s
|
||||
```shell
|
||||
ghe-config app.secret-scanning.enabled false
|
||||
```
|
||||
- To disable {% data variables.product.prodname_dependabot %}, enter the following {% ifversion ghes > 3.1 %}command{% else %}commands{% endif %}.
|
||||
- To disable {% data variables.product.prodname_dependabot_alerts %}, enter the following {% ifversion ghes > 3.1 %}command{% else %}commands{% endif %}.
|
||||
{% ifversion ghes > 3.1 %}```shell
|
||||
ghe-config app.dependency-graph.enabled false
|
||||
```
|
||||
|
||||
@@ -103,6 +103,8 @@ Before enabling {% data variables.product.prodname_dependabot_alerts %} for your
|
||||
|
||||
{% endtip %}
|
||||
|
||||
When you enable {% data variables.product.prodname_dependabot_alerts %}, you should consider also setting up {% data variables.product.prodname_actions %} for {% data variables.product.prodname_dependabot_security_updates %}. This feature allows developers to fix vulnerabilities in their dependencies. For more information, see "[Setting up {% data variables.product.prodname_dependabot %} security and version updates on your enterprise](/admin/github-actions/enabling-github-actions-for-github-enterprise-server/setting-up-dependabot-updates)."
|
||||
|
||||
## Viewing vulnerable dependencies on {% data variables.product.product_location %}
|
||||
|
||||
You can view all vulnerabilities in {% data variables.product.product_location %} and manually sync vulnerability data from {% data variables.product.prodname_dotcom_the_website %} to update the list.
|
||||
|
||||
@@ -0,0 +1,21 @@
|
||||
---
|
||||
title: About repository caching
|
||||
intro: "You can increase the performance of Git read operations for distributed teams and CI farms with repository caching."
|
||||
versions:
|
||||
ghes: '>=3.3'
|
||||
type: overview
|
||||
topics:
|
||||
- Enterprise
|
||||
---
|
||||
|
||||
{% data reusables.enterprise.repository-caching-release-phase %}
|
||||
|
||||
If you have teams and CI farms located around the world, you may experience reduced performance on your primary {% data variables.product.prodname_ghe_server %} instance. While active geo-replicas can improve the performance of read requests, this comes at the cost of limiting write throughput. To reduce load on your primary instance and improve write throughput performance, you can configure a repository cache, an asynchronous read-only mirror of repositories located near these geographically-distributed clients.
|
||||
|
||||
A repository cache eliminates the need for {% data variables.product.product_name %} to transmit the same Git data over a long-haul network link multiple times to serve multiple clients, by serving your repository data close to CI farms and distributed teams. For instance, if your primary instance is in North America and you also have a large presence in Asia, you will benefit from setting up the repository cache in Asia for use by CI runners there.
|
||||
|
||||
The repository cache listens to the primary instance, whether that's a single instance or a geo-replicated set of instances, for changes to Git data. CI farms and other read-heavy consumers clone and fetch from the repository cache instead of the primary instance. Changes are propagated across the network, at periodic intervals, once per cache instance rather than once per client. Git data will typically be visible on the repository cache within several minutes after the data is pushed to the primary instance.
|
||||
|
||||
You have fine-grained control over which repositories are allowed to sync to the repository cache.
|
||||
|
||||
{% data reusables.enterprise.repository-caching-config-summary %} For more information, see "[Configuring a repository cache](/admin/enterprise-management/caching-repositories/configuring-a-repository-cache)."
|
||||
@@ -0,0 +1,90 @@
|
||||
---
|
||||
title: Configuring a repository cache
|
||||
intro: "You can configure a repository cache by creating a new appliance, connecting the repository cache to your primary appliance, and configuring replication of repository networks to the repository cache."
|
||||
versions:
|
||||
ghes: '>=3.3'
|
||||
type: how_to
|
||||
topics:
|
||||
- Enterprise
|
||||
---
|
||||
|
||||
{% data reusables.enterprise.repository-caching-release-phase %}
|
||||
|
||||
## About configuration for repository caching
|
||||
|
||||
{% data reusables.enterprise.repository-caching-config-summary %} Then, you can set data location policies that govern which repository networks are replicated to the repository cache.
|
||||
|
||||
Repository caching is not supported with clustering.
|
||||
|
||||
## DNS for repository caches
|
||||
|
||||
The primary instance and repository cache should have different DNS names. For example, if your primary instance is at `github.example.com`, you might decide to name a cache `europe-ci.github.example.com` or `github.asia.example.com`.
|
||||
|
||||
To have your CI machines fetch from the repository cache instead of the primary instance, you can use Git's `url.<base>.insteadOf` configuration setting. For more information, see [`git-config`](https://git-scm.com/docs/git-config#Documentation/git-config.txt-urlltbasegtinsteadOf) in the Git documentation.
|
||||
|
||||
For example, the global `.gitconfig` for the CI machine would include these lines.
|
||||
|
||||
```
|
||||
[url "https://europe-ci.github.example.com/"]
|
||||
insteadOf = https://github.example.com/
|
||||
```
|
||||
|
||||
Then, when told to fetch `https://github.example.com/myorg/myrepo`, Git will instead fetch from `https://europe-ci.github.example.com/myorg/myrepo`.
|
||||
|
||||
## Configuring a repository cache
|
||||
|
||||
1. During the beta, you must enable the feature flag for repository caching on your primary {% data variables.product.prodname_ghe_server %} appliance.
|
||||
|
||||
```
|
||||
$ ghe-config cluster.cache-enabled true
|
||||
```
|
||||
|
||||
1. Set up a new {% data variables.product.prodname_ghe_server %} appliance on your desired platform. This appliance will be your repository cache. For more information, see "[Setting up a {% data variables.product.prodname_ghe_server %} instance](/admin/guides/installation/setting-up-a-github-enterprise-server-instance)."
|
||||
{% data reusables.enterprise_installation.replica-steps %}
|
||||
1. Connect to the repository cache's IP address using SSH.
|
||||
|
||||
```shell
|
||||
$ ssh -p 122 admin@<em>REPLICA IP</em>
|
||||
```
|
||||
|
||||
{% data reusables.enterprise_installation.generate-replication-key-pair %}
|
||||
{% data reusables.enterprise_installation.add-ssh-key-to-primary %}
|
||||
1. To verify the connection to the primary and enable replica mode for the repository cache, run `ghe-repl-setup` again.
|
||||
|
||||
```shell
|
||||
$ ghe-repl-setup <em>PRIMARY IP</em>
|
||||
```
|
||||
|
||||
1. Set a `cache_location` for the repository cache, replacing *CACHE-LOCATION* with an alphanumeric identifier, such as the region where the cache is deployed.
|
||||
|
||||
```shell
|
||||
$ ghe-repl-node --cache <em>CACHE-LOCATION</em>
|
||||
```
|
||||
|
||||
{% data reusables.enterprise_installation.replication-command %}
|
||||
{% data reusables.enterprise_installation.verify-replication-channel %}
|
||||
1. To enable replication of repository networks to the repository cache, set a data location policy. For more information, see "[Data location policies](#data-location-policies)."
|
||||
|
||||
## Data location policies
|
||||
|
||||
You can control data locality by configuring data location policies for your repositories with the `spokesctl cache-policy` command. Data location policies determine which repository networks are replicated on which repository caches. By default, no repository networks will be replicated on any repository caches until a data location policy is configured.
|
||||
|
||||
You can configure a policy to replicate all networks with the `--default` flag. For example, this command will create a policy to replicate a single copy of every repository network to the set of repository caches whose `cache_location` is "kansas".
|
||||
|
||||
```
|
||||
$ ghe-spokesctl cache-policy set --default 1 kansas
|
||||
```
|
||||
|
||||
To configure replication for a repository network, specify the repository that is the root of the network. A repository network includes a repository and all of the repository's forks. You cannot replicate part of a network without replicating the whole network.
|
||||
|
||||
```
|
||||
$ ghe-spokesctl cache-policy set <owner/repository> 1 kansas
|
||||
```
|
||||
|
||||
You can override a policy that replicates all networks and exclude specific networks by specifying a replica count of zero for the network. For example, this command specifies that any repository cache in location "kansas" cannot contain any copies of that network.
|
||||
|
||||
```
|
||||
$ ghe-spokesctl cache-policy set <owner/repository> 0 kansas
|
||||
```
|
||||
|
||||
Replica counts greater than one in a given cache location are not supported.
|
||||
@@ -0,0 +1,13 @@
|
||||
---
|
||||
title: Caching repositories
|
||||
intro: "You can improve performance for your geographically-distributed team with repository caching, which provides read-only mirrors close to your users and CI clients."
|
||||
versions:
|
||||
ghes: '>=3.3'
|
||||
topics:
|
||||
- Enterprise
|
||||
children:
|
||||
- /about-repository-caching
|
||||
- /configuring-a-repository-cache
|
||||
---
|
||||
|
||||
{% data reusables.enterprise.repository-caching-release-phase %}
|
||||
@@ -22,7 +22,9 @@ Geo DNS, such as [Amazon's Route 53 service](http://docs.aws.amazon.com/Route53/
|
||||
|
||||
## Limitations
|
||||
|
||||
Writing requests to the replica requires sending the data to the primary and all replicas. This means that the performance of all writes is limited by the slowest replica, although new geo-replicas can seed the majority of their data from existing co-located geo-replicas, rather than from the primary. Geo-replication will not add capacity to a {% data variables.product.prodname_ghe_server %} instance or solve performance issues related to insufficient CPU or memory resources. If the primary appliance is offline, active replicas will be unable to serve any read or write requests.
|
||||
Writing requests to the replica requires sending the data to the primary and all replicas. This means that the performance of all writes is limited by the slowest replica, although new geo-replicas can seed the majority of their data from existing co-located geo-replicas, rather than from the primary. To reduce the latency and bandwidth caused by distributed teams and large CI farms without impacting write throughput, you can configure repository caching instead. For more information, see "[About repository caching](/admin/enterprise-management/caching-repositories/about-repository-caching)."
|
||||
|
||||
Geo-replication will not add capacity to a {% data variables.product.prodname_ghe_server %} instance or solve performance issues related to insufficient CPU or memory resources. If the primary appliance is offline, active replicas will be unable to serve any read or write requests.
|
||||
|
||||
{% data reusables.enterprise_installation.replica-limit %}
|
||||
|
||||
|
||||
@@ -29,6 +29,7 @@ Use a high availability configuration for protection against:
|
||||
A high availability configuration is not a good solution for:
|
||||
|
||||
- **Scaling-out**. While you can distribute traffic geographically using geo-replication, the performance of writes is limited to the speed and availability of the primary appliance. For more information, see "[About geo-replication](/enterprise/{{ currentVersion }}/admin/guides/installation/about-geo-replication/)."
|
||||
- **CI/CD load**. If you have a large number of CI clients that are geographically distant from your primary instance, you may benefit from configuring a repository cache. For more information, see "[About repository caching](/admin/enterprise-management/caching-repositories/about-repository-caching)."
|
||||
- **Backing up your primary appliance**. A high availability replica does not replace off-site backups in your disaster recovery plan. Some forms of data corruption or loss may be replicated immediately from the primary to the replica. To ensure safe rollback to a stable past state, you must perform regular backups with historical snapshots.
|
||||
- **Zero downtime upgrades**. To prevent data loss and split-brain situations in controlled promotion scenarios, place the primary appliance in maintenance mode and wait for all writes to complete before promoting the replica.
|
||||
|
||||
|
||||
@@ -20,30 +20,19 @@ shortTitle: Create HA replica
|
||||
|
||||
1. Set up a new {% data variables.product.prodname_ghe_server %} appliance on your desired platform. The replica appliance should mirror the primary appliance's CPU, RAM, and storage settings. We recommend that you install the replica appliance in an independent environment. The underlying hardware, software, and network components should be isolated from those of the primary appliance. If you are a using a cloud provider, use a separate region or zone. For more information, see ["Setting up a {% data variables.product.prodname_ghe_server %} instance"](/enterprise/{{ currentVersion }}/admin/guides/installation/setting-up-a-github-enterprise-server-instance).
|
||||
2. In a browser, navigate to the new replica appliance's IP address and upload your {% data variables.product.prodname_enterprise %} license.
|
||||
3. Set an admin password that matches the password on the primary appliance and continue.
|
||||
4. Click **Configure as Replica**.
|
||||

|
||||
5. Under "Add new SSH key", type your SSH key.
|
||||

|
||||
6. Click **Add key**, then click **Continue**.
|
||||
{% data reusables.enterprise_installation.replica-steps %}
|
||||
6. Connect to the replica appliance's IP address using SSH.
|
||||
```shell
|
||||
$ ssh -p 122 admin@<em>REPLICA IP</em>
|
||||
```
|
||||
7. To generate a key pair for replication, use the `ghe-repl-setup` command with the primary appliance's IP address and copy the public key that it returns.
|
||||
```shell
|
||||
$ ghe-repl-setup <em>PRIMARY IP</em>
|
||||
```
|
||||
{% data reusables.enterprise_installation.generate-replication-key-pair %}
|
||||
{% data reusables.enterprise_installation.add-ssh-key-to-primary %}
|
||||
9. To verify the connection to the primary and enable replica mode for the new replica, run `ghe-repl-setup` again.
|
||||
```shell
|
||||
$ ghe-repl-setup <em>PRIMARY IP</em>
|
||||
```
|
||||
{% data reusables.enterprise_installation.replication-command %}
|
||||
11. To verify the status of each datastore's replication channel, use the `ghe-repl-status` command.
|
||||
```shell
|
||||
$ ghe-repl-status
|
||||
```
|
||||
{% data reusables.enterprise_installation.verify-replication-channel %}
|
||||
|
||||
## Creating geo-replication replicas
|
||||
|
||||
|
||||
@@ -12,6 +12,7 @@ children:
|
||||
- /updating-the-virtual-machine-and-physical-resources
|
||||
- /configuring-clustering
|
||||
- /configuring-high-availability
|
||||
- /caching-repositories
|
||||
shortTitle: 'Monitor, manage & update'
|
||||
---
|
||||
|
||||
|
||||
@@ -212,11 +212,8 @@ Appliances configured for high-availability and geo-replication use replica inst
|
||||
|
||||
{% endnote %}
|
||||
|
||||
If `ghe-repl-status` didn't return `OK`, follow the steps below to manually start the replication.
|
||||
|
||||
1. On the replica instance, run `ghe-repl-setup <primary-instance-ip>` again.
|
||||
{% data reusables.enterprise_installation.start-replication %}
|
||||
{% data reusables.enterprise_installation.replication-status %}
|
||||
If `ghe-repl-status` did not return `OK`, contact {% data variables.contact.enterprise_support %}. For more information, see "[Receiving help from {% data variables.contact.github_support %}](/admin/enterprise-support/receiving-help-from-github-support)."
|
||||
|
||||
6. When you have completed upgrading the last replica, and the resync is complete, disable maintenance mode so users can use {% data variables.product.product_location %}.
|
||||
|
||||
## Restoring from a failed upgrade
|
||||
|
||||
@@ -148,3 +148,30 @@ If any of these services are at or near 100% CPU utilization, or the memory is n
|
||||
|
||||
When running `ghe-config-apply`, if you see output like `Failed to run nomad job '/etc/nomad-jobs/<name>.hcl'`, then the change has likely over-allocated CPU or memory resources. If this happens, edit the configuration files again and lower the allocated CPU or memory, then re-run `ghe-config-apply`.
|
||||
1. After the configuration is applied, run `ghe-actions-check` to verify that the {% data variables.product.prodname_actions %} services are operational.
|
||||
|
||||
## Troubleshooting failures when {% data variables.product.prodname_dependabot %} triggers existing workflows
|
||||
|
||||
{% data reusables.dependabot.beta-security-and-version-updates %}
|
||||
|
||||
After you set up {% data variables.product.prodname_dependabot %} updates for {% data variables.product.product_location %}, you may see failures when existing workflows are triggered by {% data variables.product.prodname_dependabot %} events.
|
||||
|
||||
By default, {% data variables.product.prodname_actions %} workflow runs that are triggered by {% data variables.product.prodname_dependabot %} from `push`, `pull_request`, `pull_request_review`, or `pull_request_review_comment` events are treated as if they were opened from a repository fork. Unlike workflows triggered by other actors, this means they receive a read-only `GITHUB_TOKEN` and do not have access to any secrets that are normally available. This will cause any workflows that attempt to write to the repository to fail when they are triggered by {% data variables.product.prodname_dependabot %}.
|
||||
|
||||
There are three ways to resolve this problem:
|
||||
|
||||
1. You can update your workflows so that they are no longer triggered by {% data variables.product.prodname_dependabot %} using an expression like: `if: github.actor != 'dependabot[bot]'`. For more information, see "[Expressions](/actions/learn-github-actions/expressions)."
|
||||
2. You can modify your workflows to use a two-step process that includes `pull_request_target` which does not have these limitations. For more information, see "[Automating {% data variables.product.prodname_dependabot %} with {% data variables.product.prodname_actions %}](/code-security/supply-chain-security/keeping-your-dependencies-updated-automatically/automating-dependabot-with-github-actions#responding-to-events)."
|
||||
3. You can provide workflows triggered by {% data variables.product.prodname_dependabot %} access to secrets and allow the `permissions` term to increase the default scope of the `GITHUB_TOKEN`. For more information, see "[Providing workflows triggered by{% data variables.product.prodname_dependabot %} access to secrets and increased permissions](#providing-workflows-triggered-by-dependabot-access-to-secrets-and-increased-permissions)" below.
|
||||
|
||||
### Providing workflows triggered by {% data variables.product.prodname_dependabot %} access to secrets and increased permissions
|
||||
|
||||
1. Log in to the administrative shell using SSH. For more information, see "[Accessing the administrative shell (SSH)](/admin/configuration/accessing-the-administrative-shell-ssh)."
|
||||
1. To remove the limitations on workflows triggered by {% data variables.product.prodname_dependabot %} on {% data variables.product.product_location %}, use the following command.
|
||||
``` shell
|
||||
$ ghe-config app.actions.disable-dependabot-enforcement true
|
||||
```
|
||||
1. Apply the configuration.
|
||||
```shell
|
||||
$ ghe-config-apply
|
||||
```
|
||||
1. Return to {% data variables.product.prodname_ghe_server %}.
|
||||
|
||||
@@ -10,6 +10,7 @@ children:
|
||||
- /enabling-github-actions-with-azure-blob-storage
|
||||
- /enabling-github-actions-with-amazon-s3-storage
|
||||
- /enabling-github-actions-with-minio-gateway-for-nas-storage
|
||||
- /setting-up-dependabot-updates
|
||||
shortTitle: Enable GitHub Actions
|
||||
---
|
||||
|
||||
|
||||
@@ -0,0 +1,77 @@
|
||||
---
|
||||
title: Setting up Dependabot security and version updates on your enterprise
|
||||
intro: 'You can create dedicated runners for {% data variables.product.product_location %} that {% data variables.product.prodname_dependabot %} uses to create pull requests to help secure and maintain the dependencies used in repositories on your enterprise.'
|
||||
allowTitleToDifferFromFilename: true
|
||||
miniTocMaxHeadingLevel: 3
|
||||
versions:
|
||||
ghes: '> 3.2'
|
||||
topics:
|
||||
- Enterprise
|
||||
- Security
|
||||
- Dependabot
|
||||
- Dependencies
|
||||
shortTitle: Set up Dependabot updates
|
||||
---
|
||||
|
||||
{% data reusables.dependabot.beta-security-and-version-updates %}
|
||||
|
||||
{% tip %}
|
||||
|
||||
**Tip**: If {% data variables.product.product_location %} uses clustering, you cannot set up {% data variables.product.prodname_dependabot %} security and version updates as {% data variables.product.prodname_actions %} are not supported in cluster mode.
|
||||
|
||||
{% endtip %}
|
||||
|
||||
## About {% data variables.product.prodname_dependabot %} updates
|
||||
|
||||
When you set up {% data variables.product.prodname_dependabot %} security and version updates for {% data variables.product.product_location %}, users can configure repositories so that their dependencies are updated and kept secure automatically. This is an important step in helping developers create and maintain secure code.
|
||||
|
||||
Users can set up {% data variables.product.prodname_dependabot %} to create pull requests to update their dependencies using two features.
|
||||
|
||||
- **{% data variables.product.prodname_dependabot_version_updates %}**: Users add a {% data variables.product.prodname_dependabot %} configuration file to the repository to enable {% data variables.product.prodname_dependabot %} to create pull requests when a new version of a tracked dependency is released. For more information, see "[About {% data variables.product.prodname_dependabot_version_updates %}](/code-security/supply-chain-security/keeping-your-dependencies-updated-automatically/about-dependabot-version-updates)."
|
||||
- **{% data variables.product.prodname_dependabot_security_updates %}**: Users toggle a repository setting to enable {% data variables.product.prodname_dependabot %} to create pull requests when {% data variables.product.prodname_dotcom %} detects a vulnerability in one of the dependencies of the dependency graph for the repository. For more information, see "[About alerts for vulnerable dependencies](/code-security/supply-chain-security/managing-vulnerabilities-in-your-projects-dependencies/about-alerts-for-vulnerable-dependencies)" and "[About {% data variables.product.prodname_dependabot_security_updates %}](/code-security/supply-chain-security/managing-vulnerabilities-in-your-projects-dependencies/about-dependabot-security-updates)."
|
||||
|
||||
## Prerequisites for {% data variables.product.prodname_dependabot %} updates
|
||||
|
||||
Both types of {% data variables.product.prodname_dependabot %} update have the following requirements.
|
||||
|
||||
- Configure {% data variables.product.product_location %} to use {% data variables.product.prodname_actions %}. For more information, see "[Getting started with {% data variables.product.prodname_actions %} for GitHub Enterprise Server](/admin/github-actions/enabling-github-actions-for-github-enterprise-server/getting-started-with-github-actions-for-github-enterprise-server)."
|
||||
- Set up one or more {% data variables.product.prodname_actions %} self-hosted runners for {% data variables.product.prodname_dependabot %}. For more information, see "[Setting up self-hosted runners for {% data variables.product.prodname_dependabot %} updates](#setting-up-self-hosted-runners-for-dependabot-updates)" below.
|
||||
|
||||
Additionally, {% data variables.product.prodname_dependabot_security_updates %} rely on the dependency graph, vulnerability data from {% data variables.product.prodname_github_connect %}, and {% data variables.product.prodname_dependabot_alerts %}. These features must be enabled on {% data variables.product.product_location %}. For more information, see "[Enabling the dependency graph and {% data variables.product.prodname_dependabot %} alerts on your enterprise account](/admin/configuration/managing-connections-between-your-enterprise-accounts/enabling-the-dependency-graph-and-dependabot-alerts-on-your-enterprise-account)."
|
||||
|
||||
## Setting up self-hosted runners for {% data variables.product.prodname_dependabot %} updates
|
||||
|
||||
When you have configured {% data variables.product.product_location %} to use {% data variables.product.prodname_actions %}, you need to add self-hosted runners for {% data variables.product.prodname_dependabot %} updates. For more information, see "[Getting started with {% data variables.product.prodname_actions %} for GitHub Enterprise Server](/admin/github-actions/enabling-github-actions-for-github-enterprise-server/getting-started-with-github-actions-for-github-enterprise-server)."
|
||||
|
||||
### System requirements for {% data variables.product.prodname_dependabot %} runners
|
||||
|
||||
Any VM that you use for {% data variables.product.prodname_dependabot %} runners must meet the requirements for self-hosted runners. In addition, they must meet the following requirements.
|
||||
|
||||
- Linux operating system
|
||||
- The following dependencies installed:
|
||||
- Docker running as the same user as the self-hosted runner application
|
||||
- Git
|
||||
|
||||
The CPU and memory requirements will depend on the number of concurrent runners you deploy on a given VM. As guidance, we have successfully set up 20 runners on a single 2 CPU 8GB machine, but ultimately, your CPU and memory requirements will heavily depend on the repositories being updated. Some ecosystems will require more resources than others.
|
||||
|
||||
If you specify more than 14 concurrent runners on a VM, you must also update the Docker `/etc/docker/daemon.json` configuration to increase the default number of networks Docker can create.
|
||||
|
||||
```
|
||||
{
|
||||
"default-address-pools": [
|
||||
{"base":"10.10.0.0/16","size":24}
|
||||
]
|
||||
}
|
||||
```
|
||||
|
||||
### Network requirements for {% data variables.product.prodname_dependabot %} runners
|
||||
|
||||
{% data variables.product.prodname_dependabot %} runners require access to the public internet, {% data variables.product.prodname_dotcom_the_website %}, and any internal registries that will be used in {% data variables.product.prodname_dependabot %} updates. To minimize the risk to your internal network, you should limit access from the Virtual Machine (VM) to your internal network. This reduces the potential for damage to internal systems if a runner were to download a hijacked dependency.
|
||||
|
||||
### Adding self-hosted runners for {% data variables.product.prodname_dependabot %} updates
|
||||
|
||||
1. Provision self-hosted runners, at the repository, organization, or enterprise account level. For more information, see "[About self-hosted runners](/actions/hosting-your-own-runners/about-self-hosted-runners)" and "[Adding self-hosted runners](/actions/hosting-your-own-runners/adding-self-hosted-runners)."
|
||||
|
||||
2. Verify that the self-hosted runners meet the requirements for {% data variables.product.prodname_dependabot %} before assigning a `dependabot` label to each runner you want {% data variables.product.prodname_dependabot %} to use. For more information, see "[Using labels with self-hosted runners](/actions/hosting-your-own-runners/using-labels-with-self-hosted-runners#assigning-a-label-to-a-self-hosted-runner)."
|
||||
|
||||
3. Optionally, enable workflows triggered by {% data variables.product.prodname_dependabot %} to use more than read-only permissions and to have access to any secrets that are normally available. For more information, see "[Troubleshooting {% data variables.product.prodname_actions %} for your enterprise](/admin/github-actions/advanced-configuration-and-troubleshooting/troubleshooting-github-actions-for-your-enterprise#enabling-workflows-triggered-by-dependabot-access-to-dependabot-secrets-and-increased-permissions)."
|
||||
@@ -18,7 +18,6 @@ shortTitle: Use GitHub Connect for actions
|
||||
|
||||
{% data reusables.actions.enterprise-beta %}
|
||||
{% data reusables.actions.enterprise-github-hosted-runners %}
|
||||
{% data reusables.actions.enterprise-github-connect-warning %}
|
||||
|
||||
By default, {% data variables.product.prodname_actions %} workflows on {% data variables.product.product_name %} cannot use actions directly from {% data variables.product.prodname_dotcom_the_website %} or [{% data variables.product.prodname_marketplace %}](https://github.com/marketplace?type=actions).
|
||||
|
||||
@@ -26,6 +25,8 @@ To make all actions from {% data variables.product.prodname_dotcom_the_website %
|
||||
|
||||
## Enabling automatic access to all {% data variables.product.prodname_dotcom_the_website %} actions
|
||||
|
||||
{% data reusables.actions.enterprise-github-connect-warning %}
|
||||
|
||||
Before enabling access to all actions from {% data variables.product.prodname_dotcom_the_website %} on your enterprise instance, you must connect your enterprise to {% data variables.product.prodname_dotcom_the_website %}. For more information, see "[Connecting your enterprise to {% data variables.product.prodname_ghe_cloud %}](/admin/configuration/managing-connections-between-your-enterprise-accounts/connecting-your-enterprise-account-to-github-enterprise-cloud)."
|
||||
|
||||
{% data reusables.enterprise-accounts.access-enterprise %}
|
||||
@@ -41,3 +42,27 @@ Before enabling access to all actions from {% data variables.product.prodname_do
|
||||

|
||||
{%- endif %}
|
||||
1. {% data reusables.actions.enterprise-limit-actions-use %}
|
||||
|
||||
{% ifversion ghes > 3.2 or ghae-issue-4815 %}
|
||||
|
||||
## Automatic retirement of namespaces for actions accessed on {% data variables.product.prodname_dotcom_the_website %}
|
||||
|
||||
When you enable {% data variables.product.prodname_github_connect %}, users see no change in behavior for existing workflows because {% data variables.product.prodname_actions %} searches {% data variables.product.product_location %} for each action before falling back to {% data variables.product.prodname_dotcom_the_website%}. This ensures that any custom versions of actions your enterprise has created are used in preference to their counterparts on {% data variables.product.prodname_dotcom_the_website%}.
|
||||
|
||||
Automatic retirement of namespaces for actions accessed on {% data variables.product.prodname_dotcom_the_website %} blocks the potential for a man-in-the-middle attack by a malicious user with access to {% data variables.product.product_location %}. When an action on {% data variables.product.prodname_dotcom_the_website %} is used for the first time, that namespace is retired in {% data variables.product.product_location %}. This blocks any user creating an organization and repository in your enterprise that matches that organization and repository name on {% data variables.product.prodname_dotcom_the_website %}. This ensures that when a workflow runs, the intended action is always run.
|
||||
|
||||
After using an action from {% data variables.product.prodname_dotcom_the_website %}, if you want to create an action in {% data variables.product.product_location %} with the same name, first you need to make the namespace for that organization and repository available.
|
||||
|
||||
{% data reusables.enterprise_site_admin_settings.access-settings %}
|
||||
2. In the left sidebar, under **Site admin** click **Retired namespaces**.
|
||||
3. Locate the namespace that you want use in {% data variables.product.product_location %} and click **Unretire**.
|
||||

|
||||
4. Go to the relevant organization and create a new repository.
|
||||
|
||||
{% tip %}
|
||||
|
||||
**Tip:** When you unretire a namespace, always create the new repository with that name as soon as possible. If a workflow calls the associated action on {% data variables.product.prodname_dotcom_the_website %} before you create the local repository, the namespace will be retired again. For actions used in workflows that run frequently, you may find that a namespace is retired again before you have time to create the local repository. In this case, you can temporarily disable the relevant workflows until you have created the new repository.
|
||||
|
||||
{% endtip %}
|
||||
|
||||
{% endif %}
|
||||
|
||||
@@ -34,6 +34,14 @@ If your machine has access to both systems at the same time, you can do the sync
|
||||
|
||||
The `actions-sync` tool can only download actions from {% data variables.product.prodname_dotcom_the_website %} that are stored in public repositories.
|
||||
|
||||
{% ifversion ghes > 3.2 or ghae-issue-4815 %}
|
||||
{% note %}
|
||||
|
||||
**Note:** The `actions-sync` tool is intended for use in systems where {% data variables.product.prodname_github_connect %} is not enabled. If you run the tool on a system with {% data variables.product.prodname_github_connect %} enabled, you may see the error `The repository <repo_name> has been retired and cannot be reused`. This indicates that a workflow has used that action directly on {% data variables.product.prodname_dotcom_the_website %} and the namespace is retired on {% data variables.product.product_location %}. For more information, see "[Automatic retirement of namespaces for actions accessed on {% data variables.product.prodname_dotcom_the_website%}](/admin/github-actions/managing-access-to-actions-from-githubcom/enabling-automatic-access-to-githubcom-actions-using-github-connect#automatic-retirement-of-namespaces-for-actions-accessed-on-githubcom)."
|
||||
|
||||
{% endnote %}
|
||||
{% endif %}
|
||||
|
||||
## Prerequisites
|
||||
|
||||
* Before using the `actions-sync` tool, you must ensure that all destination organizations already exist in your enterprise. The following example demonstrates how to sync actions to an organization named `synced-actions`. For more information, see "[Creating a new organization from scratch](/organizations/collaborating-with-groups-in-organizations/creating-a-new-organization-from-scratch)."
|
||||
|
||||
@@ -47,3 +47,11 @@ Once {% data variables.product.prodname_github_connect %} is configured, you can
|
||||

|
||||
1. Configure your workflow's YAML to use `actions/checkout@v2`.
|
||||
1. Each time your workflow runs, the runner will use the `v2` version of `actions/checkout` from {% data variables.product.prodname_dotcom_the_website %}.
|
||||
|
||||
{% ifversion ghes > 3.2 or ghae-issue-4815 %}
|
||||
{% note %}
|
||||
|
||||
**Note:** The first time the `checkout` action is used from {% data variables.product.prodname_dotcom_the_website %}, the `actions/checkout` namespace is automatically retired on {% data variables.product.product_location %}. If you ever want to revert to using a local copy of the action, you first need to remove the namespace from retirement. For more information, see "[Automatic retirement of namespaces for actions accessed on {% data variables.product.prodname_dotcom_the_website%}](/admin/github-actions/managing-access-to-actions-from-githubcom/enabling-automatic-access-to-githubcom-actions-using-github-connect#automatic-retirement-of-namespaces-for-actions-accessed-on-githubcom)."
|
||||
|
||||
{% endnote %}
|
||||
{% endif %}
|
||||
|
||||
@@ -0,0 +1,39 @@
|
||||
---
|
||||
title: Impersonating a user
|
||||
intro: 'You can impersonate users and perform actions on their behalf, for troubleshooting, unblocking, and other legitimate reasons.'
|
||||
permissions: 'Enterprise owners can impersonate users within their enterprise.'
|
||||
versions:
|
||||
ghes: '>3.2'
|
||||
type: how_to
|
||||
topics:
|
||||
- Administrator
|
||||
- Enterprise
|
||||
- User account
|
||||
shortTitle: Impersonate a user
|
||||
---
|
||||
|
||||
## About user impersonation
|
||||
|
||||
If you need to temporarily take over a user account, for example when troubleshooting a user problem, or when the user is unavailable and urgent action is required, you can start an impersonation session to act on their behalf.
|
||||
|
||||
For each impersonation session, you need to provide a reason for the impersonation. A session is limited to one hour, and you will have the same access as the user being impersonated.
|
||||
|
||||
Actions you perform during an impersonation session are recorded as events in the enterprise audit log, as well as the impersonated user's security log. The person being impersonated is sent an email notification when the impersonation session starts. For more information, see "[Audited actions](/admin/user-management/monitoring-activity-in-your-enterprise/audited-actions)" and "[Reviewing your security log](/authentication/keeping-your-account-and-data-secure/reviewing-your-security-log)."
|
||||
|
||||
## Impersonating a user
|
||||
|
||||
{% data reusables.enterprise_site_admin_settings.access-settings %}
|
||||
{% data reusables.enterprise_site_admin_settings.search-user %}
|
||||
{% data reusables.enterprise_site_admin_settings.click-user %}
|
||||
4. In the top left of the page, click **User info**.
|
||||
|
||||

|
||||
5. Under "Danger Zone", click **Sign in to GitHub as @username**
|
||||
|
||||

|
||||
6. Select a reason from the dropdown list. If you select **Other** you will need to provide additional context in the **Notes** section. Click **Begin impersonation** to begin the session.
|
||||
|
||||

|
||||
7. When you are ready to end the impersonation session, click the **Return to your mundane life as username** banner at the top of the page.
|
||||
|
||||

|
||||
@@ -26,6 +26,7 @@ children:
|
||||
- /viewing-people-in-your-enterprise
|
||||
- /viewing-and-managing-a-users-saml-access-to-your-enterprise
|
||||
- /auditing-users-across-your-enterprise
|
||||
- /impersonating-a-user
|
||||
- /managing-dormant-users
|
||||
- /suspending-and-unsuspending-users
|
||||
- /placing-a-legal-hold-on-a-user-or-organization
|
||||
@@ -34,4 +35,3 @@ children:
|
||||
- /rebuilding-contributions-data
|
||||
shortTitle: Manage users
|
||||
---
|
||||
|
||||
|
||||
@@ -159,8 +159,9 @@ Action | Description
|
||||
Action | Description
|
||||
----------------------------- | -----------------------------------------------
|
||||
`staff.disable_repo` | A site admin disabled access to a repository and all of its forks.
|
||||
`staff.enable_repo` | A site admin re-enabled access to a repository and all of its forks.
|
||||
`staff.fake_login` | A site admin signed into {% data variables.product.product_name %} as another user.
|
||||
`staff.enable_repo` | A site admin re-enabled access to a repository and all of its forks.{% ifversion ghes > 3.2 %}
|
||||
`staff.exit_fake_login` | A site admin ended an impersonation session on {% data variables.product.product_name %}.
|
||||
`staff.fake_login` | A site admin signed into {% data variables.product.product_name %} as another user.{% endif %}
|
||||
`staff.repo_unlock` | A site admin unlocked (temporarily gained full access to) one of a user's private repositories.
|
||||
`staff.unlock` | A site admin unlocked (temporarily gained full access to) all of a user's private repositories.
|
||||
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
---
|
||||
title: About billing for GitHub Advanced Security
|
||||
intro: 'If you want to use {% data variables.product.prodname_GH_advanced_security %} features{% ifversion fpt or ghec %} in a private or internal repository{% endif %}, you need a license.{% ifversion fpt or ghec %} These features are available free of charge for public repositories on {% data variables.product.prodname_dotcom_the_website %}.{% endif %}'
|
||||
intro: 'If you want to use {% data variables.product.prodname_GH_advanced_security %} features{% ifversion fpt or ghec %} in a private or internal repository{% endif %}, you need a license{% ifversion fpt %} for your enterprise{% endif %}.{% ifversion fpt or ghec %} These features are available free of charge for public repositories on {% data variables.product.prodname_dotcom_the_website %}.{% endif %}'
|
||||
product: '{% data reusables.gated-features.ghas %}'
|
||||
redirect_from:
|
||||
- /admin/advanced-security/about-licensing-for-github-advanced-security
|
||||
@@ -21,9 +21,13 @@ shortTitle: Advanced Security billing
|
||||
|
||||
## About billing for {% data variables.product.prodname_GH_advanced_security %}
|
||||
|
||||
{% ifversion fpt or ghec %}
|
||||
{% ifversion fpt %}
|
||||
|
||||
If you want to use {% data variables.product.prodname_GH_advanced_security %} features on any repository apart from a public repository on {% data variables.product.prodname_dotcom_the_website %}, you will need a license. For more information about {% data variables.product.prodname_GH_advanced_security %}, see "[About {% data variables.product.prodname_GH_advanced_security %}](/github/getting-started-with-github/about-github-advanced-security)."
|
||||
If you want to use {% data variables.product.prodname_GH_advanced_security %} features on any repository apart from a public repository on {% data variables.product.prodname_dotcom_the_website %}, you will need a {% data variables.product.prodname_GH_advanced_security %} license, available with {% data variables.product.prodname_ghe_cloud %} or {% data variables.product.prodname_ghe_server %}. For more information about {% data variables.product.prodname_GH_advanced_security %}, see "[About {% data variables.product.prodname_GH_advanced_security %}](/github/getting-started-with-github/about-github-advanced-security)."
|
||||
|
||||
{% elsif ghec %}
|
||||
|
||||
If you want to use {% data variables.product.prodname_GH_advanced_security %} features on any repository apart from a public repository on {% data variables.product.prodname_dotcom_the_website %}, you will need a {% data variables.product.prodname_GH_advanced_security %} license. For more information about {% data variables.product.prodname_GH_advanced_security %}, see "[About {% data variables.product.prodname_GH_advanced_security %}](/github/getting-started-with-github/about-github-advanced-security)."
|
||||
|
||||
{% elsif ghes %}
|
||||
|
||||
@@ -57,21 +61,17 @@ For more information on viewing license usage, see "[Viewing your {% data variab
|
||||
|
||||
{% endif %}
|
||||
|
||||
## Calculating committer spending
|
||||
## Understanding active committer usage
|
||||
|
||||
The following example timeline demonstrates the events during a month that affect billing for {% data variables.product.prodname_GH_advanced_security %} in an enterprise. For each month, you will find events, the total committer count, and the total number of committers that {% data variables.product.company_short %} would bill for.
|
||||
The following example timeline demonstrates how active committer count for {% data variables.product.prodname_GH_advanced_security %} could change over time in an enterprise. For each month, you will find events, along with the resulting committer count.
|
||||
|
||||
| Date | Events during the month | Total committer count | Committers billed for the month |
|
||||
| :- | :- | -: | -: |
|
||||
| <nobr>August 1</nobr> | A member of your enterprise enables {% data variables.product.prodname_GH_advanced_security %} for repository **X**. Repository **X** has 50 committers over the past 90 days. | **50** | **50** |
|
||||
| <nobr>September 5</nobr> | Developer **A** leaves the team working on repository **X**. Developer **A**'s contributions continue to count for 90 days. | **50** | **50** |
|
||||
| <nobr>September 8</nobr> | Developer **B** pushes a commit to repository **X** for the first time. Developer **B**'s usage is pro-rated, because the developer began contributing to repository **X** partway through the month. | <sub>_50 + 1_</sub></br>**51** | <sub>_50 + 0.8_</sub><br/>**50.8** |
|
||||
| October and November | Developer **A**'s contributions to repository **X** continue to count because the contributions were within the past 90 days. {% data variables.product.company_short %} now bills for developer **B** for the entire month because developer **B** now has contributions within the past 90 days. | **51** | **51** |
|
||||
| <nobr>December 4</nobr> | 90 days have passed since developer **A**'s last contribution to repository _X. The 90 days lapsed after December started, so {% data variables.product.company_short %} bills for developer **A** for the entire month. | <sub>_51 - 1_</sub><br/>**50** | <sub></sub><br/>**51** |
|
||||
| <nobr>December 11</nobr> | Developer **C** joins the company and pushes a commit to repository **X** for the first time. Developer **C**'s usage is pro-rated at 70% for 21 out of 30 days. | <sub>_50 + 1_</sub><br/>**51** | <sub>_51 + .07_</sub><br/>**51.7** |
|
||||
| <nobr>January</nobr> | {% data variables.product.company_short %} no longer bills for developer **A**. {% data variables.product.company_short %} bills for developer **C** for the entire month. | **51** | **51** |
|
||||
| <nobr>February 15</nobr> | A member of your enterprise disables {% data variables.product.prodname_GH_advanced_security %} for repository **X**. The 51 contributors to repository **X** do not work in any other repositories with {% data variables.product.prodname_GH_advanced_security %}. {% data variables.product.company_short %} bills for the developers' usage in repository **X** for February. | <sub>_51 - 51_</sub><br/>**0** | <sub></sub><br/>**51** |
|
||||
| <nobr>March</nobr> | No repository owned by your enterprise has {% data variables.product.prodname_GH_advanced_security %} enabled. | **0** | **0** |
|
||||
| Date | Events during the month | Total committers |
|
||||
| :- | :- | -: |
|
||||
| <nobr>April 15</nobr> | A member of your enterprise enables {% data variables.product.prodname_GH_advanced_security %} for repository **X**. Repository **X** has 50 committers over the past 90 days. | **50** |
|
||||
| <nobr>May 1</nobr> | Developer **A** leaves the team working on repository **X**. Developer **A**'s contributions continue to count for 90 days. | **50** | **50** |
|
||||
| <nobr>August 1</nobr> | Developer **A**'s contributions no longer count towards the licences required, because 90 days have passed. | <sub>_50 - 1_</sub></br>**49** |
|
||||
| <nobr>August 15</nobr> | A member of your enterprise enables {% data variables.product.prodname_GH_advanced_security %} for a second repository, repository **Y**. In the last 90 days, a total of 20 developers contributed to that repository. Of those 20 developers, 10 also recently worked on repo **X** and do not require additional licenses. | <sub>_49 + 10_</sub><br/>**59** |
|
||||
| <nobr>August 16</nobr> | A member of your enterprise disables {% data variables.product.prodname_GH_advanced_security %} for repository **X**. Of the 49 developers who were working on repository **X**, 10 still also work on repository **Y**, which has a total of 20 developers contributing in the last 90 days. | <sub>_49 - 29_</sub><br/>**20** |
|
||||
|
||||
## Getting the most out of {% data variables.product.prodname_GH_advanced_security %}
|
||||
|
||||
|
||||
@@ -34,13 +34,16 @@ Make it easy for your users to confidentially report security vulnerabilities th
|
||||
|
||||
Privately discuss and fix security vulnerabilities in your repository's code. You can then publish a security advisory to alert your community to the vulnerability and encourage community members to upgrade. For more information, see "[About {% data variables.product.prodname_security_advisories %}](/github/managing-security-vulnerabilities/about-github-security-advisories)."
|
||||
|
||||
{% endif %}
|
||||
{% ifversion fpt or ghec or ghes > 3.2 %}
|
||||
|
||||
### {% data variables.product.prodname_dependabot_alerts %} and security updates
|
||||
|
||||
View alerts about dependencies that are known to contain security vulnerabilities, and choose whether to have pull requests generated automatically to update these dependencies. For more information, see "[About alerts for vulnerable dependencies](/github/managing-security-vulnerabilities/about-alerts-for-vulnerable-dependencies)"
|
||||
and "[About {% data variables.product.prodname_dependabot_security_updates %}](/github/managing-security-vulnerabilities/about-dependabot-security-updates)."
|
||||
{% endif %}
|
||||
|
||||
{% ifversion ghes or ghae-issue-4864 %}
|
||||
{% ifversion ghes < 3.3 or ghae-issue-4864 %}
|
||||
### {% data variables.product.prodname_dependabot_alerts %}
|
||||
|
||||
{% data reusables.dependabot.dependabot-alerts-beta %}
|
||||
@@ -48,7 +51,7 @@ and "[About {% data variables.product.prodname_dependabot_security_updates %}](/
|
||||
View alerts about dependencies that are known to contain security vulnerabilities, and manage these alerts. For more information, see "[About alerts for vulnerable dependencies](/github/managing-security-vulnerabilities/about-alerts-for-vulnerable-dependencies)."
|
||||
{% endif %}
|
||||
|
||||
{% ifversion fpt or ghec %}
|
||||
{% ifversion fpt or ghec or ghes > 3.2 %}
|
||||
### {% data variables.product.prodname_dependabot %} version updates
|
||||
|
||||
Use {% data variables.product.prodname_dependabot %} to automatically raise pull requests to keep your dependencies up-to-date. This helps reduce your exposure to older versions of dependencies. Using newer versions makes it easier to apply patches if security vulnerabilities are discovered, and also makes it easier for {% data variables.product.prodname_dependabot_security_updates %} to successfully raise pull requests to upgrade vulnerable dependencies. For more information, see "[About {% data variables.product.prodname_dependabot_version_updates %}](/github/administering-a-repository/about-dependabot-version-updates)."
|
||||
|
||||
@@ -62,7 +62,7 @@ For more information, see "[About dependency review](/code-security/supply-chain
|
||||
|
||||
{% endif %}
|
||||
|
||||
{% ifversion fpt or ghec %}
|
||||
{% ifversion fpt or ghec or ghes > 3.2 %}
|
||||
## Managing {% data variables.product.prodname_dependabot_security_updates %}
|
||||
|
||||
For any repository that uses {% data variables.product.prodname_dependabot_alerts %}, you can enable {% data variables.product.prodname_dependabot_security_updates %} to raise pull requests with security updates when vulnerabilities are detected. You can also enable or disable {% data variables.product.prodname_dependabot_security_updates %} for all repositories across your organization.
|
||||
@@ -79,7 +79,7 @@ For more information, see "[About {% data variables.product.prodname_dependabot_
|
||||
|
||||
You can enable {% data variables.product.prodname_dependabot %} to automatically raise pull requests to keep your dependencies up-to-date. For more information, see "[About {% data variables.product.prodname_dependabot_version_updates %}](/code-security/supply-chain-security/about-dependabot-version-updates)."
|
||||
|
||||
To enable {% data variables.product.prodname_dependabot_version_updates %}, you must create a *dependabot.yml* configuration file. For more information, see "[Enabling and disabling version updates](/code-security/supply-chain-security/enabling-and-disabling-version-updates)."
|
||||
To enable {% data variables.product.prodname_dependabot_version_updates %}, you must create a *dependabot.yml* configuration file. For more information, see "[Enabling and disabling {% data variables.product.prodname_dependabot %} version updates](/code-security/supply-chain-security/keeping-your-dependencies-updated-automatically/enabling-and-disabling-dependabot-version-updates)."
|
||||
|
||||
{% endif %}
|
||||
|
||||
@@ -118,7 +118,7 @@ For more information, see "[Managing security and analysis settings for your org
|
||||
## Next steps
|
||||
{% ifversion fpt or ghes > 3.1 or ghae-next or ghec %}You can view, filter, and sort security alerts for repositories owned by your organization in the security overview. For more information, see "[About the security overview](/code-security/security-overview/about-the-security-overview)."{% endif %}
|
||||
|
||||
You can view and manage alerts from security features to address dependencies and vulnerabilities in your code. For more information, see {% ifversion fpt or ghes > 2.22 or ghec %} "[Viewing and updating vulnerable dependencies in your repository](/code-security/supply-chain-security/viewing-and-updating-vulnerable-dependencies-in-your-repository),"{% endif %} {% ifversion fpt or ghec %}"[Managing pull requests for dependency updates](/code-security/supply-chain-security/managing-pull-requests-for-dependency-updates)," {% endif %}"[Managing {% data variables.product.prodname_code_scanning %} for your repository](/code-security/secure-coding/managing-code-scanning-alerts-for-your-repository)," and "[Managing alerts from {% data variables.product.prodname_secret_scanning %}](/code-security/secret-security/managing-alerts-from-secret-scanning)."
|
||||
You can view and manage alerts from security features to address dependencies and vulnerabilities in your code. For more information, see {% ifversion fpt or ghes > 2.22 or ghec %} "[Viewing and updating vulnerable dependencies in your repository](/code-security/supply-chain-security/viewing-and-updating-vulnerable-dependencies-in-your-repository),"{% endif %} {% ifversion fpt or ghec or ghes > 3.2 %}"[Managing pull requests for dependency updates](/code-security/supply-chain-security/managing-pull-requests-for-dependency-updates)," {% endif %}"[Managing {% data variables.product.prodname_code_scanning %} for your repository](/code-security/secure-coding/managing-code-scanning-alerts-for-your-repository)," and "[Managing alerts from {% data variables.product.prodname_secret_scanning %}](/code-security/secret-security/managing-alerts-from-secret-scanning)."
|
||||
|
||||
{% ifversion fpt or ghec %}If you have a security vulnerability, you can create a security advisory to privately discuss and fix the vulnerability. For more information, see "[About {% data variables.product.prodname_security_advisories %}](/code-security/security-advisories/about-github-security-advisories)" and "[Creating a security advisory](/code-security/security-advisories/creating-a-security-advisory)."
|
||||
{% endif %}
|
||||
|
||||
@@ -91,7 +91,7 @@ For more information, see "[About dependency review](/code-security/supply-chain
|
||||
|
||||
{% endif %}
|
||||
|
||||
{% ifversion fpt or ghec %}
|
||||
{% ifversion fpt or ghec or ghes > 3.2 %}
|
||||
|
||||
## Managing {% data variables.product.prodname_dependabot_security_updates %}
|
||||
|
||||
@@ -107,7 +107,7 @@ For more information, see "[About {% data variables.product.prodname_dependabot_
|
||||
|
||||
You can enable {% data variables.product.prodname_dependabot %} to automatically raise pull requests to keep your dependencies up-to-date. For more information, see "[About {% data variables.product.prodname_dependabot_version_updates %}](/code-security/supply-chain-security/about-dependabot-version-updates)."
|
||||
|
||||
To enable {% data variables.product.prodname_dependabot_version_updates %}, you must create a *dependabot.yml* configuration file. For more information, see "[Enabling and disabling version updates](/code-security/supply-chain-security/enabling-and-disabling-version-updates)."
|
||||
To enable {% data variables.product.prodname_dependabot_version_updates %}, you must create a *dependabot.yml* configuration file. For more information, see "[Enabling and disabling {% data variables.product.prodname_dependabot %} version updates](/code-security/supply-chain-security/keeping-your-dependencies-updated-automatically/enabling-and-disabling-dependabot-version-updates)."
|
||||
|
||||
{% endif %}
|
||||
|
||||
@@ -128,7 +128,7 @@ You can set up {% data variables.product.prodname_code_scanning %} to automatica
|
||||
4. Next to {% data variables.product.prodname_secret_scanning_caps %}, click **Enable**.
|
||||
|
||||
## Next steps
|
||||
You can view and manage alerts from security features to address dependencies and vulnerabilities in your code. For more information, see {% ifversion fpt or ghes or ghec %} "[Viewing and updating vulnerable dependencies in your repository](/code-security/supply-chain-security/viewing-and-updating-vulnerable-dependencies-in-your-repository),"{% endif %} {% ifversion fpt or ghec %}"[Managing pull requests for dependency updates](/code-security/supply-chain-security/managing-pull-requests-for-dependency-updates)," {% endif %}"[Managing {% data variables.product.prodname_code_scanning %} for your repository](/code-security/secure-coding/managing-code-scanning-alerts-for-your-repository)," and "[Managing alerts from {% data variables.product.prodname_secret_scanning %}](/code-security/secret-security/managing-alerts-from-secret-scanning)."
|
||||
You can view and manage alerts from security features to address dependencies and vulnerabilities in your code. For more information, see {% ifversion fpt or ghes or ghec %} "[Viewing and updating vulnerable dependencies in your repository](/code-security/supply-chain-security/viewing-and-updating-vulnerable-dependencies-in-your-repository),"{% endif %} {% ifversion fpt or ghec or ghes > 3.2 %}"[Managing pull requests for dependency updates](/code-security/supply-chain-security/managing-pull-requests-for-dependency-updates)," {% endif %}"[Managing {% data variables.product.prodname_code_scanning %} for your repository](/code-security/secure-coding/managing-code-scanning-alerts-for-your-repository)," and "[Managing alerts from {% data variables.product.prodname_secret_scanning %}](/code-security/secret-security/managing-alerts-from-secret-scanning)."
|
||||
|
||||
{% ifversion fpt or ghec %}If you have a security vulnerability, you can create a security advisory to privately discuss and fix the vulnerability. For more information, see "[About {% data variables.product.prodname_security_advisories %}](/code-security/security-advisories/about-github-security-advisories)" and "[Creating a security advisory](/code-security/security-advisories/creating-a-security-advisory)."
|
||||
{% endif %}
|
||||
|
||||
@@ -58,7 +58,7 @@ includeGuides:
|
||||
- /code-security/supply-chain-security/keeping-your-dependencies-updated-automatically/automating-dependabot-with-github-actions
|
||||
- /code-security/supply-chain-security/keeping-your-dependencies-updated-automatically/configuration-options-for-dependency-updates
|
||||
- /code-security/supply-chain-security/keeping-your-dependencies-updated-automatically/customizing-dependency-updates
|
||||
- /code-security/supply-chain-security/keeping-your-dependencies-updated-automatically/enabling-and-disabling-version-updates
|
||||
- /code-security/supply-chain-security/keeping-your-dependencies-updated-automatically/enabling-and-disabling-dependabot-version-updates
|
||||
- /code-security/supply-chain-security/keeping-your-dependencies-updated-automatically/keeping-your-actions-up-to-date-with-dependabot
|
||||
- /code-security/supply-chain-security/keeping-your-dependencies-updated-automatically/listing-dependencies-configured-for-version-updates
|
||||
- /code-security/supply-chain-security/keeping-your-dependencies-updated-automatically/managing-encrypted-secrets-for-dependabot
|
||||
|
||||
@@ -12,7 +12,7 @@ featuredLinks:
|
||||
- '{% ifversion ghes or ghae %}/code-security/secure-coding/automatically-scanning-your-code-for-vulnerabilities-and-errors/setting-up-code-scanning-for-a-repository{% endif%}'
|
||||
guideCards:
|
||||
- '{% ifversion fpt %}/code-security/supply-chain-security/managing-vulnerabilities-in-your-projects-dependencies/configuring-dependabot-security-updates{% endif %}'
|
||||
- '{% ifversion fpt %}/code-security/supply-chain-security/keeping-your-dependencies-updated-automatically/enabling-and-disabling-version-updates{% endif %}'
|
||||
- '{% ifversion fpt %}/code-security/supply-chain-security/keeping-your-dependencies-updated-automatically/enabling-and-disabling-dependabot-version-updates{% endif %}'
|
||||
- '{% ifversion fpt %}/code-security/secure-coding/automatically-scanning-your-code-for-vulnerabilities-and-errors/setting-up-code-scanning-for-a-repository{% endif %}'
|
||||
- '{% ifversion ghes %}/code-security/supply-chain-security/understanding-your-software-supply-chain/exploring-the-dependencies-of-a-repository{% endif %}'
|
||||
- '{% ifversion ghes %}/code-security/supply-chain-security/managing-vulnerabilities-in-your-projects-dependencies/configuring-notifications-for-vulnerable-dependencies{% endif %}'
|
||||
|
||||
@@ -10,6 +10,7 @@ redirect_from:
|
||||
versions:
|
||||
fpt: '*'
|
||||
ghec: '*'
|
||||
ghes: '> 3.2'
|
||||
type: overview
|
||||
topics:
|
||||
- Dependabot
|
||||
@@ -19,15 +20,19 @@ topics:
|
||||
- Pull requests
|
||||
shortTitle: Dependabot version updates
|
||||
---
|
||||
|
||||
{% data reusables.dependabot.beta-security-and-version-updates %}
|
||||
{% data reusables.dependabot.enterprise-enable-dependabot %}
|
||||
|
||||
## About {% data variables.product.prodname_dependabot_version_updates %}
|
||||
|
||||
{% data variables.product.prodname_dependabot %} takes the effort out of maintaining your dependencies. You can use it to ensure that your repository automatically keeps up with the latest releases of the packages and applications it depends on.
|
||||
|
||||
You enable {% data variables.product.prodname_dependabot_version_updates %} by checking a configuration file into your repository. The configuration file specifies the location of the manifest, or of other package definition files, stored in your repository. {% data variables.product.prodname_dependabot %} uses this information to check for outdated packages and applications. {% data variables.product.prodname_dependabot %} determines if there is a new version of a dependency by looking at the semantic versioning ([semver](https://semver.org/)) of the dependency to decide whether it should update to that version. For certain package managers, {% data variables.product.prodname_dependabot_version_updates %} also supports vendoring. Vendored (or cached) dependencies are dependencies that are checked in to a specific directory in a repository rather than referenced in a manifest. Vendored dependencies are available at build time even if package servers are unavailable. {% data variables.product.prodname_dependabot_version_updates %} can be configured to check vendored dependencies for new versions and update them if necessary.
|
||||
|
||||
When {% data variables.product.prodname_dependabot %} identifies an outdated dependency, it raises a pull request to update the manifest to the latest version of the dependency. For vendored dependencies, {% data variables.product.prodname_dependabot %} raises a pull request to replace the outdated dependency with the new version directly. You check that your tests pass, review the changelog and release notes included in the pull request summary, and then merge it. For more information, see "[Enabling and disabling version updates](/github/administering-a-repository/enabling-and-disabling-version-updates)."
|
||||
When {% data variables.product.prodname_dependabot %} identifies an outdated dependency, it raises a pull request to update the manifest to the latest version of the dependency. For vendored dependencies, {% data variables.product.prodname_dependabot %} raises a pull request to replace the outdated dependency with the new version directly. You check that your tests pass, review the changelog and release notes included in the pull request summary, and then merge it. For more information, see "[Enabling and disabling {% data variables.product.prodname_dependabot %} version updates](/code-security/supply-chain-security/keeping-your-dependencies-updated-automatically/enabling-and-disabling-dependabot-version-updates)."
|
||||
|
||||
If you enable security updates, {% data variables.product.prodname_dependabot %} also raises pull requests to update vulnerable dependencies. For more information, see "[About {% data variables.product.prodname_dependabot_security_updates %}](/github/managing-security-vulnerabilities/about-dependabot-security-updates)."
|
||||
If you enable _security updates_, {% data variables.product.prodname_dependabot %} also raises pull requests to update vulnerable dependencies. For more information, see "[About {% data variables.product.prodname_dependabot_security_updates %}](/github/managing-security-vulnerabilities/about-dependabot-security-updates)."
|
||||
|
||||
{% data reusables.dependabot.pull-request-security-vs-version-updates %}
|
||||
|
||||
@@ -44,8 +49,7 @@ If you've enabled security updates, you'll sometimes see extra pull requests for
|
||||
## Supported repositories and ecosystems
|
||||
<!-- If you make changes to this feature, update /getting-started-with-github/github-language-support to reflect any changes to supported repositories or ecosystems. -->
|
||||
|
||||
You can configure version updates for repositories that contain a dependency manifest or lock file for one of the supported package managers. For some package managers, you can also configure vendoring for dependencies. For more information, see "[Configuration options for dependency updates](/github/administering-a-repository/configuration-options-for-dependency-updates#vendor)."
|
||||
|
||||
You can configure version updates for repositories that contain a dependency manifest or lock file for one of the supported package managers. For some package managers, you can also configure vendoring for dependencies. For more information, see "[Configuration options for dependency updates](/code-security/supply-chain-security/keeping-your-dependencies-updated-automatically/configuration-options-for-dependency-updates#vendor)."
|
||||
{% note %}
|
||||
|
||||
{% data reusables.dependabot.private-dependencies-note %}
|
||||
@@ -56,8 +60,8 @@ You can configure version updates for repositories that contain a dependency man
|
||||
|
||||
{% data reusables.dependabot.supported-package-managers %}
|
||||
|
||||
If your repository already uses an integration for dependency management, you will need to disable this before enabling {% data variables.product.prodname_dependabot %}. For more information, see "[About integrations](/github/customizing-your-github-workflow/about-integrations)."
|
||||
If your repository already uses an integration for dependency management, you will need to disable this before enabling {% data variables.product.prodname_dependabot %}. {% ifversion fpt or ghec %}For more information, see "[About integrations](/github/customizing-your-github-workflow/about-integrations)."{% endif %}
|
||||
|
||||
## About notifications for {% data variables.product.prodname_dependabot %} version updates
|
||||
|
||||
You can filter your notifications on {% data variables.product.company_short %} to show {% data variables.product.prodname_dependabot %} version updates. For more information, see "[Managing notifications from your inbox](/github/managing-subscriptions-and-notifications-on-github/managing-notifications-from-your-inbox#dependabot-custom-filters)."
|
||||
You can filter your notifications on {% data variables.product.company_short %} to show notifications for pull requests created by {% data variables.product.prodname_dependabot %}. For more information, see "[Managing notifications from your inbox](/github/managing-subscriptions-and-notifications-on-github/managing-notifications-from-your-inbox)."
|
||||
|
||||
@@ -6,6 +6,7 @@ miniTocMaxHeadingLevel: 3
|
||||
versions:
|
||||
fpt: '*'
|
||||
ghec: '*'
|
||||
ghes: '>3.2'
|
||||
type: how_to
|
||||
topics:
|
||||
- Actions
|
||||
@@ -18,6 +19,9 @@ topics:
|
||||
shortTitle: Use Dependabot with actions
|
||||
---
|
||||
|
||||
{% data reusables.dependabot.beta-security-and-version-updates %}
|
||||
{% data reusables.dependabot.enterprise-enable-dependabot %}
|
||||
|
||||
## About {% data variables.product.prodname_dependabot %} and {% data variables.product.prodname_actions %}
|
||||
|
||||
{% data variables.product.prodname_dependabot %} creates pull requests to keep your dependencies up to date, and you can use {% data variables.product.prodname_actions %} to perform automated tasks when these pull requests are created. For example, fetch additional artifacts, add labels, run tests, or otherwise modifying the pull request.
|
||||
@@ -33,6 +37,16 @@ For workflows initiated by {% data variables.product.prodname_dependabot %} (`gi
|
||||
|
||||
For more information, see ["Keeping your GitHub Actions and workflows secure: Preventing pwn requests"](https://securitylab.github.com/research/github-actions-preventing-pwn-requests/).
|
||||
|
||||
{% ifversion ghes > 3.2 %}
|
||||
{% note %}
|
||||
|
||||
**Note:** Your site administrator can override these restrictions for {% data variables.product.product_location %}. For more information, see "[Troubleshooting {% data variables.product.prodname_actions %} for your enterprise](/admin/github-actions/advanced-configuration-and-troubleshooting/troubleshooting-github-actions-for-your-enterprise#troubleshooting-failures-when-dependabot-triggers-existing-workflows)."
|
||||
|
||||
If the restrictions are removed, when a workflow is triggered by {% data variables.product.prodname_dependabot %} it will have access to any secrets that are normally available. In addition, workflows triggered by {% data variables.product.prodname_dependabot %} can use the `permissions` term to increase the default scope of the `GITHUB_TOKEN` from read-only access.
|
||||
|
||||
{% endnote %}
|
||||
{% endif %}
|
||||
|
||||
### Handling `pull_request` events
|
||||
|
||||
If your workflow needs access to secrets or a `GITHUB_TOKEN` with write permissions, you have two options: using `pull_request_target`, or using two separate workflows. We will detail using `pull_request_target` in this section, and using two workflows below in "[Handling `push` events](#handling-push-events)."
|
||||
|
||||
@@ -9,6 +9,7 @@ miniTocMaxHeadingLevel: 3
|
||||
versions:
|
||||
fpt: '*'
|
||||
ghec: '*'
|
||||
ghes: '>3.2'
|
||||
type: reference
|
||||
topics:
|
||||
- Dependabot
|
||||
@@ -18,11 +19,15 @@ topics:
|
||||
- Pull requests
|
||||
shortTitle: Configuration options
|
||||
---
|
||||
|
||||
{% data reusables.dependabot.beta-security-and-version-updates %}
|
||||
{% data reusables.dependabot.enterprise-enable-dependabot %}
|
||||
|
||||
## About the *dependabot.yml* file
|
||||
|
||||
The {% data variables.product.prodname_dependabot %} configuration file, *dependabot.yml*, uses YAML syntax. If you're new to YAML and want to learn more, see "[Learn YAML in five minutes](https://www.codeproject.com/Articles/1214409/Learn-YAML-in-five-minutes)."
|
||||
|
||||
You must store this file in the `.github` directory of your repository. When you add or update the *dependabot.yml* file, this triggers an immediate check for version updates. Any options that also affect security updates are used the next time a security alert triggers a pull request for a security update. For more information, see "[Enabling and disabling version updates](/github/administering-a-repository/enabling-and-disabling-version-updates)" and "[Configuring {% data variables.product.prodname_dependabot_security_updates %}](/github/managing-security-vulnerabilities/configuring-dependabot-security-updates)."
|
||||
You must store this file in the `.github` directory of your repository. When you add or update the *dependabot.yml* file, this triggers an immediate check for version updates. Any options that also affect security updates are used the next time a security alert triggers a pull request for a security update. For more information, see "[Enabling and disabling {% data variables.product.prodname_dependabot %} version updates](/code-security/supply-chain-security/keeping-your-dependencies-updated-automatically/enabling-and-disabling-dependabot-version-updates)" and "[Configuring {% data variables.product.prodname_dependabot_security_updates %}](/code-security/supply-chain-security/managing-vulnerabilities-in-your-projects-dependencies/configuring-dependabot-security-updates)."
|
||||
|
||||
The *dependabot.yml* file has two mandatory top-level keys: `version`, and `updates`. You can, optionally, include a top-level `registries` key. The file must start with `version: 2`.
|
||||
|
||||
@@ -70,7 +75,7 @@ In addition, the [`open-pull-requests-limit`](#open-pull-requests-limit) option
|
||||
|
||||
Security updates are raised for vulnerable package manifests only on the default branch. When configuration options are set for the same branch (true unless you use `target-branch`), and specify a `package-ecosystem` and `directory` for the vulnerable manifest, then pull requests for security updates use relevant options.
|
||||
|
||||
In general, security updates use any configuration options that affect pull requests, for example, adding metadata or changing their behavior. For more information about security updates, see "[Configuring {% data variables.product.prodname_dependabot_security_updates %}](/github/managing-security-vulnerabilities/configuring-dependabot-security-updates)."
|
||||
In general, security updates use any configuration options that affect pull requests, for example, adding metadata or changing their behavior. For more information about security updates, see "[Configuring {% data variables.product.prodname_dependabot_security_updates %}](/code-security/supply-chain-security/managing-vulnerabilities-in-your-projects-dependencies/configuring-dependabot-security-updates)."
|
||||
|
||||
{% endnote %}
|
||||
|
||||
@@ -163,7 +168,7 @@ updates:
|
||||
|
||||
{% note %}
|
||||
|
||||
**Note**: `schedule` defines when {% data variables.product.prodname_dependabot %} attempts a new update. However, it's not the only time you may receive pull requests. Updates can be triggered based on changes to your `dependabot.yml` file, changes to your manifest file(s) after a failed update, or {% data variables.product.prodname_dependabot_security_updates %}. For more information, see "[Frequency of {% data variables.product.prodname_dependabot %} pull requests](/github/administering-a-repository/about-dependabot-version-updates#frequency-of-dependabot-pull-requests)" and "[About {% data variables.product.prodname_dependabot_security_updates %}](/github/managing-security-vulnerabilities/about-dependabot-security-updates)."
|
||||
**Note**: `schedule` defines when {% data variables.product.prodname_dependabot %} attempts a new update. However, it's not the only time you may receive pull requests. Updates can be triggered based on changes to your `dependabot.yml` file, changes to your manifest file(s) after a failed update, or {% data variables.product.prodname_dependabot_security_updates %}. For more information, see "[Frequency of {% data variables.product.prodname_dependabot %} pull requests](/code-security/supply-chain-security/keeping-your-dependencies-updated-automatically/about-dependabot-version-updates#frequency-of-dependabot-pull-requests)" and "[About {% data variables.product.prodname_dependabot_security_updates %}](/code-security/supply-chain-security/managing-vulnerabilities-in-your-projects-dependencies/about-dependabot-security-updates)."
|
||||
|
||||
{% endnote %}
|
||||
|
||||
@@ -300,7 +305,7 @@ Dependencies ignored by using the `@dependabot ignore` command are stored centra
|
||||
|
||||
You can check whether a repository has stored `ignore` preferences by searching the repository for `"@dependabot ignore" in:comments`. If you wish to un-ignore a dependency ignored this way, re-open the pull request.
|
||||
|
||||
For more information about the `@dependabot ignore` commands, see "[Managing pull requests for dependency updates](/github/administering-a-repository/managing-pull-requests-for-dependency-updates#managing-dependabot-pull-requests-with-comment-commands)."
|
||||
For more information about the `@dependabot ignore` commands, see "[Managing pull requests for dependency updates](/code-security/supply-chain-security/keeping-your-dependencies-updated-automatically/managing-pull-requests-for-dependency-updates#managing-dependabot-pull-requests-with-comment-commands)."
|
||||
|
||||
#### Specifying dependencies and versions to ignore
|
||||
|
||||
@@ -336,7 +341,7 @@ updates:
|
||||
|
||||
{% note %}
|
||||
|
||||
**Note**: {% data variables.product.prodname_dependabot %} can only run version updates on manifest or lock files if it can access all of the dependencies in the file, even if you add inaccessible dependencies to the `ignore` option of your configuration file. 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#allowing-dependabot-to-access-private-dependencies)" and "[Troubleshooting {% data variables.product.prodname_dependabot %} errors](/github/managing-security-vulnerabilities/troubleshooting-dependabot-errors#dependabot-cant-resolve-your-dependency-files)."
|
||||
**Note**: {% data variables.product.prodname_dependabot %} can only run version updates on manifest or lock files if it can access all of the dependencies in the file, even if you add inaccessible dependencies to the `ignore` option of your configuration file. 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#allowing-dependabot-to-access-private-dependencies)" and "[Troubleshooting {% data variables.product.prodname_dependabot %} errors](/code-security/supply-chain-security/managing-vulnerabilities-in-your-projects-dependencies/troubleshooting-dependabot-errors#dependabot-cant-resolve-your-dependency-files)."
|
||||
|
||||
|
||||
{% endnote %}
|
||||
@@ -746,9 +751,9 @@ You use the following options to specify access settings. Registry settings must
|
||||
| `type` | Identifies the type of registry. See the full list of types below. |
|
||||
| `url` | The URL to use to access the dependencies in this registry. The protocol is optional. If not specified, `https://` is assumed. {% data variables.product.prodname_dependabot %} adds or ignores trailing slashes as required. |
|
||||
| `username` | The username that {% data variables.product.prodname_dependabot %} uses to access the registry. |
|
||||
| `password` | A reference to a {% data variables.product.prodname_dependabot %} secret containing the password for the specified user. For more information, see "[Managing encrypted secrets for Dependabot](/github/administering-a-repository/managing-encrypted-secrets-for-dependabot)." |
|
||||
| `key` | A reference to a {% data variables.product.prodname_dependabot %} secret containing an access key for this registry. For more information, see "[Managing encrypted secrets for Dependabot](/github/administering-a-repository/managing-encrypted-secrets-for-dependabot)." |
|
||||
| `token` | A reference to a {% data variables.product.prodname_dependabot %} secret containing an access token for this registry. For more information, see "[Managing encrypted secrets for Dependabot](/github/administering-a-repository/managing-encrypted-secrets-for-dependabot)." |
|
||||
| `password` | A reference to a {% data variables.product.prodname_dependabot %} secret containing the password for the specified user. For more information, see "[Managing encrypted secrets for Dependabot](/code-security/supply-chain-security/keeping-your-dependencies-updated-automatically/managing-encrypted-secrets-for-dependabot)." |
|
||||
| `key` | A reference to a {% data variables.product.prodname_dependabot %} secret containing an access key for this registry. For more information, see "[Managing encrypted secrets for Dependabot](/code-security/supply-chain-security/keeping-your-dependencies-updated-automatically/managing-encrypted-secrets-for-dependabot)." |
|
||||
| `token` | A reference to a {% data variables.product.prodname_dependabot %} secret containing an access token for this registry. For more information, see "[Managing encrypted secrets for Dependabot](/code-security/supply-chain-security/keeping-your-dependencies-updated-automatically/managing-encrypted-secrets-for-dependabot)." |
|
||||
| `replaces-base` | For registries with `type: python-index`, if the boolean value is `true`, pip resolves dependencies by using the specified URL rather than the base URL of the Python Package Index (by default `https://pypi.org/simple`). |
|
||||
|
||||
|
||||
|
||||
@@ -8,6 +8,7 @@ redirect_from:
|
||||
versions:
|
||||
fpt: '*'
|
||||
ghec: '*'
|
||||
ghes: '>3.2'
|
||||
type: how_to
|
||||
topics:
|
||||
- Dependabot
|
||||
@@ -19,6 +20,10 @@ topics:
|
||||
- Vulnerabilities
|
||||
shortTitle: Customize updates
|
||||
---
|
||||
|
||||
{% data reusables.dependabot.beta-security-and-version-updates %}
|
||||
{% data reusables.dependabot.enterprise-enable-dependabot %}
|
||||
|
||||
## About customizing dependency updates
|
||||
|
||||
After you've enabled version updates, you can customize how {% data variables.product.prodname_dependabot %} maintains your dependencies by adding further options to the *dependabot.yml* file. For example, you could:
|
||||
@@ -29,9 +34,9 @@ After you've enabled version updates, you can customize how {% data variables.pr
|
||||
- Change the maximum number of open pull requests for version updates from the default of 5: `open-pull-requests-limit`
|
||||
- Open pull requests for version updates to target a specific branch, instead of the default branch: `target-branch`
|
||||
|
||||
For more information about the configuration options, see "[Configuration options for dependency updates](/github/administering-a-repository/configuration-options-for-dependency-updates)."
|
||||
For more information about the configuration options, see "[Configuration options for dependency updates](/code-security/supply-chain-security/keeping-your-dependencies-updated-automatically/configuration-options-for-dependency-updates)."
|
||||
|
||||
When you update the *dependabot.yml* file in your repository, {% data variables.product.prodname_dependabot %} runs an immediate check with the new configuration. Within minutes you will see an updated list of dependencies on the **{% data variables.product.prodname_dependabot %}** tab, this may take longer if the repository has many dependencies. You may also see new pull requests for version updates. For more information, see "[Listing dependencies configured for version updates](/github/administering-a-repository/listing-dependencies-configured-for-version-updates)."
|
||||
When you update the *dependabot.yml* file in your repository, {% data variables.product.prodname_dependabot %} runs an immediate check with the new configuration. Within minutes you will see an updated list of dependencies on the **{% data variables.product.prodname_dependabot %}** tab, this may take longer if the repository has many dependencies. You may also see new pull requests for version updates. For more information, see "[Listing dependencies configured for version updates](/code-security/supply-chain-security/keeping-your-dependencies-updated-automatically/listing-dependencies-configured-for-version-updates)."
|
||||
|
||||
## Impact of configuration changes on security updates
|
||||
|
||||
@@ -135,4 +140,4 @@ updates:
|
||||
|
||||
## More examples
|
||||
|
||||
For more examples, see "[Configuration options for dependency updates](/github/administering-a-repository/configuration-options-for-dependency-updates)."
|
||||
For more examples, see "[Configuration options for dependency updates](/code-security/supply-chain-security/keeping-your-dependencies-updated-automatically/configuration-options-for-dependency-updates)."
|
||||
|
||||
@@ -1,13 +1,15 @@
|
||||
---
|
||||
title: Enabling and disabling version updates
|
||||
title: Enabling and disabling Dependabot version updates
|
||||
intro: 'You can configure your repository so that {% data variables.product.prodname_dependabot %} automatically updates the packages you use.'
|
||||
permissions: 'People with write permissions to a repository can enable or disable {% data variables.product.prodname_dependabot_version_updates %} for the repository.'
|
||||
redirect_from:
|
||||
- /github/administering-a-repository/enabling-and-disabling-version-updates
|
||||
- /code-security/supply-chain-security/enabling-and-disabling-version-updates
|
||||
- /code-security/supply-chain-security/keeping-your-dependencies-updated-automatically/enabling-and-disabling-version-updates
|
||||
versions:
|
||||
fpt: '*'
|
||||
ghec: '*'
|
||||
ghes: '> 3.2'
|
||||
type: how_to
|
||||
topics:
|
||||
- Dependabot
|
||||
@@ -18,6 +20,8 @@ topics:
|
||||
shortTitle: Enable and disable updates
|
||||
---
|
||||
<!--Marketing-LINK: From /features/security/software-supply-chain page "About version updates for dependencies".-->
|
||||
{% data reusables.dependabot.beta-security-and-version-updates %}
|
||||
{% data reusables.dependabot.enterprise-enable-dependabot %}
|
||||
|
||||
## About version updates for dependencies
|
||||
|
||||
@@ -82,9 +86,9 @@ On a fork, you also need to explicitly enable {% data variables.product.prodname
|
||||
|
||||
## Checking the status of version updates
|
||||
|
||||
After you enable version updates, you'll see a new **Dependabot** tab in the dependency graph for the repository. This tab shows which package managers {% data variables.product.prodname_dependabot %} is configured to monitor and when {% data variables.product.prodname_dependabot %} last checked for new versions.
|
||||
After you enable version updates, the **Dependabot** tab in the dependency graph for the repository is populated. This tab shows which package managers {% data variables.product.prodname_dependabot %} is configured to monitor and when {% data variables.product.prodname_dependabot %} last checked for new versions.
|
||||
|
||||

|
||||

|
||||
|
||||
For information, see "[Listing dependencies configured for version updates](/github/administering-a-repository/listing-dependencies-configured-for-version-updates)."
|
||||
|
||||
@@ -6,6 +6,7 @@ redirect_from:
|
||||
versions:
|
||||
fpt: '*'
|
||||
ghec: '*'
|
||||
ghes: '>3.2'
|
||||
topics:
|
||||
- Repositories
|
||||
- Dependabot
|
||||
@@ -15,7 +16,7 @@ topics:
|
||||
children:
|
||||
- /about-dependabot-version-updates
|
||||
- /upgrading-from-dependabotcom-to-github-native-dependabot
|
||||
- /enabling-and-disabling-version-updates
|
||||
- /enabling-and-disabling-dependabot-version-updates
|
||||
- /listing-dependencies-configured-for-version-updates
|
||||
- /managing-pull-requests-for-dependency-updates
|
||||
- /automating-dependabot-with-github-actions
|
||||
@@ -26,3 +27,4 @@ children:
|
||||
shortTitle: Auto-update dependencies
|
||||
---
|
||||
|
||||
{% data reusables.dependabot.beta-security-and-version-updates %}
|
||||
|
||||
@@ -8,6 +8,7 @@ redirect_from:
|
||||
versions:
|
||||
fpt: '*'
|
||||
ghec: '*'
|
||||
ghes: '>3.2'
|
||||
type: how_to
|
||||
topics:
|
||||
- Repositories
|
||||
@@ -16,6 +17,11 @@ topics:
|
||||
- Actions
|
||||
shortTitle: Auto-update actions
|
||||
---
|
||||
|
||||
{% data reusables.dependabot.beta-security-and-version-updates %}
|
||||
|
||||
{% data reusables.dependabot.enterprise-enable-dependabot %}
|
||||
|
||||
## About {% data variables.product.prodname_dependabot_version_updates %} for actions
|
||||
|
||||
Actions are often updated with bug fixes and new features to make automated processes more reliable, faster, and safer. When you enable {% data variables.product.prodname_dependabot_version_updates %} for {% data variables.product.prodname_actions %}, {% data variables.product.prodname_dependabot %} will help ensure that references to actions in a repository's *workflow.yml* file are kept up to date. For each action in the file, {% data variables.product.prodname_dependabot %} checks the action's reference (typically a version number or commit identifier associated with the action) against the latest version. If a more recent version of the action is available, {% data variables.product.prodname_dependabot %} will send you a pull request that updates the reference in the workflow file to the latest version. For more information about {% data variables.product.prodname_dependabot_version_updates %}, see "[About {% data variables.product.prodname_dependabot_version_updates %}](/github/administering-a-repository/about-dependabot-version-updates)." For more information about configuring workflows for {% data variables.product.prodname_actions %}, see "[Learn {% data variables.product.prodname_actions %}](/actions/learn-github-actions)."
|
||||
@@ -30,7 +36,7 @@ Actions are often updated with bug fixes and new features to make automated proc
|
||||
1. Set a `schedule.interval` to specify how often to check for new versions.
|
||||
{% data reusables.dependabot.check-in-dependabot-yml %} If you have edited an existing file, save your changes.
|
||||
|
||||
You can also enable {% data variables.product.prodname_dependabot_version_updates %} on forks. For more information, see "[Enabling and disabling version updates](/github/administering-a-repository/enabling-and-disabling-version-updates#enabling-version-updates-on-forks)."
|
||||
You can also enable {% data variables.product.prodname_dependabot_version_updates %} on forks. For more information, see "[Enabling and disabling {% data variables.product.prodname_dependabot %} version updates](/code-security/supply-chain-security/keeping-your-dependencies-updated-automatically/enabling-and-disabling-dependabot-version-updates#enabling-version-updates-on-forks)."
|
||||
|
||||
### Example *dependabot.yml* file for {% data variables.product.prodname_actions %}
|
||||
|
||||
|
||||
@@ -7,6 +7,7 @@ redirect_from:
|
||||
versions:
|
||||
fpt: '*'
|
||||
ghec: '*'
|
||||
ghes: '>3.2'
|
||||
type: how_to
|
||||
topics:
|
||||
- Repositories
|
||||
@@ -15,15 +16,19 @@ topics:
|
||||
- Dependencies
|
||||
shortTitle: List configured dependencies
|
||||
---
|
||||
|
||||
{% data reusables.dependabot.beta-security-and-version-updates %}
|
||||
{% data reusables.dependabot.enterprise-enable-dependabot %}
|
||||
|
||||
## Viewing dependencies monitored by {% data variables.product.prodname_dependabot %}
|
||||
|
||||
After you've enabled version updates, you can confirm that your configuration is correct using the **{% data variables.product.prodname_dependabot %}** tab in the dependency graph for the repository. For more information, see "[Enabling and disabling version updates](/github/administering-a-repository/enabling-and-disabling-version-updates)."
|
||||
After you've enabled version updates, you can confirm that your configuration is correct using the **{% data variables.product.prodname_dependabot %}** tab in the dependency graph for the repository. For more information, see "[Enabling and disabling {% data variables.product.prodname_dependabot %} version updates](/code-security/supply-chain-security/keeping-your-dependencies-updated-automatically/enabling-and-disabling-dependabot-version-updates)."
|
||||
|
||||
{% data reusables.repositories.navigate-to-repo %}
|
||||
{% data reusables.repositories.accessing-repository-graphs %}
|
||||
{% data reusables.repositories.click-dependency-graph %}
|
||||
{% data reusables.dependabot.click-dependabot-tab %}
|
||||
5. Optionally, to view the files monitored for a package manager, click the associated {% octicon "kebab-horizontal" aria-label="The horizontal kebab icon" %}.
|
||||
1. Optionally, to view the files monitored for a package manager, click the associated {% octicon "kebab-horizontal" aria-label="The horizontal kebab icon" %}.
|
||||

|
||||
|
||||
If any dependencies are missing, check the log files for errors. If any package managers are missing, review the configuration file.
|
||||
|
||||
@@ -7,6 +7,7 @@ redirect_from:
|
||||
versions:
|
||||
fpt: '*'
|
||||
ghec: '*'
|
||||
ghes: '>3.2'
|
||||
type: how_to
|
||||
topics:
|
||||
- Dependabot
|
||||
@@ -16,6 +17,9 @@ topics:
|
||||
- Dependencies
|
||||
shortTitle: Manage encrypted secrets
|
||||
---
|
||||
|
||||
{% data reusables.dependabot.beta-security-and-version-updates %}
|
||||
|
||||
## About encrypted secrets for {% data variables.product.prodname_dependabot %}
|
||||
|
||||
{% data variables.product.prodname_dependabot %} secrets are encrypted credentials that you create at either the organization level or the repository level.
|
||||
@@ -80,7 +84,7 @@ When creating a secret in an organization, you can use a policy to limit which r
|
||||
|
||||
The name of the secret is listed on the Dependabot secrets page. You can click **Update** to change the secret value or its access policy. You can click **Remove** to delete the secret.
|
||||
|
||||

|
||||

|
||||
|
||||
## Adding {% data variables.product.prodname_dependabot %} to your registries IP allow list
|
||||
|
||||
|
||||
@@ -7,6 +7,7 @@ redirect_from:
|
||||
versions:
|
||||
fpt: '*'
|
||||
ghec: '*'
|
||||
ghes: '> 3.2'
|
||||
type: how_to
|
||||
topics:
|
||||
- Repositories
|
||||
@@ -17,11 +18,16 @@ topics:
|
||||
- Vulnerabilities
|
||||
shortTitle: Manage Dependabot PRs
|
||||
---
|
||||
|
||||
{% data reusables.dependabot.beta-security-and-version-updates %}
|
||||
{% data reusables.dependabot.enterprise-enable-dependabot %}
|
||||
|
||||
## About {% data variables.product.prodname_dependabot %} pull requests
|
||||
|
||||
{% data reusables.dependabot.pull-request-introduction %}
|
||||
|
||||
When {% data variables.product.prodname_dependabot %} raises a pull request, you're notified by your chosen method for the repository. Each pull request contains detailed information about the proposed change, taken from the package manager. These pull requests follow the normal checks and tests defined in your repository. In addition, where enough information is available, you'll see a compatibility score. This may also help you decide whether or not to merge the change. For information about this score, see "[About {% data variables.product.prodname_dependabot_security_updates %}](/github/managing-security-vulnerabilities/about-dependabot-security-updates)."
|
||||
When {% data variables.product.prodname_dependabot %} raises a pull request, you're notified by your chosen method for the repository. Each pull request contains detailed information about the proposed change, taken from the package manager. These pull requests follow the normal checks and tests defined in your repository.
|
||||
{% ifversion fpt or ghec %}In addition, where enough information is available, you'll see a compatibility score. This may also help you decide whether or not to merge the change. For information about this score, see "[About {% data variables.product.prodname_dependabot_security_updates %}](/github/managing-security-vulnerabilities/about-dependabot-security-updates)."{% endif %}
|
||||
|
||||
If you have many dependencies to manage, you may want to customize the configuration for each package manager so that pull requests have specific reviewers, assignees, and labels. For more information, see "[Customizing dependency updates](/github/administering-a-repository/customizing-dependency-updates)."
|
||||
|
||||
@@ -29,8 +35,8 @@ If you have many dependencies to manage, you may want to customize the configura
|
||||
|
||||
{% data reusables.repositories.navigate-to-repo %}
|
||||
{% data reusables.repositories.sidebar-pr %}
|
||||
1. Any pull requests for security and version updates are easy to identify.
|
||||
- The author is [dependabot](https://github.com/dependabot), the bot account used by {% data variables.product.prodname_dependabot %}.
|
||||
1. Any pull requests for security or version updates are easy to identify.
|
||||
- The author is {% ifversion fpt or ghec %}[dependabot](https://github.com/dependabot){% else %}dependabot{% endif %}, the bot account used by {% data variables.product.prodname_dependabot %}.
|
||||
- By default, they have the `dependencies` label.
|
||||
|
||||
## Changing the rebase strategy for {% data variables.product.prodname_dependabot %} pull requests
|
||||
|
||||
@@ -65,7 +65,7 @@ For information about access requirements for actions related to {% data variabl
|
||||
|
||||
When {% data variables.product.product_name %} identifies a vulnerable dependency, we generate a {% data variables.product.prodname_dependabot %} alert and display it {% ifversion fpt or ghec or ghes > 3.0 %} on the Security tab for the repository and{% endif %} in the repository's dependency graph. The alert includes {% ifversion fpt or ghec or ghes > 3.0 %}a link to the affected file in the project, and {% endif %}information about a fixed version. {% data variables.product.product_name %} may also notify the maintainers of affected repositories about the new alert according to their notification preferences. For more information, see "[Configuring notifications for vulnerable dependencies](/code-security/supply-chain-security/configuring-notifications-for-vulnerable-dependencies)."
|
||||
|
||||
{% ifversion fpt or ghec %}
|
||||
{% ifversion fpt or ghec or ghes > 3.2 %}
|
||||
For repositories where {% data variables.product.prodname_dependabot_security_updates %} are enabled, the alert may also contain a link to a pull request to update the manifest or lock file to the minimum version that resolves the vulnerability. For more information, see "[About {% data variables.product.prodname_dependabot_security_updates %}](/github/managing-security-vulnerabilities/about-dependabot-security-updates)."
|
||||
{% endif %}
|
||||
|
||||
@@ -87,9 +87,9 @@ By default, we notify people with admin permissions in the affected repositories
|
||||
|
||||
You can also see all the {% data variables.product.prodname_dependabot_alerts %} that correspond to a particular vulnerability in the {% data variables.product.prodname_advisory_database %}. {% data reusables.security-advisory.link-browsing-advisory-db %}
|
||||
|
||||
{% ifversion fpt or ghec %}
|
||||
{% ifversion fpt or ghec or ghes > 3.2 %}
|
||||
## Further reading
|
||||
|
||||
- "[About {% data variables.product.prodname_dependabot_security_updates %}](/github/managing-security-vulnerabilities/about-dependabot-security-updates)"
|
||||
- "[Viewing and updating vulnerable dependencies in your repository](/articles/viewing-and-updating-vulnerable-dependencies-in-your-repository)"
|
||||
- "[Understanding how {% data variables.product.prodname_dotcom %} uses and protects your data](/categories/understanding-how-github-uses-and-protects-your-data)"{% endif %}
|
||||
- "[Viewing and updating vulnerable dependencies in your repository](/articles/viewing-and-updating-vulnerable-dependencies-in-your-repository)"{% endif %}
|
||||
{% ifversion fpt or ghec %}- "[Understanding how {% data variables.product.prodname_dotcom %} uses and protects your data](/categories/understanding-how-github-uses-and-protects-your-data)"{% endif %}
|
||||
|
||||
@@ -9,6 +9,7 @@ redirect_from:
|
||||
versions:
|
||||
fpt: '*'
|
||||
ghec: '*'
|
||||
ghes: '> 3.2'
|
||||
type: overview
|
||||
topics:
|
||||
- Dependabot
|
||||
@@ -18,14 +19,17 @@ topics:
|
||||
- Dependencies
|
||||
- Pull requests
|
||||
---
|
||||
|
||||
<!--Marketing-LINK: From /features/security/software-supply-chain page "About Dependabot security updates".-->
|
||||
|
||||
{% data reusables.dependabot.beta-security-and-version-updates %}
|
||||
{% data reusables.dependabot.enterprise-enable-dependabot %}
|
||||
|
||||
## About {% data variables.product.prodname_dependabot_security_updates %}
|
||||
|
||||
{% data variables.product.prodname_dependabot_security_updates %} make it easier for you to fix vulnerable dependencies in your repository. If you enable this feature, when a {% data variables.product.prodname_dependabot %} alert is raised for a vulnerable dependency in the dependency graph of your repository, {% data variables.product.prodname_dependabot %} automatically tries to fix it. For more information, see "[About alerts for vulnerable dependencies](/code-security/supply-chain-security/about-alerts-for-vulnerable-dependencies)" and "[Configuring {% data variables.product.prodname_dependabot_security_updates %}](/github/managing-security-vulnerabilities/configuring-dependabot-security-updates)."
|
||||
|
||||
{% data variables.product.prodname_dotcom %} may send {% data variables.product.prodname_dependabot %} alerts to repositories affected by a vulnerability disclosed by a recently published {% data variables.product.prodname_dotcom %} security advisory. For more information, see "[About {% data variables.product.prodname_security_advisories %}](/github/managing-security-vulnerabilities/about-github-security-advisories#dependabot-alerts-for-published-security-advisories)."
|
||||
|
||||
{% data variables.product.prodname_dotcom %} may send {% data variables.product.prodname_dependabot %} alerts to repositories affected by a vulnerability disclosed by a recently published {% data variables.product.prodname_dotcom %} security advisory. {% data reusables.security-advisory.link-browsing-advisory-db %}
|
||||
|
||||
{% data variables.product.prodname_dependabot %} checks whether it's possible to upgrade the vulnerable dependency to a fixed version without disrupting the dependency graph for the repository. Then {% data variables.product.prodname_dependabot %} raises a pull request to update the dependency to the minimum version that includes the patch and links the pull request to the {% data variables.product.prodname_dependabot %} alert, or reports an error on the alert. For more information, see "[Troubleshooting {% data variables.product.prodname_dependabot %} errors](/github/managing-security-vulnerabilities/troubleshooting-dependabot-errors)."
|
||||
|
||||
@@ -49,10 +53,14 @@ When you merge a pull request that contains a security update, the corresponding
|
||||
|
||||
{% data reusables.dependabot.automated-tests-note %}
|
||||
|
||||
{% ifversion fpt or ghec %}
|
||||
|
||||
## About compatibility scores
|
||||
|
||||
{% data variables.product.prodname_dependabot_security_updates %} may include compatibility scores to let you know whether updating a dependency could cause breaking changes to your project. These are calculated from CI tests in other public repositories where the same security update has been generated. An update's compatibility score is the percentage of CI runs that passed when updating between specific versions of the dependency.
|
||||
|
||||
{% endif %}
|
||||
|
||||
## About notifications for {% data variables.product.prodname_dependabot %} security updates
|
||||
|
||||
You can filter your notifications on {% data variables.product.company_short %} to show {% data variables.product.prodname_dependabot %} security updates. For more information, see "[Managing notifications from your inbox](/github/managing-subscriptions-and-notifications-on-github/managing-notifications-from-your-inbox#dependabot-custom-filters)."
|
||||
|
||||
@@ -37,7 +37,7 @@ By checking the dependency reviews on pull requests you can avoid introducing vu
|
||||
## {% data variables.product.prodname_dependabot_alerts %}
|
||||
{% data variables.product.product_name %} can create {% data variables.product.prodname_dependabot_alerts %} when it detects vulnerable dependencies in your repository. The alert is displayed on the Security tab for the repository. The alert includes a link to the affected file in the project, and information about a fixed version. {% data variables.product.product_name %} also notifies the maintainers of the repository, according to their notification preferences. For more information, see "[About alerts for vulnerable dependencies](/code-security/supply-chain-security/about-alerts-for-vulnerable-dependencies)."
|
||||
|
||||
{% ifversion fpt or ghec %}
|
||||
{% ifversion fpt or ghec or ghes > 3.2 %}
|
||||
## {% data variables.product.prodname_dependabot_security_updates %}
|
||||
When {% data variables.product.product_name %} generates a {% data variables.product.prodname_dependabot %} alert for a vulnerable dependency in your repository, {% data variables.product.prodname_dependabot %} can automatically try to fix it for you. {% data variables.product.prodname_dependabot_security_updates %} are automatically generated pull requests that update a vulnerable dependency to a fixed version. For more information, see "[About {% data variables.product.prodname_dependabot_security_updates %}](/github/managing-security-vulnerabilities/about-dependabot-security-updates)."
|
||||
|
||||
|
||||
@@ -12,6 +12,7 @@ redirect_from:
|
||||
versions:
|
||||
fpt: '*'
|
||||
ghec: '*'
|
||||
ghes: '>3.2'
|
||||
type: how_to
|
||||
topics:
|
||||
- Dependabot
|
||||
@@ -23,13 +24,16 @@ topics:
|
||||
---
|
||||
<!--Marketing-LINK: From home page "Learn more about Dependabot".-->
|
||||
|
||||
{% data reusables.dependabot.beta-security-and-version-updates %}
|
||||
{% data reusables.dependabot.enterprise-enable-dependabot %}
|
||||
|
||||
## About configuring {% data variables.product.prodname_dependabot_security_updates %}
|
||||
|
||||
You can enable {% data variables.product.prodname_dependabot_security_updates %} for any repository that uses {% data variables.product.prodname_dependabot_alerts %} and the dependency graph. For more information, see "[About {% data variables.product.prodname_dependabot_security_updates %}](/github/managing-security-vulnerabilities/about-dependabot-security-updates)."
|
||||
|
||||
You can disable {% data variables.product.prodname_dependabot_security_updates %} for an individual repository or for all repositories owned by your user account or organization. For more information, see "[Managing {% data variables.product.prodname_dependabot_security_updates %} for your repositories](#managing-dependabot-security-updates-for-your-repositories)" below.
|
||||
|
||||
{% data reusables.dependabot.dependabot-tos %}
|
||||
{% ifversion fpt or ghec %}{% data reusables.dependabot.dependabot-tos %}{% endif %}
|
||||
|
||||
## Supported repositories
|
||||
|
||||
@@ -43,14 +47,13 @@ You can disable {% data variables.product.prodname_dependabot_security_updates %
|
||||
|
||||
| Automatic enablement prerequisite | More information |
|
||||
| ----------------- | ----------------------- |
|
||||
| Repository is not a fork | "[About forks](/pull-requests/collaborating-with-pull-requests/working-with-forks/about-forks)" |
|
||||
| Repository is not archived | "[Archiving repositories](/github/creating-cloning-and-archiving-repositories/archiving-repositories)" |
|
||||
| Repository is public, or repository is private and you have enabled read-only analysis by {% data variables.product.prodname_dotcom %}, dependency graph, and vulnerability alerts in the repository's settings | "[Managing data use settings for your private repository](/github/understanding-how-github-uses-and-protects-your-data/managing-data-use-settings-for-your-private-repository)." |
|
||||
| Repository is not a fork | "[About forks](/github/collaborating-with-issues-and-pull-requests/about-forks)" |
|
||||
| Repository is not archived | "[Archiving repositories](/github/creating-cloning-and-archiving-repositories/archiving-repositories)" |{% ifversion fpt or ghec %}
|
||||
| Repository is public, or repository is private and you have enabled read-only analysis by {% data variables.product.prodname_dotcom %}, dependency graph, and vulnerability alerts in the repository's settings | "[Managing data use settings for your private repository](/github/understanding-how-github-uses-and-protects-your-data/managing-data-use-settings-for-your-private-repository)." |{% endif %}
|
||||
| Repository contains dependency manifest file from a package ecosystem that {% data variables.product.prodname_dotcom %} supports | "[Supported package ecosystems](/github/visualizing-repository-data-with-graphs/about-the-dependency-graph#supported-package-ecosystems)" |
|
||||
| {% data variables.product.prodname_dependabot_security_updates %} are not disabled for the repository | "[Managing {% data variables.product.prodname_dependabot_security_updates %} for your repository](#managing-dependabot-security-updates-for-your-repositories)" |
|
||||
| Repository is not already using an integration for dependency management | "[About integrations](/github/customizing-your-github-workflow/about-integrations)" |
|
||||
|
||||
If security updates are not enabled for your repository and you don't know why, first try enabling them using the instructions given in the procedural sections below. If security updates are still not working, you can [contact support](https://support.github.com/contact?tags=docs-security).
|
||||
If security updates are not enabled for your repository and you don't know why, first try enabling them using the instructions given in the procedural sections below. If security updates are still not working, you can contact {% data variables.contact.contact_support %}.
|
||||
|
||||
## Managing {% data variables.product.prodname_dependabot_security_updates %} for your repositories
|
||||
|
||||
@@ -66,10 +69,11 @@ You can also enable or disable {% data variables.product.prodname_dependabot_sec
|
||||
{% data reusables.repositories.sidebar-settings %}
|
||||
{% data reusables.repositories.navigate-to-security-and-analysis %}
|
||||
1. Under "Configure security and analysis features", to the right of "{% data variables.product.prodname_dependabot %} security updates", click **Enable** or **Disable**.
|
||||

|
||||
{% ifversion fpt or ghec %}{% else %}{% endif %}
|
||||
|
||||
|
||||
## Further reading
|
||||
|
||||
- "[About alerts for vulnerable dependencies](/code-security/supply-chain-security/about-alerts-for-vulnerable-dependencies)"
|
||||
- "[Managing data use settings for your private repository](/github/understanding-how-github-uses-and-protects-your-data/managing-data-use-settings-for-your-private-repository)"
|
||||
- "[About alerts for vulnerable dependencies](/code-security/supply-chain-security/about-alerts-for-vulnerable-dependencies)"{% ifversion fpt or ghec %}
|
||||
- "[Managing data use settings for your private repository](/github/understanding-how-github-uses-and-protects-your-data/managing-data-use-settings-for-your-private-repository)"{% endif %}
|
||||
- "[Supported package ecosystems](/github/visualizing-repository-data-with-graphs/about-the-dependency-graph#supported-package-ecosystems)"
|
||||
|
||||
@@ -9,6 +9,7 @@ redirect_from:
|
||||
versions:
|
||||
fpt: '*'
|
||||
ghec: '*'
|
||||
ghes: '>3.2'
|
||||
type: how_to
|
||||
topics:
|
||||
- Dependabot
|
||||
@@ -20,6 +21,11 @@ topics:
|
||||
- Errors
|
||||
- Dependencies
|
||||
---
|
||||
|
||||
{% data reusables.dependabot.beta-security-and-version-updates %}
|
||||
|
||||
{% data reusables.dependabot.enterprise-enable-dependabot %}
|
||||
|
||||
## About {% data variables.product.prodname_dependabot %} errors
|
||||
|
||||
{% data reusables.dependabot.pull-request-introduction %}
|
||||
@@ -46,11 +52,21 @@ If an error blocked {% data variables.product.prodname_dependabot %} from creati
|
||||
|
||||
When {% data variables.product.prodname_dependabot %} is blocked from creating a pull request to update a dependency in an ecosystem, it posts the error icon on the manifest file. The manifest files that are managed by {% data variables.product.prodname_dependabot %} are listed on the {% data variables.product.prodname_dependabot %} tab. To access this tab, on the **Insights** tab for the repository click **Dependency graph**, and then click the **{% data variables.product.prodname_dependabot %}** tab.
|
||||
|
||||

|
||||

|
||||
|
||||
{% ifversion fpt or ghec %}
|
||||
|
||||
To see the log file for any manifest file, click the **Last checked TIME ago** link. When you display the log file for a manifest that's shown with an error symbol (for example, Maven in the screenshot above), any errors are also displayed.
|
||||
|
||||

|
||||

|
||||
|
||||
{% else %}
|
||||
|
||||
To see the logs for any manifest file, click the **Last checked TIME ago** link, and then click **View logs**.
|
||||
|
||||

|
||||
|
||||
{% endif %}
|
||||
|
||||
## Understanding {% data variables.product.prodname_dependabot %} errors
|
||||
|
||||
@@ -62,7 +78,7 @@ Pull requests for security updates act to upgrade a vulnerable dependency to the
|
||||
|
||||
Every application that has dependencies has a dependency graph, that is, a directed acyclic graph of every package version that the application directly or indirectly depends on. Every time a dependency is updated, this graph must resolve otherwise the application won't build. When an ecosystem has a deep and complex dependency graph, for example, npm and RubyGems, it is often impossible to upgrade a single dependency without upgrading the whole ecosystem.
|
||||
|
||||
The best way to avoid this problem is to stay up to date with the most recently released versions, for example, by enabling version updates. This increases the likelihood that a vulnerability in one dependency can be resolved by a simple upgrade that doesn't break the dependency graph. For more information, see "[Enabling and disabling version updates](/github/administering-a-repository/enabling-and-disabling-version-updates)."
|
||||
The best way to avoid this problem is to stay up to date with the most recently released versions, for example, by enabling version updates. This increases the likelihood that a vulnerability in one dependency can be resolved by a simple upgrade that doesn't break the dependency graph. For more information, see "[Enabling and disabling {% data variables.product.prodname_dependabot %} version updates](/code-security/supply-chain-security/keeping-your-dependencies-updated-automatically/enabling-and-disabling-dependabot-version-updates)."
|
||||
|
||||
### {% data variables.product.prodname_dependabot %} cannot update to the required version as there is already an open pull request for the latest version
|
||||
|
||||
@@ -76,7 +92,7 @@ There are two options: you can review the open pull request and merge it as soon
|
||||
|
||||
This error is difficult to address. If a version update times out, you could specify the most important dependencies to update using the `allow` parameter or, alternatively, use the `ignore` parameter to exclude some dependencies from updates. Updating your configuration might allow {% data variables.product.prodname_dependabot %} to review the version update and generate the pull request in the time available.
|
||||
|
||||
If a security update times out, you can reduce the chances of this happening by keeping the dependencies updated, for example, by enabling version updates. For more information, see "[Enabling and disabling version updates](/github/administering-a-repository/enabling-and-disabling-version-updates)."
|
||||
If a security update times out, you can reduce the chances of this happening by keeping the dependencies updated, for example, by enabling version updates. For more information, see "[Enabling and disabling {% data variables.product.prodname_dependabot %} version updates](/code-security/supply-chain-security/keeping-your-dependencies-updated-automatically/enabling-and-disabling-dependabot-version-updates)."
|
||||
|
||||
### {% data variables.product.prodname_dependabot %} cannot open any more pull requests
|
||||
|
||||
|
||||
@@ -24,6 +24,9 @@ topics:
|
||||
- CVEs
|
||||
- Repositories
|
||||
---
|
||||
|
||||
{% data reusables.dependabot.beta-security-and-version-updates %}
|
||||
|
||||
The results of dependency detection reported by {% data variables.product.product_name %} may be different from the results returned by other tools. There are good reasons for this and it's helpful to understand how {% data variables.product.prodname_dotcom %} determines dependencies for your project.
|
||||
|
||||
## Why do some dependencies seem to be missing?
|
||||
@@ -33,7 +36,7 @@ The results of dependency detection reported by {% data variables.product.produc
|
||||
* {% data variables.product.prodname_advisory_database %} is one of the data sources that {% data variables.product.prodname_dotcom %} uses to identify vulnerable dependencies. It's a free, curated database of vulnerability information for common package ecosystems on {% data variables.product.prodname_dotcom %}. It includes both data reported directly to {% data variables.product.prodname_dotcom %} from {% data variables.product.prodname_security_advisories %}, as well as official feeds and community sources. This data is reviewed and curated by {% data variables.product.prodname_dotcom %} to ensure that false or unactionable information is not shared with the development community. {% data reusables.security-advisory.link-browsing-advisory-db %}
|
||||
* The dependency graph parses all known package manifest files in a user’s repository. For example, for npm it will parse the _package-lock.json_ file. It constructs a graph of all of the repository’s dependencies and public dependents. This happens when you enable the dependency graph and when anyone pushes to the default branch, and it includes commits that makes changes to a supported manifest format. For more information, see "[About the dependency graph](/github/visualizing-repository-data-with-graphs/about-the-dependency-graph)."
|
||||
* {% data variables.product.prodname_dependabot %} scans any push, to the default branch, that contains a manifest file. When a new vulnerability record is added, it scans all existing repositories and generates an alert for each vulnerable repository. {% data variables.product.prodname_dependabot_alerts %} are aggregated at the repository level, rather than creating one alert per vulnerability. For more information, see "[About alerts for vulnerable dependencies](/code-security/supply-chain-security/about-alerts-for-vulnerable-dependencies)."
|
||||
* {% ifversion fpt or ghec %}{% data variables.product.prodname_dependabot_security_updates %} are triggered when you receive an alert about a vulnerable dependency in your repository. Where possible, {% data variables.product.prodname_dependabot %} creates a pull request in your repository to upgrade the vulnerable dependency to the minimum possible secure version needed to avoid the vulnerability. For more information, see "[About {% data variables.product.prodname_dependabot_security_updates %}](/github/managing-security-vulnerabilities/about-dependabot-security-updates)" and "[Troubleshooting {% data variables.product.prodname_dependabot %} errors](/github/managing-security-vulnerabilities/troubleshooting-dependabot-errors)."
|
||||
* {% ifversion fpt or ghec or ghes > 3.2 %}{% data variables.product.prodname_dependabot_security_updates %} are triggered when you receive an alert about a vulnerable dependency in your repository. Where possible, {% data variables.product.prodname_dependabot %} creates a pull request in your repository to upgrade the vulnerable dependency to the minimum possible secure version needed to avoid the vulnerability. For more information, see "[About {% data variables.product.prodname_dependabot_security_updates %}](/github/managing-security-vulnerabilities/about-dependabot-security-updates)" and "[Troubleshooting {% data variables.product.prodname_dependabot %} errors](/github/managing-security-vulnerabilities/troubleshooting-dependabot-errors)."
|
||||
|
||||
{% endif %}{% data variables.product.prodname_dependabot %} doesn't scan repositories for vulnerable dependencies on a schedule, but rather when something changes. For example, a scan is triggered when a new dependency is added ({% data variables.product.prodname_dotcom %} checks for this on every push), or when a new vulnerability is added to the advisory database{% ifversion ghes or ghae-issue-4864 %} and synchronized to {% data variables.product.product_location %}{% endif %}. For more information, see "[About alerts for vulnerable dependencies](/code-security/supply-chain-security/about-alerts-for-vulnerable-dependencies#detection-of-vulnerable-dependencies)."
|
||||
|
||||
@@ -49,7 +52,7 @@ It's worth noting that {% data variables.product.prodname_dotcom %} Security Adv
|
||||
|
||||
The dependency graph includes information on dependencies that are explicitly declared in your environment. That is, dependencies that are specified in a manifest or a lockfile. The dependency graph generally also includes transitive dependencies, even when they aren't specified in a lockfile, by looking at the dependencies of the dependencies in a manifest file.
|
||||
|
||||
{% data variables.product.prodname_dependabot_alerts %} advise you about dependencies you should update, including transitive dependencies, where the version can be determined from a manifest or a lockfile. {% ifversion fpt or ghec %}{% data variables.product.prodname_dependabot_security_updates %} only suggest a change where {% data variables.product.prodname_dependabot %} can directly "fix" the dependency, that is, when these are:
|
||||
{% data variables.product.prodname_dependabot_alerts %} advise you about dependencies you should update, including transitive dependencies, where the version can be determined from a manifest or a lockfile. {% ifversion fpt or ghec or ghes > 3.2 %}{% data variables.product.prodname_dependabot_security_updates %} only suggest a change where {% data variables.product.prodname_dependabot %} can directly "fix" the dependency, that is, when these are:
|
||||
* Direct dependencies explicitly declared in a manifest or lockfile
|
||||
* Transitive dependencies declared in a lockfile{% endif %}
|
||||
|
||||
@@ -117,5 +120,5 @@ When you click to display the alert details, you can see how many vulnerabilitie
|
||||
|
||||
- "[About alerts for vulnerable dependencies](/code-security/supply-chain-security/about-alerts-for-vulnerable-dependencies)"
|
||||
- "[Viewing and updating vulnerable dependencies in your repository](/github/managing-security-vulnerabilities/viewing-and-updating-vulnerable-dependencies-in-your-repository)"
|
||||
- "[Managing security and analysis settings for your repository](/github/administering-a-repository/managing-security-and-analysis-settings-for-your-repository)"{% ifversion fpt or ghec %}
|
||||
- "[Managing security and analysis settings for your repository](/github/administering-a-repository/managing-security-and-analysis-settings-for-your-repository)"{% ifversion fpt or ghec or ghes > 3.2 %}
|
||||
- "[Troubleshooting {% data variables.product.prodname_dependabot %} errors](/github/managing-security-vulnerabilities/troubleshooting-dependabot-errors)"{% endif %}
|
||||
|
||||
@@ -21,10 +21,14 @@ topics:
|
||||
- Pull requests
|
||||
- Repositories
|
||||
---
|
||||
Your repository's {% data variables.product.prodname_dependabot %} alerts tab lists all open and closed {% data variables.product.prodname_dependabot_alerts %}{% ifversion fpt or ghec %} and corresponding {% data variables.product.prodname_dependabot_security_updates %}{% endif %}. You can sort the list of alerts by selecting the drop-down menu, and you can click into specific alerts for more details. For more information, see "[About alerts for vulnerable dependencies](/code-security/supply-chain-security/about-alerts-for-vulnerable-dependencies)."
|
||||
|
||||
{% ifversion fpt or ghec %}
|
||||
You can enable automatic security updates for any repository that uses {% data variables.product.prodname_dependabot_alerts %} and the dependency graph. For more information, see "[About {% data variables.product.prodname_dependabot_security_updates %}](/github/managing-security-vulnerabilities/about-dependabot-security-updates)."
|
||||
{% data reusables.dependabot.beta-security-and-version-updates %}
|
||||
{% data reusables.dependabot.enterprise-enable-dependabot %}
|
||||
|
||||
Your repository's {% data variables.product.prodname_dependabot %} alerts tab lists all open and closed {% data variables.product.prodname_dependabot_alerts %}{% ifversion fpt or ghec or ghes > 3.2 %} and corresponding {% data variables.product.prodname_dependabot_security_updates %}{% endif %}. You can sort the list of alerts by selecting the drop-down menu, and you can click into specific alerts for more details. For more information, see "[About alerts for vulnerable dependencies](/code-security/supply-chain-security/about-alerts-for-vulnerable-dependencies)."
|
||||
|
||||
{% ifversion fpt or ghec or ghes > 3.2 %}
|
||||
You can enable automatic security updates for any repository that uses {% data variables.product.prodname_dependabot_alerts %} and the dependency graph. For more information, see "[About {% data variables.product.prodname_dependabot_security_updates %}](/code-security/supply-chain-security/managing-vulnerabilities-in-your-projects-dependencies/about-dependabot-security-updates)."
|
||||
|
||||
{% data reusables.repositories.dependency-review %}
|
||||
|
||||
@@ -35,7 +39,7 @@ You can enable automatic security updates for any repository that uses {% data v
|
||||
|
||||
## Viewing and updating vulnerable dependencies
|
||||
|
||||
{% ifversion fpt or ghec %}
|
||||
{% ifversion fpt or ghec or ghes > 3.2 %}
|
||||
{% data reusables.repositories.navigate-to-repo %}
|
||||
{% data reusables.repositories.sidebar-security %}
|
||||
{% data reusables.repositories.sidebar-dependabot-alerts %}
|
||||
@@ -44,7 +48,7 @@ You can enable automatic security updates for any repository that uses {% data v
|
||||
1. Review the details of the vulnerability and, if available, the pull request containing the automated security update.
|
||||
1. Optionally, if there isn't already a {% data variables.product.prodname_dependabot_security_updates %} update for the alert, to create a pull request to resolve the vulnerability, click **Create {% data variables.product.prodname_dependabot %} security update**.
|
||||

|
||||
1. When you're ready to update your dependency and resolve the vulnerability, merge the pull request. Each pull request raised by {% data variables.product.prodname_dependabot %} includes information on commands you can use to control {% data variables.product.prodname_dependabot %}. For more information, see "[Managing pull requests for dependency updates](/github/administering-a-repository/managing-pull-requests-for-dependency-updates#managing-dependabot-pull-requests-with-comment-commands)."
|
||||
1. When you're ready to update your dependency and resolve the vulnerability, merge the pull request. Each pull request raised by {% data variables.product.prodname_dependabot %} includes information on commands you can use to control {% data variables.product.prodname_dependabot %}. For more information, see "[Managing pull requests for dependency updates](/code-security/supply-chain-security/keeping-your-dependencies-updated-automatically/managing-pull-requests-for-dependency-updates#managing-dependabot-pull-requests-with-comment-commands)."
|
||||
1. Optionally, if the alert is being fixed, if it's incorrect, or located in unused code, select the "Dismiss" drop-down, and click a reason for dismissing the alert.
|
||||

|
||||
|
||||
@@ -71,8 +75,8 @@ You can enable automatic security updates for any repository that uses {% data v
|
||||
|
||||
## Further reading
|
||||
|
||||
- "[About alerts for vulnerable dependencies](/code-security/supply-chain-security/about-alerts-for-vulnerable-dependencies)"{% ifversion fpt or ghec %}
|
||||
- "[Configuring {% data variables.product.prodname_dependabot_security_updates %}](/github/managing-security-vulnerabilities/configuring-dependabot-security-updates)"{% endif %}
|
||||
- "[About alerts for vulnerable dependencies](/code-security/supply-chain-security/about-alerts-for-vulnerable-dependencies)"{% ifversion fpt or ghec or ghes > 3.2 %}
|
||||
- "[Configuring {% data variables.product.prodname_dependabot_security_updates %}](/code-security/supply-chain-security/managing-vulnerabilities-in-your-projects-dependencies/configuring-dependabot-security-updates)"{% endif %}
|
||||
- "[Managing security and analysis settings for your repository](/github/administering-a-repository/managing-security-and-analysis-settings-for-your-repository)"
|
||||
- "[Troubleshooting the detection of vulnerable dependencies](/github/managing-security-vulnerabilities/troubleshooting-the-detection-of-vulnerable-dependencies)"{% ifversion fpt or ghec %}
|
||||
- "[Troubleshooting the detection of vulnerable dependencies](/code-security/supply-chain-security/managing-vulnerabilities-in-your-projects-dependencies/troubleshooting-the-detection-of-vulnerable-dependencies)"{% ifversion fpt or ghec or ghes > 3.2 %}
|
||||
- "[Troubleshooting {% data variables.product.prodname_dependabot %} errors](/github/managing-security-vulnerabilities/troubleshooting-dependabot-errors)"{% endif %}
|
||||
|
||||
@@ -54,7 +54,10 @@ You can enable or disable features for all repositories. {% ifversion fpt or ghe
|
||||
{% ifversion fpt or ghec %}
|
||||

|
||||
{% endif %}
|
||||
{% ifversion ghes > 3.0 %}
|
||||
{% ifversion ghes > 3.2 %}
|
||||

|
||||
{% endif %}
|
||||
{% ifversion ghes = 3.1 or ghes = 3.2 %}
|
||||

|
||||
{% endif %}
|
||||
{% ifversion ghes = 3.0 %}
|
||||
@@ -95,7 +98,10 @@ You can enable or disable features for all repositories. {% ifversion fpt or ghe
|
||||
{% ifversion fpt or ghec %}
|
||||

|
||||
{% endif %}
|
||||
{% ifversion ghes > 3.0 %}
|
||||
{% ifversion ghes > 3.2 %}
|
||||

|
||||
{% endif %}
|
||||
{% ifversion ghes = 3.1 or ghes = 3.2 %}
|
||||

|
||||
{% endif %}
|
||||
{% ifversion ghes = 3.0 %}
|
||||
@@ -105,7 +111,7 @@ You can enable or disable features for all repositories. {% ifversion fpt or ghe
|
||||

|
||||
{% endif %}
|
||||
|
||||
{% ifversion fpt or ghec %}
|
||||
{% ifversion fpt or ghec or ghes > 3.2 %}
|
||||
|
||||
## Allowing {% data variables.product.prodname_dependabot %} to access private dependencies
|
||||
|
||||
|
||||
@@ -38,11 +38,11 @@ To search for specific events, use the `action` qualifier in your query. Actions
|
||||
| [`advisory_credit`](#advisory_credit-category-actions) | Contains all activities related to crediting a contributor for a security advisory in the {% data variables.product.prodname_advisory_database %}. For more information, see "[About {% data variables.product.prodname_dotcom %} Security Advisories](/github/managing-security-vulnerabilities/about-github-security-advisories)."
|
||||
| [`billing`](#billing-category-actions) | Contains all activities related to your organization's billing.
|
||||
| [`business`](#business-category-actions) | Contains activities related to business settings for an enterprise. |
|
||||
| [`codespaces`](#codespaces-category-actions) | Contains all activities related to your organization's codespaces.
|
||||
| [`codespaces`](#codespaces-category-actions) | Contains all activities related to your organization's codespaces. |{% endif %}{% ifversion fpt or ghec or ghes > 3.2 %}
|
||||
| [`dependabot_alerts`](#dependabot_alerts-category-actions) | Contains organization-level configuration activities for {% data variables.product.prodname_dependabot %} alerts in existing repositories. For more information, see "[About alerts for vulnerable dependencies](/github/managing-security-vulnerabilities/about-alerts-for-vulnerable-dependencies)."
|
||||
| [`dependabot_alerts_new_repos`](#dependabot_alerts_new_repos-category-actions) | Contains organization-level configuration activities for {% data variables.product.prodname_dependabot %} alerts in new repositories created in the organization.
|
||||
| [`dependabot_security_updates`](#dependabot_security_updates-category-actions) | Contains organization-level configuration activities for {% data variables.product.prodname_dependabot_security_updates %} in existing repositories. For more information, see "[Configuring {% data variables.product.prodname_dependabot_security_updates %}](/github/managing-security-vulnerabilities/configuring-dependabot-security-updates)."
|
||||
| [`dependabot_security_updates_new_repos`](#dependabot_security_updates_new_repos-category-actions) | Contains organization-level configuration activities for {% data variables.product.prodname_dependabot_security_updates %} for new repositories created in the organization.
|
||||
| [`dependabot_security_updates_new_repos`](#dependabot_security_updates_new_repos-category-actions) | Contains organization-level configuration activities for {% data variables.product.prodname_dependabot_security_updates %} for new repositories created in the organization.{% endif %}{% ifversion fpt or ghec %}
|
||||
| [`dependency_graph`](#dependency_graph-category-actions) | Contains organization-level configuration activities for dependency graphs for repositories. For more information, see "[About the dependency graph](/github/visualizing-repository-data-with-graphs/about-the-dependency-graph)."
|
||||
| [`dependency_graph_new_repos`](#dependency_graph_new_repos-category-actions) | Contains organization-level configuration activities for new repositories created in the organization.{% endif %}
|
||||
| [`discussion_post`](#discussion_post-category-actions) | Contains all activities related to discussions posted to a team page.
|
||||
@@ -223,16 +223,14 @@ An overview of some of the most common actions that are recorded as events in th
|
||||
| `manage_access_and_security` | Triggered when a user updates [which repositories a codespace can access](/github/developing-online-with-codespaces/managing-access-and-security-for-codespaces).
|
||||
{% endif %}
|
||||
|
||||
{% ifversion fpt or ghec %}
|
||||
{% ifversion fpt or ghec or ghes > 3.2 %}
|
||||
### `dependabot_alerts` category actions
|
||||
|
||||
| Action | Description
|
||||
|------------------|-------------------
|
||||
| `disable` | Triggered when an organization owner disables {% data variables.product.prodname_dependabot_alerts %} for all existing {% ifversion fpt or ghec %}private {% endif %}repositories. 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)."
|
||||
| `enable` | Triggered when an organization owner enables {% data variables.product.prodname_dependabot_alerts %} for all existing {% ifversion fpt or ghec %}private {% endif %}repositories.
|
||||
{% endif %}
|
||||
|
||||
{% ifversion fpt or ghec %}
|
||||
### `dependabot_alerts_new_repos` category actions
|
||||
|
||||
| Action | Description
|
||||
|
||||
@@ -153,7 +153,8 @@ Some of the features listed below are limited to organizations using {% data var
|
||||
| Can be made a *team maintainer* | **X** | **X** | **X** |
|
||||
| Transfer repositories | **X** | | |
|
||||
| Manage security and analysis settings (see "[Managing security and analysis settings for your organization](/organizations/keeping-your-organization-secure/managing-security-and-analysis-settings-for-your-organization)" for details) | **X** | | **X** |{% ifversion ghes > 3.1 %}
|
||||
| View the security overview for the organization (see "[About the security overview](/code-security/security-overview/about-the-security-overview)" for details) | **X** | | **X** |{% endif %}
|
||||
| View the security overview for the organization (see "[About the security overview](/code-security/security-overview/about-the-security-overview)" for details) | **X** | | **X** |{% endif %}{% ifversion ghes > 3.2 %}
|
||||
| Manage {% data variables.product.prodname_dependabot_security_updates %} (see "[About {% data variables.product.prodname_dependabot_security_updates %}](/github/managing-security-vulnerabilities/about-dependabot-security-updates)") | **X** | | **X** |{% endif %}
|
||||
| Manage an organization's SSH certificate authorities (see "[Managing your organization's SSH certificate authorities](/articles/managing-your-organizations-ssh-certificate-authorities)" for details) | **X** | | |
|
||||
| Create project boards (see "[Project board permissions for an organization](/articles/project-board-permissions-for-an-organization)" for details) | **X** | **X** | **X** |
|
||||
| View and post public team discussions to **all teams** (see "[About team discussions](/organizations/collaborating-with-your-team/about-team-discussions)" for details) | **X** | **X** | **X** |
|
||||
|
||||
@@ -47,7 +47,8 @@ You can manage the security and analysis features for your {% ifversion fpt or g
|
||||
{% data reusables.repositories.navigate-to-security-and-analysis %}
|
||||
{% ifversion fpt or ghes > 3.0 or ghec %}
|
||||
4. Under "Configure security and analysis features", to the right of the feature, click **Disable** or **Enable**. The control for "{% data variables.product.prodname_GH_advanced_security %}" is disabled if your enterprise has no available licenses for {% data variables.product.prodname_advanced_security %}.{% ifversion fpt or ghec %}
|
||||
{% else %}
|
||||
{% elsif ghes > 3.2 %}
|
||||
{% else %}
|
||||
{% endif %}
|
||||
{% note %}
|
||||
|
||||
@@ -77,21 +78,24 @@ Organization owners and repository administrators can only grant access to view
|
||||
{% data reusables.repositories.sidebar-settings %}
|
||||
{% data reusables.repositories.navigate-to-security-and-analysis %}
|
||||
4. Under "Access to alerts", in the search field, start typing the name of the person or team you'd like to find, then click a name in the list of matches.
|
||||
{% ifversion fpt or ghec %}
|
||||
{% ifversion fpt or ghec or ghes > 3.2 %}
|
||||

|
||||
{% endif %}
|
||||
{% ifversion ghes %}
|
||||

|
||||
{% ifversion ghes < 3.3 %}
|
||||

|
||||
{% endif %}
|
||||
{% ifversion ghae %}
|
||||

|
||||
{% endif %}
|
||||
|
||||
5. Click **Save changes**.
|
||||
{% ifversion fpt or ghes or ghec %}
|
||||
{% ifversion fpt or ghes > 3.2 or ghec %}
|
||||

|
||||
{% endif %}
|
||||
{% ifversion ghae %}
|
||||
{% ifversion ghes < 3.3 %}
|
||||

|
||||
{% endif %}
|
||||
{% ifversion ghae %}
|
||||

|
||||
{% endif %}
|
||||
|
||||
@@ -101,15 +105,16 @@ Organization owners and repository administrators can only grant access to view
|
||||
{% data reusables.repositories.sidebar-settings %}
|
||||
{% data reusables.repositories.navigate-to-security-and-analysis %}
|
||||
4. Under "Access to alerts", to the right of the person or team whose access you'd like to remove, click {% octicon "x" aria-label="X symbol" %}.
|
||||
{% ifversion fpt or ghec %}
|
||||
{% ifversion fpt or ghec or ghes > 3.2 %}
|
||||

|
||||
{% endif %}
|
||||
{% ifversion ghes %}
|
||||

|
||||
{% ifversion ghes < 3.3 %}
|
||||

|
||||
{% endif %}
|
||||
{% ifversion ghae %}
|
||||

|
||||
{% endif %}
|
||||
5. Click **Save changes**.
|
||||
|
||||
## Further reading
|
||||
|
||||
|
||||
@@ -64,7 +64,7 @@ You can also read the current version by calling the [meta endpoint](/rest/refer
|
||||
|
||||
{% endif %}
|
||||
|
||||
{% ifversion fpt or ghec %}
|
||||
{% ifversion fpt or ghec or ghes > 3.2 %}
|
||||
|
||||
## Audit log
|
||||
|
||||
|
||||
@@ -181,6 +181,8 @@ You can communicate that a transient environment no longer exists by setting its
|
||||
|
||||
The Environments API allows you to create, configure, and delete environments. For more information about environments, see "[Using environments for deployment](/actions/deployment/using-environments-for-deployment)." To manage environment secrets, see "[Secrets](/rest/reference/actions#secrets)."
|
||||
|
||||
{% data reusables.gated-features.environments %}
|
||||
|
||||
{% for operation in currentRestOperations %}
|
||||
{% if operation.subcategory == 'environments' %}{% include rest_operation %}{% endif %}
|
||||
{% endfor %}
|
||||
|
||||
@@ -632,6 +632,10 @@
|
||||
(including documentation), and stores each file's revision history.
|
||||
Repositories can have multiple collaborators and can be either public or
|
||||
private.
|
||||
- term: repository cache
|
||||
description: >-
|
||||
A read-only mirror of repositories for your GitHub Enterprise server instance, located near
|
||||
distributed teams and CI clients.
|
||||
- term: repository graph
|
||||
description: A visual representation of your repository's data.
|
||||
- term: repository maintainer
|
||||
|
||||
131
data/graphql/ghes-3.3/graphql_previews.enterprise.yml
Normal file
@@ -0,0 +1,131 @@
|
||||
- title: Access to package version deletion
|
||||
description: >-
|
||||
This preview adds support for the DeletePackageVersion mutation which
|
||||
enables deletion of private package versions.
|
||||
toggled_by: ':package-deletes-preview'
|
||||
announcement: null
|
||||
updates: null
|
||||
toggled_on:
|
||||
- Mutation.deletePackageVersion
|
||||
owning_teams:
|
||||
- '@github/pe-package-registry'
|
||||
- title: Deployments
|
||||
description: >-
|
||||
This preview adds support for deployments mutations and new deployments
|
||||
features.
|
||||
toggled_by: ':flash-preview'
|
||||
announcement: null
|
||||
updates: null
|
||||
toggled_on:
|
||||
- DeploymentStatus.environment
|
||||
- Mutation.createDeploymentStatus
|
||||
- CreateDeploymentStatusInput
|
||||
- CreateDeploymentStatusPayload
|
||||
- Mutation.createDeployment
|
||||
- CreateDeploymentInput
|
||||
- CreateDeploymentPayload
|
||||
owning_teams:
|
||||
- '@github/c2c-actions-service'
|
||||
- title: >-
|
||||
MergeInfoPreview - More detailed information about a pull request's merge
|
||||
state.
|
||||
description: >-
|
||||
This preview adds support for accessing fields that provide more detailed
|
||||
information about a pull request's merge state.
|
||||
toggled_by: ':merge-info-preview'
|
||||
announcement: null
|
||||
updates: null
|
||||
toggled_on:
|
||||
- PullRequest.canBeRebased
|
||||
- PullRequest.mergeStateStatus
|
||||
owning_teams:
|
||||
- '@github/pe-pull-requests'
|
||||
- title: UpdateRefsPreview - Update multiple refs in a single operation.
|
||||
description: This preview adds support for updating multiple refs in a single operation.
|
||||
toggled_by: ':update-refs-preview'
|
||||
announcement: null
|
||||
updates: null
|
||||
toggled_on:
|
||||
- Mutation.updateRefs
|
||||
- GitRefname
|
||||
- RefUpdate
|
||||
- UpdateRefsInput
|
||||
- UpdateRefsPayload
|
||||
owning_teams:
|
||||
- '@github/reponauts'
|
||||
- title: Project Event Details
|
||||
description: >-
|
||||
This preview adds project, project card, and project column details to
|
||||
project-related issue events.
|
||||
toggled_by: ':starfox-preview'
|
||||
announcement: null
|
||||
updates: null
|
||||
toggled_on:
|
||||
- AddedToProjectEvent.project
|
||||
- AddedToProjectEvent.projectCard
|
||||
- AddedToProjectEvent.projectColumnName
|
||||
- ConvertedNoteToIssueEvent.project
|
||||
- ConvertedNoteToIssueEvent.projectCard
|
||||
- ConvertedNoteToIssueEvent.projectColumnName
|
||||
- MovedColumnsInProjectEvent.project
|
||||
- MovedColumnsInProjectEvent.projectCard
|
||||
- MovedColumnsInProjectEvent.projectColumnName
|
||||
- MovedColumnsInProjectEvent.previousProjectColumnName
|
||||
- RemovedFromProjectEvent.project
|
||||
- RemovedFromProjectEvent.projectColumnName
|
||||
owning_teams:
|
||||
- '@github/github-projects'
|
||||
- title: Create content attachments
|
||||
description: This preview adds support for creating content attachments.
|
||||
toggled_by: ':corsair-preview'
|
||||
announcement: null
|
||||
updates: null
|
||||
toggled_on:
|
||||
- Mutation.createContentAttachment
|
||||
owning_teams:
|
||||
- '@github/feature-lifecycle'
|
||||
- title: Labels Preview
|
||||
description: >-
|
||||
This preview adds support for adding, updating, creating and deleting
|
||||
labels.
|
||||
toggled_by: ':bane-preview'
|
||||
announcement: null
|
||||
updates: null
|
||||
toggled_on:
|
||||
- Mutation.createLabel
|
||||
- CreateLabelPayload
|
||||
- CreateLabelInput
|
||||
- Mutation.deleteLabel
|
||||
- DeleteLabelPayload
|
||||
- DeleteLabelInput
|
||||
- Mutation.updateLabel
|
||||
- UpdateLabelPayload
|
||||
- UpdateLabelInput
|
||||
owning_teams:
|
||||
- '@github/pe-pull-requests'
|
||||
- title: Import Project
|
||||
description: This preview adds support for importing projects.
|
||||
toggled_by: ':slothette-preview'
|
||||
announcement: null
|
||||
updates: null
|
||||
toggled_on:
|
||||
- Mutation.importProject
|
||||
owning_teams:
|
||||
- '@github/pe-issues-projects'
|
||||
- title: Team Review Assignments Preview
|
||||
description: >-
|
||||
This preview adds support for updating the settings for team review
|
||||
assignment.
|
||||
toggled_by: ':stone-crop-preview'
|
||||
announcement: null
|
||||
updates: null
|
||||
toggled_on:
|
||||
- Mutation.updateTeamReviewAssignment
|
||||
- UpdateTeamReviewAssignmentInput
|
||||
- TeamReviewAssignmentAlgorithm
|
||||
- Team.reviewRequestDelegationEnabled
|
||||
- Team.reviewRequestDelegationAlgorithm
|
||||
- Team.reviewRequestDelegationMemberCount
|
||||
- Team.reviewRequestDelegationNotifyTeam
|
||||
owning_teams:
|
||||
- '@github/pe-pull-requests'
|
||||
@@ -0,0 +1,128 @@
|
||||
---
|
||||
upcoming_changes:
|
||||
- location: LegacyMigration.uploadUrlTemplate
|
||||
description: '`uploadUrlTemplate` will be removed. Use `uploadUrl` instead.'
|
||||
reason:
|
||||
'`uploadUrlTemplate` is being removed because it is not a standard URL and
|
||||
adds an extra user step.'
|
||||
date: '2019-04-01T00:00:00+00:00'
|
||||
criticality: breaking
|
||||
owner: tambling
|
||||
- location: AssignedEvent.user
|
||||
description: '`user` will be removed. Use the `assignee` field instead.'
|
||||
reason: Assignees can now be mannequins.
|
||||
date: '2020-01-01T00:00:00+00:00'
|
||||
criticality: breaking
|
||||
owner: tambling
|
||||
- location: EnterpriseBillingInfo.availableSeats
|
||||
description:
|
||||
'`availableSeats` will be removed. Use EnterpriseBillingInfo.totalAvailableLicenses
|
||||
instead.'
|
||||
reason:
|
||||
'`availableSeats` will be replaced with `totalAvailableLicenses` to provide
|
||||
more clarity on the value being returned'
|
||||
date: '2020-01-01T00:00:00+00:00'
|
||||
criticality: breaking
|
||||
owner: BlakeWilliams
|
||||
- location: EnterpriseBillingInfo.seats
|
||||
description: '`seats` will be removed. Use EnterpriseBillingInfo.totalLicenses instead.'
|
||||
reason:
|
||||
'`seats` will be replaced with `totalLicenses` to provide more clarity on
|
||||
the value being returned'
|
||||
date: '2020-01-01T00:00:00+00:00'
|
||||
criticality: breaking
|
||||
owner: BlakeWilliams
|
||||
- location: UnassignedEvent.user
|
||||
description: '`user` will be removed. Use the `assignee` field instead.'
|
||||
reason: Assignees can now be mannequins.
|
||||
date: '2020-01-01T00:00:00+00:00'
|
||||
criticality: breaking
|
||||
owner: tambling
|
||||
- location: Sponsorship.maintainer
|
||||
description: '`maintainer` will be removed. Use `Sponsorship.sponsorable` instead.'
|
||||
reason: '`Sponsorship.maintainer` will be removed.'
|
||||
date: '2020-04-01T00:00:00+00:00'
|
||||
criticality: breaking
|
||||
owner: antn
|
||||
- location: EnterprisePendingMemberInvitationEdge.isUnlicensed
|
||||
description: '`isUnlicensed` will be removed.'
|
||||
reason: All pending members consume a license
|
||||
date: '2020-07-01T00:00:00+00:00'
|
||||
criticality: breaking
|
||||
owner: BrentWheeldon
|
||||
- location: EnterpriseOwnerInfo.pendingCollaborators
|
||||
description:
|
||||
'`pendingCollaborators` will be removed. Use the `pendingCollaboratorInvitations`
|
||||
field instead.'
|
||||
reason:
|
||||
Repository invitations can now be associated with an email, not only an
|
||||
invitee.
|
||||
date: '2020-10-01T00:00:00+00:00'
|
||||
criticality: breaking
|
||||
owner: jdennes
|
||||
- location: Issue.timeline
|
||||
description: '`timeline` will be removed. Use Issue.timelineItems instead.'
|
||||
reason: '`timeline` will be removed'
|
||||
date: '2020-10-01T00:00:00+00:00'
|
||||
criticality: breaking
|
||||
owner: mikesea
|
||||
- location: PullRequest.timeline
|
||||
description: '`timeline` will be removed. Use PullRequest.timelineItems instead.'
|
||||
reason: '`timeline` will be removed'
|
||||
date: '2020-10-01T00:00:00+00:00'
|
||||
criticality: breaking
|
||||
owner: mikesea
|
||||
- location: RepositoryInvitationOrderField.INVITEE_LOGIN
|
||||
description: '`INVITEE_LOGIN` will be removed.'
|
||||
reason:
|
||||
'`INVITEE_LOGIN` is no longer a valid field value. Repository invitations
|
||||
can now be associated with an email, not only an invitee.'
|
||||
date: '2020-10-01T00:00:00+00:00'
|
||||
criticality: breaking
|
||||
owner: jdennes
|
||||
- location: Sponsorship.sponsor
|
||||
description: '`sponsor` will be removed. Use `Sponsorship.sponsorEntity` instead.'
|
||||
reason: '`Sponsorship.sponsor` will be removed.'
|
||||
date: '2020-10-01T00:00:00+00:00'
|
||||
criticality: breaking
|
||||
owner: nholden
|
||||
- location: EnterpriseMemberEdge.isUnlicensed
|
||||
description: '`isUnlicensed` will be removed.'
|
||||
reason: All members consume a license
|
||||
date: '2021-01-01T00:00:00+00:00'
|
||||
criticality: breaking
|
||||
owner: BrentWheeldon
|
||||
- location: EnterpriseOutsideCollaboratorEdge.isUnlicensed
|
||||
description: '`isUnlicensed` will be removed.'
|
||||
reason: All outside collaborators consume a license
|
||||
date: '2021-01-01T00:00:00+00:00'
|
||||
criticality: breaking
|
||||
owner: BrentWheeldon
|
||||
- location: EnterprisePendingCollaboratorEdge.isUnlicensed
|
||||
description: '`isUnlicensed` will be removed.'
|
||||
reason: All pending collaborators consume a license
|
||||
date: '2021-01-01T00:00:00+00:00'
|
||||
criticality: breaking
|
||||
owner: BrentWheeldon
|
||||
- location: MergeStateStatus.DRAFT
|
||||
description: '`DRAFT` will be removed. Use PullRequest.isDraft instead.'
|
||||
reason:
|
||||
DRAFT state will be removed from this enum and `isDraft` should be used
|
||||
instead
|
||||
date: '2021-01-01T00:00:00+00:00'
|
||||
criticality: breaking
|
||||
owner: nplasterer
|
||||
- location: PackageType.DOCKER
|
||||
description: '`DOCKER` will be removed.'
|
||||
reason:
|
||||
DOCKER will be removed from this enum as this type will be migrated to only
|
||||
be used by the Packages REST API.
|
||||
date: '2021-06-21'
|
||||
criticality: breaking
|
||||
owner: reybard
|
||||
- location: ReactionGroup.users
|
||||
description: '`users` will be removed. Use the `reactors` field instead.'
|
||||
reason: Reactors can now be mannequins, bots, and organizations.
|
||||
date: '2021-10-01T00:00:00+00:00'
|
||||
criticality: breaking
|
||||
owner: synthead
|
||||
42376
data/graphql/ghes-3.3/schema.docs-enterprise.graphql
Normal file
@@ -44,7 +44,7 @@ dependency_version_updates:
|
||||
description: 'Use Dependabot to check for new releases and create pull requests to update your dependencies.'
|
||||
guides:
|
||||
- /code-security/supply-chain-security/keeping-your-dependencies-updated-automatically/about-dependabot-version-updates
|
||||
- /code-security/supply-chain-security/keeping-your-dependencies-updated-automatically/enabling-and-disabling-version-updates
|
||||
- /code-security/supply-chain-security/keeping-your-dependencies-updated-automatically/enabling-and-disabling-dependabot-version-updates
|
||||
- /code-security/supply-chain-security/keeping-your-dependencies-updated-automatically/customizing-dependency-updates
|
||||
- /code-security/supply-chain-security/keeping-your-dependencies-updated-automatically/configuration-options-for-dependency-updates
|
||||
- /code-security/supply-chain-security/keeping-your-dependencies-updated-automatically/keeping-your-actions-up-to-date-with-dependabot
|
||||
|
||||
289
data/release-notes/enterprise-server/3-3/0-rc1.yml
Normal file
@@ -0,0 +1,289 @@
|
||||
date: '2021-11-09'
|
||||
release_candidate: true
|
||||
deprecated: false
|
||||
intro: |
|
||||
{% note %}
|
||||
|
||||
**Note:** If {% data variables.product.product_location %} is running a release candidate build, you can't upgrade with a hotpatch. We recommend only running release candidates on test environments.
|
||||
|
||||
{% endnote %}
|
||||
|
||||
For upgrade instructions, see "[Upgrading {% data variables.product.prodname_ghe_server %}](/admin/enterprise-management/updating-the-virtual-machine-and-physical-resources/upgrading-github-enterprise-server)."
|
||||
sections:
|
||||
features:
|
||||
- heading: Security Manager role
|
||||
notes:
|
||||
# https://github.com/github/releases/issues/1610
|
||||
- |
|
||||
Organization owners can now grant teams the access to manage security alerts and settings on their repositories. The "security manager" role can be applied to any team and grants the team's members the following access:
|
||||
|
||||
- Read access on all repositories in the organization.
|
||||
- Write access on all security alerts in the organization.
|
||||
- Access to the organization-level security tab.
|
||||
- Write access on security settings at the organization level.
|
||||
- Write access on security settings at the repository level.
|
||||
|
||||
For more information, see "[Managing security managers in your organization](/organizations/managing-peoples-access-to-your-organization-with-roles/managing-security-managers-in-your-organization)."
|
||||
|
||||
- heading: 'Ephemeral self-hosted runners for GitHub Actions & new webhooks for auto-scaling'
|
||||
notes:
|
||||
# https://github.com/github/releases/issues/1378
|
||||
- |
|
||||
{% data variables.product.prodname_actions %} now supports ephemeral (single job) self-hosted runners and a new [`workflow_job`](/developers/webhooks-and-events/webhooks/webhook-events-and-payloads#workflow_job) webhook to make autoscaling runners easier.
|
||||
|
||||
Ephemeral runners are good for self-managed environments where each job is required to run on a clean image. After a job is run, ephemeral runners are automatically unregistered from {% data variables.product.product_location %}, allowing you to perform any post-job management.
|
||||
|
||||
You can combine ephemeral runners with the new `workflow_job` webhook to automatically scale self-hosted runners in response to {% data variables.product.prodname_actions %} job requests.
|
||||
|
||||
For more information, see "[Autoscaling with self-hosted runners](/actions/hosting-your-own-runners/autoscaling-with-self-hosted-runners)" and "[Webhook events and payloads](/developers/webhooks-and-events/webhooks/webhook-events-and-payloads#workflow_job)."
|
||||
|
||||
- heading: 'Dark high contrast theme'
|
||||
notes:
|
||||
# https://github.com/github/releases/issues/1539
|
||||
- |
|
||||
A dark high contrast theme, with greater contrast between foreground and background elements, is now available on {% data variables.product.prodname_ghe_server %} 3.3. This release also includes improvements to the color system across all {% data variables.product.company_short %} themes.
|
||||
|
||||

|
||||
|
||||
For more information about changing your theme, see "[Managing your theme settings](/account-and-profile/setting-up-and-managing-your-github-user-account/managing-user-account-settings/managing-your-theme-settings)."
|
||||
|
||||
changes:
|
||||
- heading: Administration Changes
|
||||
notes:
|
||||
# https://github.com/github/releases/issues/1666
|
||||
- '{% data variables.product.prodname_ghe_server %} 3.3 includes improvements to the maintenance of repositories, especially for repositories that contain many unreachable objects. Note that the first maintenance cycle after upgrading to {% data variables.product.prodname_ghe_server %} 3.3 may take longer than usual to complete.'
|
||||
|
||||
# https://github.com/github/releases/issues/1533
|
||||
- '{% data variables.product.prodname_ghe_server %} 3.3 includes a repository cache for geographically-distributed teams and CI infrastructure. The repository cache keeps a read-only copy of your repositories available in additional geographies, which prevents clients from downloading duplicate Git content from your primary instance. For more information, see "[About repository caching](/admin/enterprise-management/caching-repositories/about-repository-caching)."'
|
||||
|
||||
# https://github.com/github/releases/issues/1616
|
||||
- '{% data variables.product.prodname_ghe_server %} 3.3 includes improvements to the user impersonation process. An impersonation session now requires a justification for the impersonation, actions are recorded in the audit log as being performed as an impersonated user, and the user who is impersonated will receive an email notification that they have been impersonated by an enterprise administrator. For more information, see "[Impersonating a user](/enterprise-server@3.3/admin/user-management/managing-users-in-your-enterprise/impersonating-a-user)."'
|
||||
|
||||
# https://github.com/github/releases/issues/1609
|
||||
- A new stream processing service has been added to facilitate the growing set of events that are published to the audit log, including events associated with Git and {% data variables.product.prodname_actions %} activity.
|
||||
|
||||
- heading: Token Changes
|
||||
notes:
|
||||
# https://github.com/github/releases/issues/1390
|
||||
- |
|
||||
An expiration date can now be set for new and existing personal access tokens. Setting an expiration date on personal access tokens is highly recommended to prevent older tokens from leaking and compromising security. Token owners will receive an email when it's time to renew a token that's about to expire. Tokens that have expired can be regenerated, giving users a duplicate token with the same properties as the original.
|
||||
|
||||
When using a personal access token with the {% data variables.product.company_short %} API, a new `GitHub-Authentication-Token-Expiration` header is included in the response, which indicates the token's expiration date. For more information, see "[Creating a personal access token](/github/authenticating-to-github/keeping-your-account-and-data-secure/creating-a-personal-access-token)."
|
||||
|
||||
- heading: 'Notifications changes'
|
||||
notes:
|
||||
# https://github.com/github/releases/issues/1625
|
||||
- 'Notification emails from discussions now include `(Discussion #xx)` in the subject, so you can recognize and filter emails that reference discussions.'
|
||||
|
||||
- heading: 'Repositories changes'
|
||||
notes:
|
||||
# https://github.com/github/releases/issues/1735
|
||||
- Public repositories now have a `Public` label next to their names like private and internal repositories. This change makes it easier to identify public repositories and avoid accidentally committing private code.
|
||||
|
||||
# https://github.com/github/releases/issues/1733
|
||||
- If you specify the exact name of a branch when using the branch selector menu, the result now appears at the top of the list of matching branches. Previously, exact branch name matches could appear at the bottom of the list.
|
||||
|
||||
# https://github.com/github/releases/issues/1673
|
||||
- When viewing a branch that has a corresponding open pull request, {% data variables.product.prodname_ghe_server %} now links directly to the pull request. Previously, there would be a prompt to contribute using branch comparison or to open a new pull request.
|
||||
|
||||
# https://github.com/github/releases/issues/1670
|
||||
- You can now click a button to copy the full raw contents of a file to the clipboard. Previously, you would need to open the raw file, select all, and then copy. To copy the contents of a file, navigate to the file and click {% octicon "copy" aria-label="The copy icon" %} in the toolbar. Note that this feature is currently only available in some browsers.
|
||||
|
||||
# https://github.com/github/releases/issues/1571
|
||||
- When creating a new release, you can now select or create the tag using a dropdown selector, rather than specifying the tag in a text field. For more information, see "[Managing releases in a repository](/repositories/releasing-projects-on-github/managing-releases-in-a-repository)."
|
||||
|
||||
# https://github.com/github/releases/issues/1752
|
||||
- A warning is now displayed when viewing a file that contains bidirectional Unicode text. Bidirectional Unicode text can be interpreted or compiled differently than it appears in a user interface. For example, hidden bidirectional Unicode characters can be used to swap segments of text in a file. For more information about replacing these characters, see the [{% data variables.product.prodname_dotcom %} changelog](https://github.blog/changelog/2021-10-31-warning-about-bidirectional-unicode-text/).
|
||||
|
||||
# https://github.com/github/releases/issues/1416
|
||||
- You can now use `CITATION.cff` files to let others know how you would like them to cite your work. `CITATION.cff` files are plain text files with human- and machine-readable citation information. {% data variables.product.prodname_ghe_server %} parses this information into common citation formats such as [APA](https://apastyle.apa.org) and [BibTeX](https://en.wikipedia.org/wiki/BibTeX). For more information, see "[About CITATION files](/repositories/managing-your-repositorys-settings-and-features/customizing-your-repository/about-citation-files)."
|
||||
|
||||
- heading: 'Markdown changes'
|
||||
notes:
|
||||
# https://github.com/github/releases/issues/1645
|
||||
- |
|
||||
You can use new keyboard shortcuts for quotes and lists in Markdown files, issues, pull requests, and comments.
|
||||
|
||||
* To add quotes, use <kbd>cmd shift .</kbd> on Mac, or <kbd>ctrl shift .</kbd> on Windows and Linux.
|
||||
* To add an ordered list, use <kbd>cmd shift 7</kbd> on Mac, or <kbd>ctrl shift 7</kbd> on Windows and Linux.
|
||||
* To add an unordered list, use <kbd>cmd shift 8</kbd> on Mac, or <kbd>ctrl shift 8</kbd> on Windows and Linux.
|
||||
|
||||
See "[Keyboard shortcuts](/get-started/using-github/keyboard-shortcuts)" for a full list of available shortcuts.
|
||||
|
||||
# https://github.com/github/releases/issues/1684
|
||||
- You can now use footnote syntax in any Markdown field. Footnotes are displayed as superscript links that you can click to jump to the referenced information, which is displayed in a new section at the bottom of the document. For more information about the syntax, see "[Basic writing and formatting syntax](/github/writing-on-github/getting-started-with-writing-and-formatting-on-github/basic-writing-and-formatting-syntax#footnotes)."
|
||||
|
||||
# https://github.com/github/releases/issues/1647
|
||||
- When viewing Markdown files, you can now click {% octicon "code" aria-label="The code icon" %} in the toolbar to view the source of a Markdown file. Previously, you needed to use the blame view to link to specific line numbers in the source of a Markdown file.
|
||||
|
||||
# https://github.com/github/releases/issues/1600
|
||||
- You can now add images and videos to Markdown files in gists by pasting them into the Markdown body or selecting them from the dialog at the bottom of the Markdown file. For information about supported file types, see "[Attaching files](https://docs.github.com/en/github/writing-on-github/working-with-advanced-formatting/attaching-files)."
|
||||
|
||||
# https://github.com/github/releases/issues/1523
|
||||
- '{% data variables.product.prodname_ghe_server %} now automatically generates a table of contents for Wikis, based on headings.'
|
||||
|
||||
# https://github.com/github/releases/issues/1626
|
||||
- When dragging and dropping files into a Markdown editor, such as images and videos, {% data variables.product.prodname_ghe_server %} now uses the mouse pointer location instead of the cursor location when placing the file.
|
||||
|
||||
- heading: 'Issues and pull requests changes'
|
||||
notes:
|
||||
# https://github.com/github/releases/issues/1504
|
||||
- You can now search issues by label using a logical OR operator. To filter issues using logical OR, use the comma syntax. For example, `label:"good first issue","bug"` will list all issues with a label of `good first issue` or `bug`. For more information, see "[Filtering and searching issues and pull requests](/issues/tracking-your-work-with-issues/filtering-and-searching-issues-and-pull-requests#about-search-terms)."
|
||||
|
||||
# https://github.com/github/releases/issues/1685
|
||||
- |
|
||||
Improvements have been made to help teams manage code review assignments. You can now:
|
||||
|
||||
- Limit assignment to only direct members of the team.
|
||||
- Continue with automatic assignment even if one or more members of the team are already requested.
|
||||
- Keep a team assigned to review even if one or more members is newly assigned.
|
||||
|
||||
The timeline and reviewers sidebar on the pull request page now indicate if a review request was automatically assigned to one or more team members.
|
||||
|
||||
For more information, see the [{% data variables.product.prodname_dotcom %} changelog](https://github.blog/changelog/2021-09-29-new-code-review-assignment-settings-and-team-filtering-improvements/).
|
||||
- You can now filter pull request searches to only include pull requests you are directly requested to review.
|
||||
# https://github.com/github/releases/issues/1683
|
||||
- Filtered files in pull requests are now completely hidden from view, and are no longer shown as collapsed in the "Files Changed" tab. The "File Filter" menu has also been simplified. For more information, see "[Filtering files in a pull request](/github/collaborating-with-pull-requests/reviewing-changes-in-pull-requests/filtering-files-in-a-pull-request)."
|
||||
|
||||
- heading: 'GitHub Actions changes'
|
||||
notes:
|
||||
# https://github.com/github/releases/issues/1593
|
||||
- You can now create "composite actions" which combine multiple workflow steps into one action, and includes the ability to reference other actions. This makes it easier to reduce duplication in workflows. Previously, an action could only use scripts in its YAML definition. For more information, see "[Creating a composite action](/actions/creating-actions/creating-a-composite-action)."
|
||||
|
||||
# https://github.com/github/releases/issues/1694
|
||||
- Managing self-hosted runners at the enterprise level no longer requires using personal access tokens with the `admin:enterprise` scope. You can instead use the new `manage_runners:enterprise` scope to restrict the permissions on your tokens. Tokens with this scope can authenticate to [many REST API endpoints](/rest/reference/enterprise-admin#list-self-hosted-runner-groups-for-an-enterprise) to manage your enterprise's self-hosted runners.
|
||||
|
||||
# https://github.com/github/releases/issues/1157
|
||||
- |
|
||||
The audit log now includes additional events for {% data variables.product.prodname_actions %}. Audit log entries are now recorded for the following events:
|
||||
|
||||
* A self-hosted runner is registered or removed.
|
||||
* A self-hosted runner is added to a runner group, or removed from a runner group.
|
||||
* A runner group is created or removed.
|
||||
* A workflow run is created or completed.
|
||||
* A workflow job is prepared. Importantly, this log includes the list of secrets that were provided to the runner.
|
||||
|
||||
For more information, see "[Security hardening for {% data variables.product.prodname_actions %}](/actions/security-guides/security-hardening-for-github-actions#auditing-github-actions-events)."
|
||||
|
||||
# https://github.com/github/releases/issues/1588
|
||||
- Performance improvements have been made to {% data variables.product.prodname_actions %}, which may result in higher maximum job concurrency.
|
||||
|
||||
- heading: 'Dependabot and Dependency graph changes'
|
||||
notes:
|
||||
# https://github.com/github/releases/issues/1141
|
||||
- Dependency review is out of beta and is now generally available for {% data variables.product.prodname_GH_advanced_security %} customers. Dependency review provides an easy-to-understand view of dependency changes and their security impact in the "Files changed" tab of pull requests. It informs you of which dependencies were added, removed, or updated, along with vulnerability information. For more information, see "[Reviewing dependency changes in a pull request](/github/collaborating-with-pull-requests/reviewing-changes-in-pull-requests/reviewing-dependency-changes-in-a-pull-request)."
|
||||
|
||||
# https://github.com/github/releases/issues/1630
|
||||
- '{% data variables.product.prodname_dependabot %} is now available as a private beta, offering both version updates and security updates for several popular ecosystems. {% data variables.product.prodname_dependabot %} on {% data variables.product.prodname_ghe_server %} requires {% data variables.product.prodname_actions %} and a pool of self-hosted runners configured for {% data variables.product.prodname_dependabot %} use. {% data variables.product.prodname_dependabot %} on {% data variables.product.prodname_ghe_server %} also requires {% data variables.product.prodname_github_connect %} to be enabled. To learn more and sign up for the beta, contact the GitHub Sales team.'
|
||||
|
||||
- heading: 'Code scanning and secret scanning changes'
|
||||
notes:
|
||||
# https://github.com/github/releases/issues/1724
|
||||
- The depth of {% data variables.product.prodname_codeql %}'s analysis has been improved by adding support for more [libraries and frameworks](https://codeql.github.com/docs/codeql-overview/supported-languages-and-frameworks/) and increasing the coverage of our existing library and framework models. [JavaScript](https://github.com/github/codeql/tree/main/javascript) analysis now supports most common templating languages, and [Java](https://github.com/github/codeql/tree/main/java) now covers more than three times the endpoints of previous {% data variables.product.prodname_codeql %} versions. As a result, {% data variables.product.prodname_codeql %} can now detect even more potential sources of untrusted user data, steps through which that data flows, and potentially dangerous sinks where the data could end up. This results in an overall improvement of the quality of {% data variables.product.prodname_code_scanning %} alerts.
|
||||
|
||||
# https://github.com/github/releases/issues/1639
|
||||
- '{% data variables.product.prodname_codeql %} now supports scanning standard language features in Java 16, such as records and pattern matching. {% data variables.product.prodname_codeql %} is able to analyze code written in Java version 7 through 16. For more information about supported languages and frameworks, see the [{% data variables.product.prodname_codeql %} documentation](https://codeql.github.com/docs/codeql-overview/supported-languages-and-frameworks/#id5).'
|
||||
|
||||
# https://github.com/github/releases/issues/1655
|
||||
- |
|
||||
Improvements have been made to the {% data variables.product.prodname_code_scanning %} `on:push` trigger when code is pushed to a pull request. If an `on:push` scan returns results that are associated with a pull request, {% data variables.product.prodname_code_scanning %} will now show these alerts on the pull request.
|
||||
|
||||
Some other CI/CD systems can be exclusively configured to trigger a pipeline when code is pushed to a branch, or even exclusively for every commit. Whenever such an analysis pipeline is triggered and results are uploaded to the SARIF API, {% data variables.product.prodname_code_scanning %} will also try to match the analysis results to an open pull request. If an open pull request is found, the results will be published as described above. For more information, see the [{% data variables.product.prodname_dotcom %} changelog](https://github.blog/changelog/2021-09-27-showing-code-scanning-alerts-on-pull-requests/).
|
||||
|
||||
# https://github.com/github/releases/issues/1546
|
||||
- You can now use the new pull request filter on the {% data variables.product.prodname_code_scanning %} alerts page to find all the {% data variables.product.prodname_code_scanning %} alerts associated with a pull request. A new "View all branch alerts" link on the pull request "Checks" tab allows you to directly view {% data variables.product.prodname_code_scanning %} alerts with the specific pull request filter already applied. For more information, see the [{% data variables.product.prodname_dotcom %} changelog](https://github.blog/changelog/2021-08-23-pull-request-filter-for-code-scanning-alerts/).
|
||||
|
||||
# https://github.com/github/releases/issues/1562
|
||||
- User defined patterns for {% data variables.product.prodname_secret_scanning %} is out of beta and is now generally available for {% data variables.product.prodname_GH_advanced_security %} customers. Also new in this release is the ability to edit custom patterns defined at the repository, organization, and enterprise levels. After editing and saving a pattern, {% data variables.product.prodname_secret_scanning %} searches for matches both in a repository's entire Git history and in any new commits. Editing a pattern will close alerts previously associated with the pattern if they no longer match the updated version. Other improvements, such as dry-runs, are planned in future releases. For more information, see "[Defining custom patterns for secret scanning](/code-security/secret-scanning/defining-custom-patterns-for-secret-scanning)."
|
||||
|
||||
- heading: API and webhook changes
|
||||
notes:
|
||||
# https://github.com/github/releases/issues/1744
|
||||
- Most REST API previews have graduated and are now an official part of the API. Preview headers are no longer required for most REST API endpoints, but will still function as expected if you specify a graduated preview in the `Accept` header of a request. For previews that still require specifying the preview in the `Accept` header of a request, see "[API previews](/rest/overview/api-previews)."
|
||||
|
||||
# https://github.com/github/releases/issues/1513
|
||||
- You can now use the REST API to configure custom autolinks to external resources. The REST API now provides beta `GET`/`POST`/`DELETE` endpoints which you can use to view, add, or delete custom autolinks associated with a repository. For more information, see "[Autolinks](/rest/reference/repos#autolinks)."
|
||||
|
||||
# https://github.com/github/releases/issues/1578
|
||||
- You can now use the REST API to sync a forked repository with its upstream repository. For more information, see "[Repositories](/rest/reference/repos#sync-a-fork-branch-with-the-upstream-repository)" in the REST API documentation.
|
||||
|
||||
# https://github.com/github/releases/issues/1527
|
||||
- Enterprise administrators on GitHub Enterprise Server can now use the REST API to enable or disable Git LFS for a repository. For more information, see "[Repositories](/rest/reference/repos#git-lfs)."
|
||||
|
||||
# https://github.com/github/releases/issues/1476
|
||||
- You can now use the REST API to query the audit log for an enterprise. While audit log forwarding provides the ability to retain and analyze data with your own toolkit and determine patterns over time, the new endpoint can help you perform limited analysis on recent events. For more information, see "[{% data variables.product.prodname_enterprise %} administration](/rest/reference/enterprise-admin#get-the-audit-log-for-an-enterprise)" in the REST API documentation.
|
||||
|
||||
# https://github.com/github/releases/issues/1485
|
||||
- GitHub App user-to-server API requests can now read public resources using the REST API. This includes, for example, the ability to list a public repository's issues and pull requests, and to access a public repository's comments and content.
|
||||
|
||||
# https://github.com/github/releases/issues/1734
|
||||
- When creating or updating a repository, you can now configure whether forking is allowed using the REST and GraphQL APIs. Previously, APIs for creating and updating repositories didn't include the fields `allow_forking` (REST) or `forkingAllowed` (GraphQL). For more information, see "[Repositories](/rest/reference/repos)" in the REST API documentation and "[Repositories](/graphql/reference/objects#repository)" in the GraphQL API documentation.
|
||||
|
||||
# https://github.com/github/releases/issues/1637
|
||||
- |
|
||||
A new GraphQL mutation [`createCommitOnBranch`](/graphql/reference/mutations#createcommitonbranch) makes it easier to add, update, and delete files in a branch of a repository. Compared to the REST API, you do not need to manually create blobs and trees before creating the commit. This allows you to add, update, or delete multiple files in a single API call.
|
||||
|
||||
Commits authored using the new API are automatically GPG signed and are [marked as verified](/github/authenticating-to-github/managing-commit-signature-verification/about-commit-signature-verification) in the {% data variables.product.prodname_ghe_server %} UI. GitHub Apps can use the mutation to author commits directly or [on behalf of users](/developers/apps/building-github-apps/identifying-and-authorizing-users-for-github-apps#user-to-server-requests).
|
||||
|
||||
# https://github.com/github/releases/issues/1665
|
||||
- When a new tag is created, the [push](/developers/webhooks-and-events/webhooks/webhook-events-and-payloads#push) webhook payload now always includes a `head_commit` object that contains the data of the commit that the new tag points to. As a result, the `head_commit` object will always contain the commit data of the payload's `after` commit.
|
||||
|
||||
# No security/bug fixes for the RC release
|
||||
# security_fixes:
|
||||
# - PLACEHOLDER
|
||||
|
||||
# bugs:
|
||||
# - PLACEHOLDER
|
||||
|
||||
known_issues:
|
||||
- On a freshly set up {% data variables.product.prodname_ghe_server %} instance without any users, an attacker could create the first admin user.
|
||||
- Custom firewall rules are removed during the upgrade process.
|
||||
- Git LFS tracked files [uploaded through the web interface](https://github.com/blog/2105-upload-files-to-your-repositories) are incorrectly added directly to the repository.
|
||||
- Issues cannot be closed if they contain a permalink to a blob in the same repository, where the blob's file path is longer than 255 characters.
|
||||
- When "Users can search GitHub.com" is enabled with GitHub Connect, issues in private and internal repositories are not included in GitHub.com search results.
|
||||
- The {% data variables.product.prodname_registry %} npm registry no longer returns a time value in metadata responses. This was done to allow for substantial performance improvements. We continue to have all the data necessary to return a time value as part of the metadata response and will resume returning this value in the future once we have solved the existing performance issues.
|
||||
- Resource limits that are specific to processing pre-receive hooks may cause some pre-receive hooks to fail.
|
||||
|
||||
deprecations:
|
||||
- heading: Deprecation of GitHub Enterprise Server 2.22
|
||||
notes:
|
||||
- '**{% data variables.product.prodname_ghe_server %} 2.22 was discontinued on September 23, 2021**. This means that no patch releases will be made, even for critical security issues, after this date. For better performance, improved security, and new features, [upgrade to the newest version of {% data variables.product.prodname_ghe_server %}](/enterprise-server@3.3/admin/enterprise-management/upgrading-github-enterprise-server) as soon as possible.'
|
||||
- heading: Deprecation of GitHub Enterprise Server 3.0
|
||||
notes:
|
||||
- '**{% data variables.product.prodname_ghe_server %} 3.0 will be discontinued on February 16, 2022**. This means that no patch releases will be made, even for critical security issues, after this date. For better performance, improved security, and new features, [upgrade to the newest version of {% data variables.product.prodname_ghe_server %}](/enterprise-server@3.3/admin/enterprise-management/upgrading-github-enterprise-server) as soon as possible.'
|
||||
|
||||
- heading: Deprecation of XenServer Hypervisor support
|
||||
notes:
|
||||
# https://github.com/github/docs-content/issues/4439
|
||||
- Starting with {% data variables.product.prodname_ghe_server %} 3.3, {% data variables.product.prodname_ghe_server %} on XenServer is deprecated and is no longer supported. Please contact [GitHub Support](https://support.github.com) with questions or concerns.
|
||||
|
||||
- heading: Deprecation of OAuth Application API endpoints and API authentication using query parameters
|
||||
notes:
|
||||
# https://github.com/github/releases/issues/1316
|
||||
- |
|
||||
To prevent accidental logging or exposure of `access_tokens`, we discourage the use of OAuth Application API endpoints and the use of API authentication using query parameters. View the following posts to see the proposed replacements:
|
||||
|
||||
* [Replacement OAuth Application API endpoints](https://developer.github.com/changes/2020-02-14-deprecating-oauth-app-endpoint/#changes-to-make)
|
||||
* [Replacement authentication using headers instead of query param](https://developer.github.com/changes/2020-02-10-deprecating-auth-through-query-param/#changes-to-make)
|
||||
|
||||
These endpoints and authentication route are planned to be removed from {% data variables.product.prodname_ghe_server %} in {% data variables.product.prodname_ghe_server %} 3.4.
|
||||
|
||||
- heading: Deprecation of the CodeQL runner
|
||||
notes:
|
||||
# https://github.com/github/releases/issues/1632
|
||||
- The {% data variables.product.prodname_codeql %} runner is being deprecated. {% data variables.product.prodname_ghe_server %} 3.3 will be the final release series that supports the {% data variables.product.prodname_codeql %} runner. Starting with {% data variables.product.prodname_ghe_server %} 3.4, the {% data variables.product.prodname_codeql %} runner will be removed and no longer supported. The {% data variables.product.prodname_codeql %} CLI version 2.6.2 or greater is a feature-complete replacement for the {% data variables.product.prodname_codeql %} runner. For more information, see the [{% data variables.product.prodname_dotcom %} changelog](https://github.blog/changelog/2021-09-21-codeql-runner-deprecation/).
|
||||
|
||||
- heading: Deprecation of custom bit-cache extensions
|
||||
notes:
|
||||
# https://github.com/github/releases/issues/1415
|
||||
- |
|
||||
Starting in {% data variables.product.prodname_ghe_server %} 3.1, support for {% data variables.product.company_short %}'s proprietary bit-cache extensions began to be phased out. These extensions are now deprecated in {% data variables.product.prodname_ghe_server %} 3.3.
|
||||
|
||||
Any repositories that were already present and active on {% data variables.product.product_location %} running version 3.1 or 3.2 will have been automatically updated.
|
||||
|
||||
Repositories which were not present and active before upgrading to {% data variables.product.prodname_ghe_server %} 3.3 may not perform optimally until a repository maintenance task is run and has successfully completed.
|
||||
|
||||
To start a repository maintenance task manually, browse to `https://<hostname>/stafftools/repositories/<owner>/<repository>/network` for each affected repository and click the **Schedule** button.
|
||||
|
||||
backups:
|
||||
- '{% data variables.product.prodname_ghe_server %} 3.3 requires at least [GitHub Enterprise Backup Utilities 3.3.0](https://github.com/github/backup-utils) for [Backups and Disaster Recovery](/admin/configuration/configuring-your-enterprise/configuring-backups-on-your-appliance).'
|
||||