Merge branch 'main' into jules-4510
This commit is contained in:
@@ -22,7 +22,7 @@ You may want to use a dark theme to reduce power consumption on certain devices,
|
||||
|
||||
{% note %}
|
||||
|
||||
**Note:** The colorblind themes are currently in public beta. For more information on enabling features in public beta, see "[Exploring early access releases with feature preview](/get-started/using-github/exploring-early-access-releases-with-feature-preview)."
|
||||
**Note:** The colorblind themes and light high contrast theme are currently in public beta. For more information on enabling features in public beta, see "[Exploring early access releases with feature preview](/get-started/using-github/exploring-early-access-releases-with-feature-preview)."
|
||||
|
||||
{% endnote %}
|
||||
|
||||
|
||||
@@ -23,11 +23,34 @@ Jobs on {% data variables.product.prodname_dotcom %}-hosted runners start in a c
|
||||
|
||||
To cache dependencies for a job, you'll need to use {% data variables.product.prodname_dotcom %}'s `cache` action. The action retrieves a cache identified by a unique key. For more information, see [`actions/cache`](https://github.com/actions/cache).
|
||||
|
||||
If you are caching Ruby gems, instead consider using the Ruby maintained action, which can cache bundle installs on initiation. For more information, see [`ruby/setup-ruby`](https://github.com/ruby/setup-ruby#caching-bundle-install-automatically).
|
||||
If you are caching the package managers listed below, consider using the respective setup-* actions, which require almost zero configuration and are easy to use.
|
||||
|
||||
To cache and restore dependencies for npm, Yarn, or pnpm, you can use the [`actions/setup-node` action](https://github.com/actions/setup-node).
|
||||
|
||||
Gradle and Maven caching is available with [`actions/setup-java` action](https://github.com/actions/setup-java).
|
||||
<table>
|
||||
<thead>
|
||||
<tr>
|
||||
<th>Package managers</th>
|
||||
<th>setup-* action for caching</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td>npm, yarn, pnpm</td>
|
||||
<td><a href="https://github.com/actions/setup-node">setup-node</a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>pip, pipenv</td>
|
||||
<td><a href="https://github.com/actions/setup-python">setup-python</a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>gradle, maven</td>
|
||||
<td><a href="https://github.com/actions/setup-java">setup-java</a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>ruby gems</td>
|
||||
<td><a href="https://github.com/ruby/setup-ruby">setup-ruby</a></td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
{% warning %}
|
||||
|
||||
@@ -209,4 +232,4 @@ For example, if a pull request contains a `feature` branch (the current scope) a
|
||||
|
||||
## Usage limits and eviction policy
|
||||
|
||||
{% data variables.product.prodname_dotcom %} will remove any cache entries that have not been accessed in over 7 days. There is no limit on the number of caches you can store, but the total size of all caches in a repository is limited to 5 GB. If you exceed this limit, {% data variables.product.prodname_dotcom %} will save your cache but will begin evicting caches until the total size is less than 5 GB.
|
||||
{% data variables.product.prodname_dotcom %} will remove any cache entries that have not been accessed in over 7 days. There is no limit on the number of caches you can store, but the total size of all caches in a repository is limited to 10 GB. If you exceed this limit, {% data variables.product.prodname_dotcom %} will save your cache but will begin evicting caches until the total size is less than 10 GB.
|
||||
|
||||
@@ -288,7 +288,7 @@ steps:
|
||||
- run: pnpm test
|
||||
```
|
||||
|
||||
To cache dependencies, you must have a `package-lock.json`, `yarn.lock`, or `pnpm-lock.yaml` file in the root of the repository. If you need more flexible customization, you can use the [`cache` action](https://github.com/marketplace/actions/cache). For more information, see "<a href="/actions/guides/caching-dependencies-to-speed-up-workflows" class="dotcom-only">Caching dependencies to speed up workflows</a>".
|
||||
If you have a custom requirement or need finer controls for caching, you can use the [`cache` action](https://github.com/marketplace/actions/cache). For more information, see "<a href="/actions/guides/caching-dependencies-to-speed-up-workflows" class="dotcom-only">Caching dependencies to speed up workflows</a>".
|
||||
|
||||
## Building and testing your code
|
||||
|
||||
|
||||
@@ -241,38 +241,24 @@ steps:
|
||||
|
||||
### Caching Dependencies
|
||||
|
||||
When using {% data variables.product.prodname_dotcom %}-hosted runners, you can cache pip dependencies using a unique key, and restore the dependencies when you run future workflows using the [`cache`](https://github.com/marketplace/actions/cache) action. For more information, see "<a href="/actions/guides/caching-dependencies-to-speed-up-workflows" class="dotcom-only">Caching dependencies to speed up workflows</a>."
|
||||
When using {% data variables.product.prodname_dotcom %}-hosted runners, you can cache and restore the dependencies using the [`setup-python` action](https://github.com/actions/setup-python).
|
||||
|
||||
Pip caches dependencies in different locations, depending on the operating system of the runner. The path you'll need to cache may differ from the Ubuntu example below depending on the operating system you use. For more information, see [Python caching examples](https://github.com/actions/cache/blob/main/examples.md#python---pip).
|
||||
The following example caches dependencies for pip.
|
||||
|
||||
{% raw %}
|
||||
```yaml{:copy}
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
- name: Setup Python
|
||||
uses: actions/setup-python@v2
|
||||
- uses: actions/setup-python@v2
|
||||
with:
|
||||
python-version: '3.x'
|
||||
- name: Cache pip
|
||||
uses: actions/cache@v2
|
||||
with:
|
||||
# This path is specific to Ubuntu
|
||||
path: ~/.cache/pip
|
||||
# Look to see if there is a cache hit for the corresponding requirements file
|
||||
key: ${{ runner.os }}-pip-${{ hashFiles('requirements.txt') }}
|
||||
restore-keys: |
|
||||
${{ runner.os }}-pip-
|
||||
${{ runner.os }}-
|
||||
- name: Install dependencies
|
||||
run: pip install -r requirements.txt
|
||||
python-version: '3.9'
|
||||
cache: 'pip'
|
||||
- run: pip install -r requirements.txt
|
||||
- run: pip test
|
||||
```
|
||||
{% endraw %}
|
||||
|
||||
{% note %}
|
||||
By default, the `setup-python` action searches for the dependency file (`requirements.txt` for pip or `Pipfile.lock` for pipenv) in the whole repository. For more information, see "<a href="/actions/guides/caching-dependencies-to-speed-up-workflows" class="dotcom-only">Caching packages dependencies</a>" in the `setup-python` actions README.
|
||||
|
||||
**Note:** Depending on the number of dependencies, it may be faster to use the dependency cache. Projects with many large dependencies should see a performance increase as it cuts down the time required for downloading. Projects with fewer dependencies may not see a significant performance increase and may even see a slight decrease due to how pip installs cached dependencies. The performance varies from project to project.
|
||||
|
||||
{% endnote %}
|
||||
If you have a custom requirement or need finer controls for caching, you can use the [`cache` action](https://github.com/marketplace/actions/cache). Pip caches dependencies in different locations, depending on the operating system of the runner. The path you'll need to cache may differ from the Ubuntu example above, depending on the operating system you use. For more information, see [Python caching examples](https://github.com/actions/cache/blob/main/examples.md#python---pip) in the `cache` action repository.
|
||||
|
||||
## Testing your code
|
||||
|
||||
|
||||
@@ -13,6 +13,7 @@ learningTracks:
|
||||
- continuous_integration
|
||||
- continuous_deployment
|
||||
- deploy_to_the_cloud
|
||||
- '{% ifversion ghec or ghes or ghae %}adopting_github_actions_for_your_enterprise{% endif %}'
|
||||
- hosting_your_own_runners
|
||||
- create_actions
|
||||
includeGuides:
|
||||
|
||||
@@ -128,6 +128,8 @@ Some extra configuration might be required to use actions from {% data variables
|
||||
|
||||
The self-hosted runner polls {% data variables.product.product_name %} to retrieve application updates and to check if any jobs are queued for processing. The self-hosted runner uses a HTTPS _long poll_ that opens a connection to {% data variables.product.product_name %} for 50 seconds, and if no response is received, it then times out and creates a new long poll. The application must be running on the machine to accept and run {% data variables.product.prodname_actions %} jobs.
|
||||
|
||||
{% data reusables.actions.self-hosted-runner-ports-protocols %}
|
||||
|
||||
{% ifversion ghae %}
|
||||
You must ensure that the self-hosted runner has appropriate network access to communicate with the {% data variables.product.prodname_ghe_managed %} URL and its subdomains.
|
||||
For example, if your instance name is `octoghae`, then you will need to allow the self-hosted runner to access `octoghae.githubenterprise.com`, `api.octoghae.githubenterprise.com`, and `codeload.octoghae.githubenterprise.com`.
|
||||
@@ -187,7 +189,7 @@ If you use an IP address allow list for your {% data variables.product.prodname_
|
||||
|
||||
{% else %}
|
||||
|
||||
You must ensure that the machine has the appropriate network access to communicate with {% data variables.product.product_location %}.
|
||||
You must ensure that the machine has the appropriate network access to communicate with {% data variables.product.product_location %}.{% ifversion ghes %} Self-hosted runners connect directly to {% data variables.product.product_location %} and do not require any external internet access in order to function. As a result, you can use network routing to direct communication between the self-hosted runner and {% data variables.product.product_location %}. For example, you can assign a private IP address to your self-hosted runner and configure routing to send traffic to {% data variables.product.product_location %}, with no need for traffic to traverse a public network.{% endif %}
|
||||
|
||||
{% endif %}
|
||||
|
||||
|
||||
@@ -37,6 +37,8 @@ The proxy environment variables are read when the self-hosted runner application
|
||||
|
||||
On Windows machines, the proxy environment variable names are not case-sensitive. On Linux and macOS machines, we recommend that you use all lowercase environment variables. If you have an environment variable in both lowercase and uppercase on Linux or macOS, for example `https_proxy` and `HTTPS_PROXY`, the self-hosted runner application uses the lowercase environment variable.
|
||||
|
||||
{% data reusables.actions.self-hosted-runner-ports-protocols %}
|
||||
|
||||
## Using a .env file to set the proxy configuration
|
||||
|
||||
If setting environment variables is not practical, you can set the proxy configuration variables in a file named _.env_ in the self-hosted runner application directory. For example, this might be necessary if you want to configure the runner application as a service under a system account. When the runner application starts, it reads the variables set in _.env_ for the proxy configuration.
|
||||
|
||||
@@ -23,7 +23,7 @@ topics:
|
||||
|
||||
## Overview
|
||||
|
||||
{% data variables.product.prodname_actions %} help you automate tasks within your software development life cycle. {% data variables.product.prodname_actions %} are event-driven, meaning that you can run a series of commands after a specified event has occurred. For example, every time someone creates a pull request for a repository, you can automatically run a command that executes a software testing script.
|
||||
{% data reusables.actions.about-actions %} {% data variables.product.prodname_actions %} are event-driven, meaning that you can run a series of commands after a specified event has occurred. For example, every time someone creates a pull request for a repository, you can automatically run a command that executes a software testing script.
|
||||
|
||||
This diagram demonstrates how you can use {% data variables.product.prodname_actions %} to automatically run your software testing scripts. An event automatically triggers the _workflow_, which contains a _job_. The job then uses _steps_ to control the order in which _actions_ are run. These actions are the commands that automate your software testing.
|
||||
|
||||
@@ -59,7 +59,7 @@ _Actions_ are standalone commands that are combined into _steps_ to create a _jo
|
||||
|
||||
{% ifversion ghae %}A runner is a server that has the [{% data variables.product.prodname_actions %} runner application](https://github.com/actions/runner) installed. For {% data variables.product.prodname_ghe_managed %}, you can use the security hardened {% data variables.actions.hosted_runner %}s which are bundled with your instance in the cloud. A runner listens for available jobs, runs one job at a time, and reports the progress, logs, and results back to {% data variables.product.prodname_dotcom %}. {% data variables.actions.hosted_runner %}s run each workflow job in a fresh virtual environment. For more information, see "[About {% data variables.actions.hosted_runner %}s](/actions/using-github-hosted-runners/about-ae-hosted-runners)."
|
||||
{% else %}
|
||||
A runner is a server that has the [{% data variables.product.prodname_actions %} runner application](https://github.com/actions/runner) installed. You can use a runner hosted by {% data variables.product.prodname_dotcom %}, or you can host your own. A runner listens for available jobs, runs one job at a time, and reports the progress, logs, and results back to {% data variables.product.prodname_dotcom %}. {% data variables.product.prodname_dotcom %}-hosted runners are based on Ubuntu Linux, Microsoft Windows, and macOS, and each job in a workflow runs in a fresh virtual environment. For information on {% data variables.product.prodname_dotcom %}-hosted runners, see "[About {% data variables.product.prodname_dotcom %}-hosted runners](/actions/using-github-hosted-runners/about-github-hosted-runners)." If you need a different operating system or require a specific hardware configuration, you can host your own runners. For information on self-hosted runners, see "[Hosting your own runners](/actions/hosting-your-own-runners)."
|
||||
{% data reusables.actions.about-runners %} A runner listens for available jobs, runs one job at a time, and reports the progress, logs, and results back to {% data variables.product.prodname_dotcom %}. {% data variables.product.prodname_dotcom %}-hosted runners are based on Ubuntu Linux, Microsoft Windows, and macOS, and each job in a workflow runs in a fresh virtual environment. For information on {% data variables.product.prodname_dotcom %}-hosted runners, see "[About {% data variables.product.prodname_dotcom %}-hosted runners](/actions/using-github-hosted-runners/about-github-hosted-runners)." If you need a different operating system or require a specific hardware configuration, you can host your own runners. For information on self-hosted runners, see "[Hosting your own runners](/actions/hosting-your-own-runners)."
|
||||
{% endif %}
|
||||
|
||||
## Create an example workflow
|
||||
|
||||
@@ -46,7 +46,7 @@ To use {% data variables.product.prodname_emus %}, you need a separate type of e
|
||||
{% data variables.product.prodname_managed_users_caps %} can only contribute to private and internal repositories within their enterprise and private repositories owned by their user account. {% data variables.product.prodname_managed_users_caps %} have read-only access to the wider {% data variables.product.prodname_dotcom %} community.
|
||||
|
||||
* {% data variables.product.prodname_managed_users_caps %} cannot create issues or pull requests in, comment or add reactions to, nor star, watch, or fork repositories outside of the enterprise.
|
||||
* {% data variables.product.prodname_managed_users_caps %} cannot push code to repositories outside of the enterprise.
|
||||
* {% data variables.product.prodname_managed_users_caps %} can view all public repositories on {% data variables.product.prodname_dotcom_the_website %}, but cannot push code to repositories outside of the enterprise.
|
||||
* {% data variables.product.prodname_managed_users_caps %} and the content they create is only visible to other members of the enterprise.
|
||||
* {% data variables.product.prodname_managed_users_caps %} cannot follow users outside of the enterprise.
|
||||
* {% data variables.product.prodname_managed_users_caps %} cannot create gists or comment on gists.
|
||||
|
||||
@@ -0,0 +1,38 @@
|
||||
---
|
||||
title: Configuring custom footers
|
||||
intro: 'You can give users easy access to enterprise-specific links by adding custom footers to {% data variables.product.product_name %}.'
|
||||
versions:
|
||||
ghec: '*'
|
||||
ghes: '>=3.4'
|
||||
type: how_to
|
||||
topics:
|
||||
- Enterprise
|
||||
- Fundamentals
|
||||
shortTitle: Configure custom footers
|
||||
---
|
||||
Enterprise owners can configure {% data variables.product.product_name %} to show custom footers with up to five additional links.
|
||||
|
||||

|
||||
|
||||
The custom footer is displayed above the {% data variables.product.prodname_dotcom %} footer {% ifversion ghes or ghae %}to all users, on all pages of {% data variables.product.product_name %}{% else %}to all enterprise members and collaborators, on all repository and organization pages for repositories and organizations that belong to the enterprise{% endif %}.
|
||||
|
||||
## Configuring custom footers for your enterprise
|
||||
|
||||
{% data reusables.enterprise-accounts.access-enterprise %}
|
||||
{% data reusables.enterprise-accounts.settings-tab %}
|
||||
|
||||
1. Under "Settings", click **Profile**.
|
||||
{%- ifversion ghec %}
|
||||

|
||||
{%- else %}
|
||||

|
||||
{%- endif %}
|
||||
|
||||
1. At the top of the Profile section, click **Custom footer**.
|
||||

|
||||
|
||||
1. Add up to five links in the fields shown.
|
||||

|
||||
|
||||
1. Click **Update custom footer** to save the content and display the custom footer.
|
||||

|
||||
@@ -1,6 +1,6 @@
|
||||
---
|
||||
title: Configuring GitHub Pages for your enterprise
|
||||
intro: 'You can enable or disable {% data variables.product.prodname_pages %} for your enterprise and choose whether to make sites publicly accessible.'
|
||||
intro: 'You can enable or disable {% data variables.product.prodname_pages %} for your enterprise{% ifversion ghes %} and choose whether to make sites publicly accessible{% endif %}.'
|
||||
redirect_from:
|
||||
- /enterprise/admin/guides/installation/disabling-github-enterprise-pages/
|
||||
- /enterprise/admin/guides/installation/configuring-github-enterprise-pages/
|
||||
@@ -18,9 +18,12 @@ topics:
|
||||
- Pages
|
||||
shortTitle: Configure GitHub Pages
|
||||
---
|
||||
|
||||
{% ifversion ghes %}
|
||||
|
||||
## Enabling public sites for {% data variables.product.prodname_pages %}
|
||||
|
||||
{% ifversion ghes %}If private mode is enabled on your enterprise, the {% else %}The {% endif %}public cannot access {% data variables.product.prodname_pages %} sites hosted by your enterprise unless you enable public sites.
|
||||
If private mode is enabled on your enterprise, the public cannot access {% data variables.product.prodname_pages %} sites hosted by your enterprise unless you enable public sites.
|
||||
|
||||
{% warning %}
|
||||
|
||||
@@ -28,42 +31,35 @@ shortTitle: Configure GitHub Pages
|
||||
|
||||
{% endwarning %}
|
||||
|
||||
{% ifversion ghes %}
|
||||
{% data reusables.enterprise_site_admin_settings.access-settings %}
|
||||
{% data reusables.enterprise_site_admin_settings.management-console %}
|
||||
{% data reusables.enterprise_management_console.pages-tab %}
|
||||
4. Select **Public Pages**.
|
||||

|
||||
{% data reusables.enterprise_management_console.save-settings %}
|
||||
{% elsif ghae %}
|
||||
{% data reusables.enterprise-accounts.access-enterprise %}
|
||||
{% data reusables.enterprise-accounts.policies-tab %}
|
||||
{% data reusables.enterprise-accounts.pages-tab %}
|
||||
5. Under "Pages policies", select **Public {% data variables.product.prodname_pages %}**.
|
||||

|
||||
{% data reusables.enterprise-accounts.pages-policies-save %}
|
||||
{% endif %}
|
||||
|
||||
## Disabling {% data variables.product.prodname_pages %} for your enterprise
|
||||
|
||||
{% ifversion ghes %}
|
||||
If subdomain isolation is disabled for your enterprise, you should also disable {% data variables.product.prodname_pages %} to protect yourself from potential security vulnerabilities. For more information, see "[Enabling subdomain isolation](/admin/configuration/enabling-subdomain-isolation)."
|
||||
{% endif %}
|
||||
|
||||
{% ifversion ghes %}
|
||||
{% data reusables.enterprise_site_admin_settings.access-settings %}
|
||||
{% data reusables.enterprise_site_admin_settings.management-console %}
|
||||
{% data reusables.enterprise_management_console.pages-tab %}
|
||||
4. Unselect **Enable Pages**.
|
||||

|
||||
{% data reusables.enterprise_management_console.save-settings %}
|
||||
{% elsif ghae %}
|
||||
|
||||
{% endif %}
|
||||
|
||||
{% ifversion ghae %}
|
||||
|
||||
{% data reusables.enterprise-accounts.access-enterprise %}
|
||||
{% data reusables.enterprise-accounts.policies-tab %}
|
||||
{% data reusables.enterprise-accounts.pages-tab %}
|
||||
5. Under "Pages policies", deselect **Enable {% data variables.product.prodname_pages %}**.
|
||||

|
||||
{% data reusables.enterprise-accounts.pages-policies-save %}
|
||||
|
||||
{% endif %}
|
||||
|
||||
{% ifversion ghes %}
|
||||
|
||||
@@ -34,6 +34,7 @@ children:
|
||||
- /restricting-network-traffic-to-your-enterprise
|
||||
- /configuring-github-pages-for-your-enterprise
|
||||
- /configuring-the-referrer-policy-for-your-enterprise
|
||||
- /configuring-custom-footers
|
||||
shortTitle: Configure your enterprise
|
||||
---
|
||||
|
||||
|
||||
@@ -25,7 +25,9 @@ topics:
|
||||
|
||||
When you enable unified search, users can view search results from public and private content on {% data variables.product.prodname_dotcom_the_website %} when searching from {% data variables.product.product_location %}{% ifversion ghae %} on {% data variables.product.prodname_ghe_managed %}{% endif %}.
|
||||
|
||||
Users will not be able to search {% data variables.product.product_location %} from {% data variables.product.prodname_dotcom_the_website %}, even if they have access to both environments. Users can only search private repositories you've enabled {% data variables.product.prodname_unified_search %} for and that they have access to in the connected {% data variables.product.prodname_ghe_cloud %} organizations. For more information, see "[About searching on {% data variables.product.prodname_dotcom %}](/search-github/getting-started-with-searching-on-github/about-searching-on-github/#searching-across-github-enterprise-and-githubcom-simultaneously)" and "[Enabling private {% data variables.product.prodname_dotcom_the_website %} repository search in your enterprise account](/search-github/getting-started-with-searching-on-github/enabling-githubcom-repository-search-from-your-private-enterprise-environment)."
|
||||
After you enable unified search for {% data variables.product.product_location %}, individual users must also connect their user accounts on {% data variables.product.product_name %} with their user accounts on {% data variables.product.prodname_dotcom_the_website %} in order to see search results from {% data variables.product.prodname_dotcom_the_website %} on {% data variables.product.product_location %}. For more information, see "[Enabling {% data variables.product.prodname_dotcom_the_website %} repository search in your private enterprise account](/search-github/getting-started-with-searching-on-github/enabling-githubcom-repository-search-from-your-private-enterprise-environment)."
|
||||
|
||||
Users will not be able to search {% data variables.product.product_location %} from {% data variables.product.prodname_dotcom_the_website %}, even if they have access to both environments. Users can only search private repositories you've enabled {% data variables.product.prodname_unified_search %} for and that they have access to in the connected {% data variables.product.prodname_ghe_cloud %} organizations. For more information, see "[About searching on {% data variables.product.prodname_dotcom %}](/search-github/getting-started-with-searching-on-github/about-searching-on-github/#searching-across-github-enterprise-and-githubcom-simultaneously)."
|
||||
|
||||
Searching via the REST and GraphQL APIs does not include {% data variables.product.prodname_dotcom_the_website %} search results. Advanced search and searching for wikis in {% data variables.product.prodname_dotcom_the_website %} are not supported.
|
||||
|
||||
|
||||
@@ -6,7 +6,6 @@ versions:
|
||||
topics:
|
||||
- Enterprise
|
||||
children:
|
||||
- /getting-started-with-github-actions-for-github-enterprise-server
|
||||
- /enabling-github-actions-with-azure-blob-storage
|
||||
- /enabling-github-actions-with-amazon-s3-storage
|
||||
- /enabling-github-actions-with-minio-gateway-for-nas-storage
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
---
|
||||
title: Getting started with GitHub Actions for GitHub AE
|
||||
shortTitle: Getting started with GitHub Actions
|
||||
intro: 'Learn configuring {% data variables.product.prodname_actions %} on {% data variables.product.prodname_ghe_managed %}.'
|
||||
shortTitle: Get started
|
||||
intro: 'Learn about configuring {% data variables.product.prodname_actions %} on {% data variables.product.prodname_ghe_managed %}.'
|
||||
permissions: 'Site administrators can enable {% data variables.product.prodname_actions %} and configure enterprise settings.'
|
||||
versions:
|
||||
ghae: '*'
|
||||
@@ -11,12 +11,21 @@ topics:
|
||||
- Enterprise
|
||||
redirect_from:
|
||||
- /admin/github-actions/getting-started-with-github-actions-for-github-ae
|
||||
- /admin/github-actions/using-github-actions-in-github-ae/getting-started-with-github-actions-for-github-ae
|
||||
---
|
||||
|
||||
{% data reusables.actions.ae-beta %}
|
||||
|
||||
## About {% data variables.product.prodname_actions %} on {% data variables.product.prodname_ghe_managed %}
|
||||
|
||||
This article explains how site administrators can configure {% data variables.product.prodname_ghe_managed %} to use {% data variables.product.prodname_actions %}.
|
||||
|
||||
{% data variables.product.prodname_actions %} is enabled for {% data variables.product.prodname_ghe_managed %} by default. To get started using {% data variables.product.prodname_actions %} within your enterprise, you need to manage access permissions for {% data variables.product.prodname_actions %} and add runners to run workflows.
|
||||
|
||||
{% data reusables.actions.introducing-enterprise %}
|
||||
|
||||
{% data reusables.actions.migrating-enterprise %}
|
||||
|
||||
## Managing access permissions for {% data variables.product.prodname_actions %} in your enterprise
|
||||
|
||||
You can use policies to manage access to {% data variables.product.prodname_actions %}. For more information, see "[Enforcing GitHub Actions policies for your enterprise](/admin/github-actions/enforcing-github-actions-policies-for-your-enterprise)."
|
||||
@@ -31,7 +40,4 @@ You can use policies to manage access to {% data variables.product.prodname_acti
|
||||
|
||||
To run {% data variables.product.prodname_actions %} workflows, you need to add runners. You can add runners at the enterprise, organization, or repository levels. For more information, see "[About {% data variables.actions.hosted_runner %}s](/actions/using-github-hosted-runners/about-ae-hosted-runners)."
|
||||
|
||||
|
||||
## General security hardening for {% data variables.product.prodname_actions %}
|
||||
|
||||
If you want to learn more about security practices for {% data variables.product.prodname_actions %}, see "[Security hardening for {% data variables.product.prodname_actions %}](/actions/learn-github-actions/security-hardening-for-github-actions)."
|
||||
{% data reusables.actions.general-security-hardening %}
|
||||
@@ -0,0 +1,34 @@
|
||||
---
|
||||
title: Getting started with GitHub Actions for GitHub Enterprise Cloud
|
||||
shortTitle: Get started
|
||||
intro: 'Learn how to configure {% data variables.product.prodname_actions %} on {% data variables.product.prodname_ghe_cloud %}.'
|
||||
permissions: 'Enterprise owners can configure {% data variables.product.prodname_actions %}.'
|
||||
versions:
|
||||
ghec: '*'
|
||||
type: how_to
|
||||
topics:
|
||||
- Actions
|
||||
- Enterprise
|
||||
---
|
||||
|
||||
## About {% data variables.product.prodname_actions %} on {% data variables.product.prodname_ghe_cloud %}
|
||||
|
||||
{% data variables.product.prodname_actions %} is enabled for your enterprise by default. To get started using {% data variables.product.prodname_actions %} within your enterprise, you can manage the policies that control how enterprise members use {% data variables.product.prodname_actions %} and optionally add self-hosted runners to run workflows.
|
||||
|
||||
{% data reusables.actions.introducing-enterprise %}
|
||||
|
||||
{% data reusables.actions.migrating-enterprise %}
|
||||
|
||||
## Managing policies for {% data variables.product.prodname_actions %}
|
||||
|
||||
You can use policies to control how enterprise members use {% data variables.product.prodname_actions %}. For example, you can restrict which actions are allowed and configure artifact and log retention. For more information, see "[Enforcing GitHub Actions policies for your enterprise](/admin/github-actions/enforcing-github-actions-policies-for-your-enterprise)."
|
||||
|
||||
## Adding runners
|
||||
|
||||
To run {% data variables.product.prodname_actions %} workflows, you need to use runners. {% data reusables.actions.about-runners %} If you use {% data variables.product.company_short %}-hosted runners, you will be be billed based on consumption after exhausting the minutes included in {% data variables.product.product_name %}, while self-hosted runners are free. For more information, see "[About billing for {% data variables.product.prodname_actions %}](/billing/managing-billing-for-github-actions/about-billing-for-github-actions)."
|
||||
|
||||
For more information, see "[About self-hosted runners](/actions/hosting-your-own-runners/about-self-hosted-runners)."
|
||||
|
||||
If you choose self-hosted runners, you can add runners at the enterprise, organization, or repository levels. For more information, see "[Adding self-hosted runners](/actions/hosting-your-own-runners/adding-self-hosted-runners)"
|
||||
|
||||
{% data reusables.actions.general-security-hardening %}
|
||||
@@ -1,12 +1,13 @@
|
||||
---
|
||||
title: Getting started with GitHub Actions for GitHub Enterprise Server
|
||||
shortTitle: Getting started with GitHub Actions
|
||||
shortTitle: Get started
|
||||
intro: 'Learn about enabling and configuring {% data variables.product.prodname_actions %} on {% data variables.product.prodname_ghe_server %} for the first time.'
|
||||
permissions: 'Site administrators can enable {% data variables.product.prodname_actions %} and configure enterprise settings.'
|
||||
redirect_from:
|
||||
- /enterprise/admin/github-actions/enabling-github-actions-and-configuring-storage
|
||||
- /admin/github-actions/enabling-github-actions-and-configuring-storage
|
||||
- /admin/github-actions/getting-started-with-github-actions-for-github-enterprise-server
|
||||
- /admin/github-actions/enabling-github-actions-for-github-enterprise-server/getting-started-with-github-actions-for-github-enterprise-server
|
||||
versions:
|
||||
ghes: '*'
|
||||
type: how_to
|
||||
@@ -18,11 +19,15 @@ topics:
|
||||
|
||||
{% data reusables.actions.enterprise-github-hosted-runners %}
|
||||
|
||||
{% ifversion ghes %}
|
||||
## About {% data variables.product.prodname_actions %} on {% data variables.product.prodname_ghe_server %}
|
||||
|
||||
This article explains how site administrators can configure {% data variables.product.prodname_ghe_server %} to use {% data variables.product.prodname_actions %}. It covers the hardware and software requirements, presents the storage options, and describes the security management policies.
|
||||
This article explains how site administrators can configure {% data variables.product.prodname_ghe_server %} to use {% data variables.product.prodname_actions %}.
|
||||
|
||||
{% endif %}
|
||||
{% data variables.product.prodname_actions %} is not enabled for {% data variables.product.prodname_ghe_server %} by default. You'll need to determine whether your instance has adequate CPU and memory resources to handle the load from {% data variables.product.prodname_actions %} without causing performance loss, and possibly increase those resources. You'll also need to decide which storage provider you'll use for the blob storage required to store artifacts generated by workflow runs. Then, you'll enable {% data variables.product.prodname_actions %} for your enterprise, manage access permissions, and add self-hosted runners to run workflows.
|
||||
|
||||
{% data reusables.actions.introducing-enterprise %}
|
||||
|
||||
{% data reusables.actions.migrating-enterprise %}
|
||||
|
||||
## Review hardware considerations
|
||||
|
||||
@@ -137,9 +142,7 @@ You can control which actions your users are allowed to use in your enterprise.
|
||||
|
||||
For more information, see "[About using actions in your enterprise](/admin/github-actions/about-using-actions-in-your-enterprise)."
|
||||
|
||||
## General security hardening for {% data variables.product.prodname_actions %}
|
||||
|
||||
If you want to learn more about security practices for {% data variables.product.prodname_actions %}, see "[Security hardening for {% data variables.product.prodname_actions %}](/actions/learn-github-actions/security-hardening-for-github-actions)."
|
||||
{% data reusables.actions.general-security-hardening %}
|
||||
|
||||
{% endif %}
|
||||
|
||||
@@ -0,0 +1,19 @@
|
||||
---
|
||||
title: Getting started with GitHub Actions for your enterprise
|
||||
intro: "Learn how to adopt {% data variables.product.prodname_actions %} for your enterprise."
|
||||
versions:
|
||||
ghec: '*'
|
||||
ghes: '*'
|
||||
ghae: '*'
|
||||
topics:
|
||||
- Enterprise
|
||||
- Actions
|
||||
children:
|
||||
- /introducing-github-actions-to-your-enterprise
|
||||
- /migrating-your-enterprise-to-github-actions
|
||||
- /getting-started-with-github-actions-for-github-enterprise-cloud
|
||||
- /getting-started-with-github-actions-for-github-enterprise-server
|
||||
- /getting-started-with-github-actions-for-github-ae
|
||||
shortTitle: Get started
|
||||
---
|
||||
|
||||
@@ -0,0 +1,124 @@
|
||||
---
|
||||
title: Introducing GitHub Actions to your enterprise
|
||||
shortTitle: Introduce Actions
|
||||
intro: "You can plan how to roll out {% data variables.product.prodname_actions %} in your enterprise."
|
||||
versions:
|
||||
ghec: '*'
|
||||
ghes: '*'
|
||||
ghae: '*'
|
||||
type: how_to
|
||||
topics:
|
||||
- Actions
|
||||
- Enterprise
|
||||
---
|
||||
|
||||
## About {% data variables.product.prodname_actions %} for enterprises
|
||||
|
||||
{% data reusables.actions.about-actions %} With {% data variables.product.prodname_actions %}, your enterprise can automate, customize, and execute your software development workflows like testing and deployments. For more information about the basics of {% data variables.product.prodname_actions %}, see "[Understanding {% data variables.product.prodname_actions %}](/actions/learn-github-actions/understanding-github-actions)."
|
||||
|
||||

|
||||
|
||||
Before you introduce {% data variables.product.prodname_actions %} to a large enterprise, you first need to plan your adoption and make decisions about how your enterprise will use {% data variables.product.prodname_actions %} to best support your unique needs.
|
||||
|
||||
## Governance and compliance
|
||||
|
||||
Your should create a plan to govern your enterprise's use of {% data variables.product.prodname_actions %} and meet your compliance obligations.
|
||||
|
||||
Determine which actions your developers will be allowed to use. {% ifversion ghes %}First, decide whether you'll enable access to actions from outside your instance. {% data reusables.actions.access-actions-on-dotcom %} For more information, see "[About using actions in your enterprise](/admin/github-actions/managing-access-to-actions-from-githubcom/about-using-actions-in-your-enterprise)."
|
||||
|
||||
Then,{% else %}First,{% endif %} decide whether you'll allow third-party actions that were not created by {% data variables.product.company_short %}. You can configure the actions that are allowed to run at the repository, organization, and enterprise levels and can choose to only allow actions that are created by {% data variables.product.company_short %}. If you do allow third-party actions, you can limit allowed actions to those created by verified creators or a list of specific actions. For more information, see "[Managing {% data variables.product.prodname_actions %} settings for a repository](/repositories/managing-your-repositorys-settings-and-features/enabling-features-for-your-repository/managing-github-actions-settings-for-a-repository#managing-github-actions-permissions-for-your-repository)", "[Disabling or limiting {% data variables.product.prodname_actions %} for your organization](/organizations/managing-organization-settings/disabling-or-limiting-github-actions-for-your-organization#managing-github-actions-permissions-for-your-organization)", and "[Enforcing policies for {% data variables.product.prodname_actions %} in your enterprise](/admin/policies/enforcing-policies-for-your-enterprise/enforcing-policies-for-github-actions-in-your-enterprise#enforcing-a-policy-to-restrict-the-use-of-actions-in-your-enterprise)."
|
||||
|
||||

|
||||
|
||||
{% ifversion ghec or ghae-issue-4757-and-5856 %}
|
||||
Consider combining OpenID Connect (OIDC) with reusable workflows to enforce consistent deployments across your repository, organization, or enterprise. You can do this by defining trust conditions on cloud roles based on reusable workflows. For more information, see "[Using OpenID Connect with reusable workflows](/actions/deployment/security-hardening-your-deployments/using-openid-connect-with-reusable-workflows)."
|
||||
{% endif %}
|
||||
|
||||
You can access information about activity related to {% data variables.product.prodname_actions %} in the audit logs for your enterprise. If your business needs require retaining audit logs for longer than six months, plan how you'll export and store this data outside of {% data variables.product.prodname_dotcom %}. For more information, see {% ifversion ghec %}"[Streaming the audit logs for organizations in your enterprise](/admin/user-management/managing-organizations-in-your-enterprise/streaming-the-audit-logs-for-organizations-in-your-enterprise-account)."{% else %}"[Searching the audit log](/admin/user-management/monitoring-activity-in-your-enterprise/searching-the-audit-log)."{% endif %}
|
||||
|
||||

|
||||
|
||||
## Security
|
||||
|
||||
You should plan your approach to security hardening for {% data variables.product.prodname_actions %}.
|
||||
|
||||
### Security hardening individual workflows and repositories
|
||||
|
||||
Make a plan to enforce good security practices for people using {% data variables.product.prodname_actions %} features within your enterprise. For more information about these practices, see "[Security hardening for {% data variables.product.prodname_actions %}](/actions/security-guides/security-hardening-for-github-actions)."
|
||||
|
||||
You can also encourage reuse of workflows that have already been evaluated for security. For more information, see "[Innersourcing](#innersourcing)."
|
||||
|
||||
### Securing access to secrets and deployment resources
|
||||
|
||||
You should plan where you'll store your secrets. We recommend storing secrets in {% data variables.product.prodname_dotcom %}, but you might choose to store secrets in a cloud provider.
|
||||
|
||||
In {% data variables.product.prodname_dotcom %}, you can store secrets at the repository or organization level. Secrets at the repository level can be limited to workflows in certain environments, such as production or testing. For more information, see "[Encrypted secrets](/actions/security-guides/encrypted-secrets)."
|
||||
|
||||

|
||||
|
||||
You should consider adding manual approval protection for sensitive environments, so that workflows must be approved before getting access to the environments' secrets. For more information, see "[Using environments for deployments](/actions/deployment/targeting-different-environments/using-environments-for-deployment)."
|
||||
|
||||
### Security considerations for third-party actions
|
||||
|
||||
There is significant risk in sourcing actions from third-party repositories on {% data variables.product.prodname_dotcom %}. If you do allow any third-party actions, you should create internal guidelines that enourage your team to follow best practices, such as pinning actions to the full commit SHA. For more information, see "[Using third-party actions](/actions/security-guides/security-hardening-for-github-actions#using-third-party-actions)."
|
||||
|
||||
## Innersourcing
|
||||
|
||||
Think about how your enterprise can use features of {% data variables.product.prodname_actions %} to innersource workflows. Innersourcing is a way to incorporate the benefits of open source methodologies into your internal software development cycle. For more information, see [An introduction to innersource](https://resources.github.com/whitepapers/introduction-to-innersource/) in {% data variables.product.company_short %} Resources.
|
||||
|
||||
{% ifversion ghec or ghes > 3.3 or ghae-issue-4757 %}
|
||||
With reusable workflows, your team can call one workflow from another workflow, avoiding exact duplication. Reusable workflows promote best practice by helping your team use workflows that are well designed and have already been tested. For more information, see "[Reusing workflows](/actions/learn-github-actions/reusing-workflows)."
|
||||
{% endif %}
|
||||
|
||||
To provide a starting place for developers building new workflows, you can use workflow templates. This not only saves time for your developers, but promotes consistency and best practice across your enterprise. For more information, see "[Creating workflow templates](/actions/learn-github-actions/creating-workflow-templates)."
|
||||
|
||||
Whenever your workflow developers want to use an action that's stored in a private repository, they must configure the workflow to clone the repository first. To reduce the number of repositories that must be cloned, consider grouping commonly used actions in a single repository. For more information, see "[About custom actions](/actions/creating-actions/about-custom-actions#choosing-a-location-for-your-action)."
|
||||
|
||||
## Managing resources
|
||||
|
||||
You should plan for how you'll manage the resources required to use {% data variables.product.prodname_actions %}.
|
||||
|
||||
### Runners
|
||||
|
||||
{% data variables.product.prodname_actions %} workflows require runners.{% ifversion ghec %} You can choose to use {% data variables.product.prodname_dotcom %}-hosted runners or self-hosted runners. {% data variables.product.prodname_dotcom %}-hosted runners are convenient because they are managed by {% data variables.product.company_short %}, who handles maintenance and upgrades for you. However, you may want to consider self-hosted runners if you need to run a workflow that will access resources behind your firewall or you want more control over the resources, configuration, or geographic location of your runner machines. For more information, see "[About {% data variables.product.prodname_dotcom %}-hosted runners](/actions/using-github-hosted-runners/about-github-hosted-runners)" and "[About self-hosted runners](/actions/hosting-your-own-runners/about-self-hosted-runners)."{% else %} You will need to host your own runners by installing the {% data variables.product.prodname_actions %} self-hosted runner application on your own machines. For more information, see "[About self-hosted runners](/actions/hosting-your-own-runners/about-self-hosted-runners)."{% endif %}
|
||||
|
||||
{% ifversion ghec %}If you are using self-hosted runners, you have to decide whether you want to use physical machines, virtual machines, or containers.{% else %}Decide whether you want to use physical machines, virtual machines, or containers for your self-hosted runners.{% endif %} Physical machines will retain remnants of previous jobs, and so will virtual machines unless you use a fresh image for each job or clean up the machines after each job run. If you choose containers, you should be aware that the runner auto-updating will shut down the container, which can cause workflows to fail. You should come up with a solution for this by preventing auto-updates or skipping the command to kill the container.
|
||||
|
||||
You also have to decide where to add each runner. You can add a self-hosted runner to an individual repository, or you can make the runner available to an entire organization or your entire enterprise. Adding runners at the organization or enterprise levels allows sharing of runners, which might reduce the size of your runner infrastructure. You can use policies to limit access to self-hosted runners at the organization and enterprise levels by assigning groups of runners to specific repositories or organizations. For more information, see "[Adding self-hosted runners](/actions/hosting-your-own-runners/adding-self-hosted-runners)" and "[Managing access to self-hosted runners using groups](/actions/hosting-your-own-runners/managing-access-to-self-hosted-runners-using-groups)."
|
||||
|
||||
{% ifversion ghec or ghes > 3.2 %}
|
||||
You should consider using autoscaling to automatically increase or decrease the number of available self-hosted runners. For more information, see "[Autoscaling with self-hosted runners](/actions/hosting-your-own-runners/autoscaling-with-self-hosted-runners)."
|
||||
{% endif %}
|
||||
|
||||
Finally, you should consider security hardening for self-hosted runners. For more information, see "[Security hardening for {% data variables.product.prodname_actions %}](/actions/security-guides/security-hardening-for-github-actions#hardening-for-self-hosted-runners)."
|
||||
|
||||
### Storage
|
||||
|
||||
{% data reusables.actions.about-artifacts %} For more information, see "[Storing workflow data as artifacts](/actions/advanced-guides/storing-workflow-data-as-artifacts)."
|
||||
|
||||

|
||||
|
||||
{% ifversion ghes %}
|
||||
You must configure external blob storage for these artifacts. Decide which supported storage provider your enterprise will use. For more information, see "[Getting started with {% data variables.product.prodname_actions %} for {% data variables.product.product_name %}](/admin/github-actions/getting-started-with-github-actions-for-your-enterprise/getting-started-with-github-actions-for-github-enterprise-server#external-storage-requirements)."
|
||||
{% endif %}
|
||||
|
||||
{% data reusables.github-actions.artifact-log-retention-statement %}
|
||||
|
||||
If you want to retain logs and artifacts longer than the upper limit you can configure in {% data variables.product.product_name %}, you'll have to plan how to export and store the data.
|
||||
|
||||
{% ifversion ghec %}
|
||||
Some storage is included in your subscription, but additional storage will affect your bill. You should plan for this cost. For more information, see "[About billing for {% data variables.product.prodname_actions %}](/billing/managing-billing-for-github-actions/about-billing-for-github-actions)."
|
||||
{% endif %}
|
||||
|
||||
## Tracking usage
|
||||
|
||||
You should consider making a plan to track your enterprise's usage of {% data variables.product.prodname_actions %}, such as how often workflows are running, how many of those runs are passing and failing, and which repositories are using which workflows.
|
||||
|
||||
{% ifversion ghec %}
|
||||
You can see basic details of storage and data transfer usage of {% data variables.product.prodname_actions %} for each organization in your enterprise via your billing settings. For more information, see "[Viewing your {% data variables.product.prodname_actions %} usage](/billing/managing-billing-for-github-actions/viewing-your-github-actions-usage#viewing-github-actions-usage-for-your-enterprise-account)."
|
||||
|
||||
For more detailed usage data, you{% else %}You{% endif %} can use webhooks to subscribe to information about workflow jobs and workflow runs. For more information, see "[About webhooks](/developers/webhooks-and-events/webhooks/about-webhooks)."
|
||||
|
||||
Make a plan for how your enterprise can pass the information from these webhooks into a data archiving system. You can consider using "CEDAR.GitHub.Collector", an open source tool that collects and processes webhook data from {% data variables.product.prodname_dotcom %}. For more information, see the [`Microsoft/CEDAR.GitHub.Collector` repository](https://github.com/microsoft/CEDAR.GitHub.Collector/).
|
||||
|
||||
You should also plan how you'll enable your teams to get the data they need from your archiving system.
|
||||
@@ -0,0 +1,87 @@
|
||||
---
|
||||
title: Migrating your enterprise to GitHub Actions
|
||||
shortTitle: Migrate to Actions
|
||||
intro: "Learn how to plan a migration to {% data variables.product.prodname_actions %} for your enterprise from another provider."
|
||||
versions:
|
||||
ghec: '*'
|
||||
ghes: '*'
|
||||
ghae: '*'
|
||||
type: how_to
|
||||
topics:
|
||||
- Actions
|
||||
- Enterprise
|
||||
---
|
||||
|
||||
## About enterprise migrations to {% data variables.product.prodname_actions %}
|
||||
|
||||
To migrate your enterprise to {% data variables.product.prodname_actions %} from an existing system, you can plan the migration, complete the migration, and retire existing systems.
|
||||
|
||||
This guide addresses specific considerations for migrations. For additional information about introducing {% data variables.product.prodname_actions %} to your enterprise, see "[Introducing {% data variables.product.prodname_actions %} to your enterprise](/admin/github-actions/getting-started-with-github-actions-for-your-enterprise/introducing-github-actions-to-your-enterprise)."
|
||||
|
||||
## Planning your migration
|
||||
|
||||
Before you begin migrating your enterprise to {% data variables.product.prodname_actions %}, you should identify which workflows will be migrated and how those migrations will affect your teams, then plan how and when you will complete the migrations.
|
||||
|
||||
### Leveraging migration specialists
|
||||
|
||||
{% data variables.product.company_short %} can help with your migration, and you may also benefit from purchasing {% data variables.product.prodname_professional_services %}. For more information, contact your dedicated representative or {% data variables.contact.contact_enterprise_sales %}.
|
||||
|
||||
### Identifying and inventorying migration targets
|
||||
|
||||
Before you can migrate to {% data variables.product.prodname_actions %}, you need to have a complete understanding of the workflows being used by your enterprise in your existing system.
|
||||
|
||||
First, create an inventory of the existing build and release workflows within your enterprise, gathering information about which workflows are being actively used and need to migrated and which can be left behind.
|
||||
|
||||
Next, learn the differences between your current provider and {% data variables.product.prodname_actions %}. This will help you assess any difficulties in migrating each workflow, and where your enterprise might experience differences in features. For more information, see "[Migrating to {% data variables.product.prodname_actions %}](/actions/migrating-to-github-actions)."
|
||||
|
||||
With this information, you'll be able to determine which workflows you can and want to migrate to {% data variables.product.prodname_actions %}.
|
||||
|
||||
### Determine team impacts from migrations
|
||||
|
||||
When you change the tools being used within your enterprise, you influence how your team works. You'll need to consider how moving a workflow from your existing systems to {% data variables.product.prodname_actions %} will affect your developers' day-to-day work.
|
||||
|
||||
Identify any processes, integrations, and third-party tools that will be affected by your migration, and make a plan for any updates you'll need to make.
|
||||
|
||||
Consider how the migration may affect your compliance concerns. For example, will your existing credential scanning and security analysis tools work with {% data variables.product.prodname_actions %}, or will you need to use new tools?
|
||||
|
||||
Identify the gates and checks in your existing system and verify that you can implement them with {% data variables.product.prodname_actions %}.
|
||||
|
||||
### Identifying and validating migration tools
|
||||
|
||||
Automated migration tools can translate your enterprise's workflows from the existing system's syntax to the syntax required by {% data variables.product.prodname_actions %}. Identify third-party tooling or contact your dedicated representative or {% data variables.contact.contact_enterprise_sales %} to ask about tools that {% data variables.product.company_short %} can provide.
|
||||
|
||||
After you've identified a tool to automate your migrations, validate the tool by running the tool on some test workflows and verifying that the results are as expected.
|
||||
|
||||
Automated tooling should be able to migrate the majority of your workflows, but you'll likely need to manually rewrite at least a small percentage. Estimate the amount of manual work you'll need to complete.
|
||||
|
||||
### Deciding on a migration approach
|
||||
|
||||
Determine the migration approach that will work best for your enterprise. Smaller teams may be able to migrate all their workflows at once, with a "rip-and-replace" approach. For larger enterprises, an iterative approach may be more realistic. You can choose to have a central body manage the entire migration or you can ask individual teams to self serve by migrating their own workflows.
|
||||
|
||||
We recommend an iterative approach that combines active management with self service. Start with a small group of early adopters that can act as your internal champions. Identify a handful of workflows that are comprehensive enough to represent the breadth of your business. Work with your early adopters to migrate those workflows to {% data variables.product.prodname_actions %}, iterating as needed. This will give other teams confidence that their workflows can be migrated, too.
|
||||
|
||||
Then, make {% data variables.product.prodname_actions %} available to your larger organization. Provide resources to help these teams migrate their own workflows to {% data variables.product.prodname_actions %}, and inform the teams when the existing systems will be retired.
|
||||
|
||||
Finally, inform any teams that are still using your old systems to complete their migrations within a specific timeframe. You can point to the successes of other teams to reassure them that migration is possible and desirable.
|
||||
|
||||
### Defining your migration schedule
|
||||
|
||||
After you decide on a migration approach, build a schedule that outlines when each of your teams will migrate their workflows to {% data variables.product.prodname_actions %}.
|
||||
|
||||
First, decide the date you'd like your migration to be complete. For example, you can plan to complete your migration by the time your contract with your current provider ends.
|
||||
|
||||
Then, work with your teams to create a schedule that meets your deadline without sacrificing their team goals. Look at your business's cadence and the workload of each individual team you're asking to migrate. Coordinate with each team to understand their delivery schedules and create a plan that allows the team to migrate their workflows at a time that won't impact their ability to deliver.
|
||||
|
||||
## Migrating to {% data variables.product.prodname_actions %}
|
||||
|
||||
When you're ready to start your migration, translate your existing workflows to {% data variables.product.prodname_actions %} using the automated tooling and manual rewriting you planned for above.
|
||||
|
||||
You may also want to maintain old build artifacts from your existing system, perhaps by writing a scripted process to archive the artifacts.
|
||||
|
||||
## Retiring existing systems
|
||||
|
||||
After your migration is complete, you can think about retiring your existing system.
|
||||
|
||||
You may want to run both systems side-by-side for some period of time, while you verify that your {% data variables.product.prodname_actions %} configuration is stable, with no degradation of experience for developers.
|
||||
|
||||
Eventually, decommission and shut off the old systems, and ensure that no one within your enterprise can turn the old systems back on.
|
||||
@@ -4,11 +4,13 @@ intro: 'Enable {% data variables.product.prodname_actions %} on {% ifversion gha
|
||||
redirect_from:
|
||||
- /enterprise/admin/github-actions
|
||||
versions:
|
||||
ghec: '*'
|
||||
ghes: '*'
|
||||
ghae: '*'
|
||||
topics:
|
||||
- Enterprise
|
||||
children:
|
||||
- /getting-started-with-github-actions-for-your-enterprise
|
||||
- /using-github-actions-in-github-ae
|
||||
- /enabling-github-actions-for-github-enterprise-server
|
||||
- /managing-access-to-actions-from-githubcom
|
||||
|
||||
@@ -26,7 +26,7 @@ shortTitle: Add actions in your enterprise
|
||||
|
||||
## Official actions bundled with your enterprise instance
|
||||
|
||||
Most official {% data variables.product.prodname_dotcom %}-authored actions are automatically bundled with {% data variables.product.product_name %}, and are captured at a point in time from {% data variables.product.prodname_marketplace %}.
|
||||
{% data reusables.actions.actions-bundled-with-ghes %}
|
||||
|
||||
The bundled official actions include `actions/checkout`, `actions/upload-artifact`, `actions/download-artifact`, `actions/labeler`, and various `actions/setup-` actions, among others. To see all the official actions included on your enterprise instance, browse to the `actions` organization on your instance: <code>https://<em>HOSTNAME</em>/actions</code>.
|
||||
|
||||
@@ -40,7 +40,7 @@ Each action is a repository in the `actions` organization, and each action repos
|
||||
|
||||
## Configuring access to actions on {% data variables.product.prodname_dotcom_the_website %}
|
||||
|
||||
If users in your enterprise need access to other actions from {% data variables.product.prodname_dotcom_the_website %} or {% data variables.product.prodname_marketplace %}, there are a few configuration options.
|
||||
{% data reusables.actions.access-actions-on-dotcom %}
|
||||
|
||||
The recommended approach is to enable automatic access to all actions from {% data variables.product.prodname_dotcom_the_website %}. You can do this by using {% data variables.product.prodname_github_connect %} to integrate {% data variables.product.product_name %} with {% data variables.product.prodname_ghe_cloud %}. For more information, see "[Enabling automatic access to {% data variables.product.prodname_dotcom_the_website %} actions using {% data variables.product.prodname_github_connect %}](/enterprise/admin/github-actions/enabling-automatic-access-to-githubcom-actions-using-github-connect)". {% data reusables.actions.enterprise-limit-actions-use %}
|
||||
|
||||
|
||||
@@ -19,10 +19,14 @@ shortTitle: Use GitHub Connect for actions
|
||||
{% data reusables.actions.enterprise-beta %}
|
||||
{% data reusables.actions.enterprise-github-hosted-runners %}
|
||||
|
||||
## About automatic access to {% data variables.product.prodname_dotcom_the_website %} actions
|
||||
|
||||
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).
|
||||
|
||||
To make all actions from {% data variables.product.prodname_dotcom_the_website %} available on your enterprise instance, you can use {% data variables.product.prodname_github_connect %} to integrate {% data variables.product.product_name %} with {% data variables.product.prodname_ghe_cloud %}. For other ways of accessing actions from {% data variables.product.prodname_dotcom_the_website %}, see "[About using actions in your enterprise](/admin/github-actions/about-using-actions-in-your-enterprise)."
|
||||
|
||||
To use actions from {% data variables.product.prodname_dotcom_the_website %}, your self-hosted runners must be able to download public actions from `api.github.com`.
|
||||
|
||||
## Enabling automatic access to all {% data variables.product.prodname_dotcom_the_website %} actions
|
||||
|
||||
{% data reusables.actions.enterprise-github-connect-warning %}
|
||||
|
||||
@@ -4,7 +4,6 @@ intro: 'Learn how to configure {% data variables.product.prodname_actions %} on
|
||||
versions:
|
||||
ghae: '*'
|
||||
children:
|
||||
- /getting-started-with-github-actions-for-github-ae
|
||||
- /using-actions-in-github-ae
|
||||
shortTitle: Use Actions in GitHub AE
|
||||
---
|
||||
|
||||
@@ -9,14 +9,15 @@ versions:
|
||||
ghes: '*'
|
||||
ghae: '*'
|
||||
learningTracks:
|
||||
- '{% ifversion ghec %}get_started_with_your_enterprise_account{% endif %}'
|
||||
- '{% ifversion ghae %}get_started_with_github_ae{% endif %}'
|
||||
- '{% ifversion ghes %}deploy_an_instance{% endif %}'
|
||||
- '{% ifversion ghes %}upgrade_your_instance{% endif %}'
|
||||
- adopting_github_actions_for_your_enterprise
|
||||
- '{% ifversion ghes %}increase_fault_tolerance{% endif %}'
|
||||
- '{% ifversion ghes %}improve_security_of_your_instance{% endif %}'
|
||||
- '{% ifversion ghes > 2.22 %}configure_github_actions{% endif %}'
|
||||
- '{% ifversion ghes > 2.22 %}configure_github_advanced_security{% endif %}'
|
||||
- '{% ifversion ghec %}get_started_with_your_enterprise_account{% endif %}'
|
||||
includeGuides:
|
||||
- /admin/authentication/allowing-built-in-authentication-for-users-outside-your-identity-provider
|
||||
- /admin/authentication/changing-authentication-methods
|
||||
|
||||
@@ -54,7 +54,7 @@ You can choose to disable {% data variables.product.prodname_actions %} for all
|
||||
{% data reusables.enterprise-accounts.policies-tab %}
|
||||
{% data reusables.enterprise-accounts.actions-tab %}
|
||||
1. Under **Policies**, select **Allow select actions** and add your required actions to the list.
|
||||
{%- ifversion ghes or ghae-issue-5094 %}
|
||||
{%- ifversion ghes > 3.0 or ghae-issue-5094 %}
|
||||

|
||||
{%- elsif ghae %}
|
||||

|
||||
|
||||
@@ -24,7 +24,7 @@ In future releases of {% data variables.product.prodname_ghe_server %}, we will
|
||||
|
||||
To prepare for these changes, if you have private mode enabled, you can run a migration on your instance to convert public repositories to internal. This migration is currently optional, to allow you to test the changes on a non-production instance. The migration will become mandatory in the future.
|
||||
|
||||
When you run the migration, all public repositories owned by organizations on your instance will become internal repositories. If any of those repositories have forks, the forks will be detached from their parent and become private. Private repositories will remain private.
|
||||
When you run the migration, all public repositories owned by organizations on your instance will become internal repositories. If any of those repositories have forks, the forks will become private. Private repositories will remain private.
|
||||
|
||||
All public repositories owned by user accounts on your instance will become private repositories. If any of those repositories have forks, the forks will also become private. The owner of each fork will be given read permissions to the fork's parent.
|
||||
|
||||
|
||||
@@ -50,7 +50,7 @@ To replace all text listed in `passwords.txt` wherever it can be found in your r
|
||||
$ bfg --replace-text passwords.txt
|
||||
```
|
||||
|
||||
After the sensitive data is removed, you must force push your changes to {% data variables.product.product_name %}.
|
||||
After the sensitive data is removed, you must force push your changes to {% data variables.product.product_name %}. Force pushing rewrites the repository history, which removes sensitive data from the commit history. If you force push, it may overwrite commits that other people have based their work on.
|
||||
|
||||
```shell
|
||||
$ git push --force
|
||||
@@ -124,7 +124,7 @@ To illustrate how `git filter-repo` works, we'll show you how to remove your fil
|
||||
> 1 files changed, 1 insertions(+), 0 deletions(-)
|
||||
```
|
||||
6. Double-check that you've removed everything you wanted to from your repository's history, and that all of your branches are checked out.
|
||||
7. Once you're happy with the state of your repository, force-push your local changes to overwrite your repository on {% ifversion ghae %}{% data variables.product.product_name %}{% else %}{% data variables.product.product_location %}{% endif %}, as well as all the branches you've pushed up:
|
||||
7. Once you're happy with the state of your repository, force-push your local changes to overwrite your repository on {% ifversion ghae %}{% data variables.product.product_name %}{% else %}{% data variables.product.product_location %}{% endif %}, as well as all the branches you've pushed up. A force push is required to remove sensitive data from your commit history.
|
||||
```shell
|
||||
$ git push origin --force --all
|
||||
> Counting objects: 1074, done.
|
||||
|
||||
@@ -36,7 +36,7 @@ If you have multiple keys or are attempting to sign commits or tags with a key t
|
||||
|
||||
1. When committing changes in your local branch, add the -S flag to the git commit command:
|
||||
```shell
|
||||
$ git commit -S -m <em>your commit message</em>
|
||||
$ git commit -S -m <em>"your commit message"</em>
|
||||
# Creates a signed commit
|
||||
```
|
||||
2. If you're using GPG, after you create your commit, provide the passphrase you set up when you [generated your GPG key](/articles/generating-a-new-gpg-key).
|
||||
|
||||
@@ -169,11 +169,13 @@ codeql database analyze <database> --format=<format> \
|
||||
| `<packs,queries>` | | Specify {% data variables.product.prodname_codeql %} packs or queries to run. To run the standard queries used for {% data variables.product.prodname_code_scanning %}, omit this parameter. To see the other query suites included in the {% data variables.product.prodname_codeql_cli %} bundle, look in `/<extraction-root>/codeql/qlpacks/codeql-<language>/codeql-suites`. For information about creating your own query suite, see [Creating CodeQL query suites](https://codeql.github.com/docs/codeql-cli/creating-codeql-query-suites/) in the documentation for the {% data variables.product.prodname_codeql_cli %}.
|
||||
| <nobr>`--format`</nobr> | {% octicon "check-circle-fill" aria-label="Required" %} | Specify the format for the results file generated by the command. For upload to {% data variables.product.company_short %} this should be: {% ifversion fpt or ghae or ghec %}`sarif-latest`{% else %}`sarifv2.1.0`{% endif %}. For more information, see "[SARIF support for {% data variables.product.prodname_code_scanning %}](/code-security/secure-coding/sarif-support-for-code-scanning)."
|
||||
| <nobr>`--output`</nobr> | {% octicon "check-circle-fill" aria-label="Required" %} | Specify where to save the SARIF results file.{% ifversion fpt or ghes > 3.1 or ghae or ghec %}
|
||||
| <nobr>`--sarif-category`<nobr> | {% octicon "question" aria-label="Required with multiple results sets" %} | Optional for single database analysis. Required to define the language when you analyze multiple databases for a single commit in a repository. Specify a category to include in the SARIF results file for this analysis. A category is used to distinguish multiple analyses for the same tool and commit, but performed on different languages or different parts of the code.|{% endif %}{% if codeql-packs %}
|
||||
| <nobr>`--sarif-category`<nobr> | {% octicon "question" aria-label="Required with multiple results sets" %} | Optional for single database analysis. Required to define the language when you analyze multiple databases for a single commit in a repository. Specify a category to include in the SARIF results file for this analysis. A category is used to distinguish multiple analyses for the same tool and commit, but performed on different languages or different parts of the code.|{% endif %}{% ifversion fpt or ghes > 3.3 or ghae or ghec %}
|
||||
| <nobr>`--sarif-add-query-help`</nobr> | | Optional. Use if you want to include any available markdown-rendered query help for custom queries used in your analysis. Any query help for custom queries included in the SARIF output will be displayed in the code scanning UI if the relevant query generates an alert. For more information, see [Analyzing databases with the {% data variables.product.prodname_codeql_cli %}](https://codeql.github.com/docs/codeql-cli/analyzing-databases-with-the-codeql-cli/#including-query-help-for-custom-codeql-queries-in-sarif-files) in the documentation for the {% data variables.product.prodname_codeql_cli %}.{% endif %}{% if codeql-packs %}
|
||||
| `<packs>` | | Optional. Use if you have downloaded CodeQL query packs and want to run the default queries or query suites specified in the packs. For more information, see "[Downloading and using {% data variables.product.prodname_codeql %} packs](#downloading-and-using-codeql-query-packs)."{% endif %}
|
||||
| <nobr>`--threads`</nobr> | | Optional. Use if you want to use more than one thread to run queries. The default value is `1`. You can specify more threads to speed up query execution. To set the number of threads to the number of logical processors, specify `0`.
|
||||
| <nobr>`--verbose`</nobr> | | Optional. Use to get more detailed information about the analysis process{% ifversion fpt or ghes > 3.1 or ghae or ghec %} and diagnostic data from the database creation process{% endif %}.
|
||||
|
||||
|
||||
For more information, see [Analyzing databases with the {% data variables.product.prodname_codeql_cli %}](https://codeql.github.com/docs/codeql-cli/analyzing-databases-with-the-codeql-cli/) in the documentation for the {% data variables.product.prodname_codeql_cli %}.
|
||||
|
||||
### Basic example
|
||||
|
||||
@@ -82,12 +82,8 @@ After your pattern is created, {% data variables.product.prodname_secret_scannin
|
||||
|
||||
## Defining a custom pattern for an enterprise account
|
||||
|
||||
{% ifversion fpt or ghec or ghes %}
|
||||
|
||||
Before defining a custom pattern, you must ensure that you enable secret scanning for your enterprise account. For more information, see "[Enabling {% data variables.product.prodname_GH_advanced_security %} for your enterprise]({% ifversion fpt or ghec %}/enterprise-server@latest/{% endif %}/admin/advanced-security/enabling-github-advanced-security-for-your-enterprise)."
|
||||
|
||||
{% endif %}
|
||||
|
||||
{% note %}
|
||||
|
||||
**Note:** As there is no dry-run functionality, we recommend that you test your custom patterns in a repository before defining them for your entire enterprise. That way, you can avoid creating excess false-positive {% data variables.product.prodname_secret_scanning %} alerts.
|
||||
@@ -98,12 +94,12 @@ Before defining a custom pattern, you must ensure that you enable secret scannin
|
||||
{% data reusables.enterprise-accounts.policies-tab %}
|
||||
{% data reusables.enterprise-accounts.advanced-security-policies %}
|
||||
{% data reusables.enterprise-accounts.advanced-security-security-features %}
|
||||
1. Under "Secret scanning custom patterns", click {% ifversion fpt or ghes > 3.2 or ghae-next or ghec %}**New pattern**{% elsif ghes = 3.2 %}**New custom pattern**{% endif %}.
|
||||
1. Under "Secret scanning custom patterns", click {% ifversion ghes = 3.2 %}**New custom pattern**{% else %}**New pattern**{% endif %}.
|
||||
{% data reusables.advanced-security.secret-scanning-add-custom-pattern-details %}
|
||||
|
||||
After your pattern is created, {% data variables.product.prodname_secret_scanning %} scans for any secrets in {% ifversion fpt or ghec %}private{% endif %} repositories within your enterprise's organizations with {% data variables.product.prodname_GH_advanced_security %} enabled, including their entire Git history on all branches. Organization owners and repository administrators will be alerted to any secrets found, and can review the alert in the repository where the secret is found. For more information on viewing {% data variables.product.prodname_secret_scanning %} alerts, see "[Managing alerts from {% data variables.product.prodname_secret_scanning %}](/code-security/secret-security/managing-alerts-from-secret-scanning)."
|
||||
|
||||
{% ifversion fpt or ghes > 3.2 or ghec %}
|
||||
{% ifversion fpt or ghes > 3.2 or ghec or ghae %}
|
||||
## Editing a custom pattern
|
||||
|
||||
When you save a change to a custom pattern, this closes all the {% data variables.product.prodname_secret_scanning %} alerts that were created using the previous version of the pattern.
|
||||
@@ -120,7 +116,7 @@ When you save a change to a custom pattern, this closes all the {% data variable
|
||||
|
||||
* For a repository or organization, display the "Security & analysis" settings for the repository or organization where the custom pattern was created. For more information, see "[Defining a custom pattern for a repository](#defining-a-custom-pattern-for-a-repository)" or "[Defining a custom pattern for an organization](#defining-a-custom-pattern-for-an-organization)" above.
|
||||
* For an enterprise, under "Policies" display the "Advanced Security" area, and then click **Security features**. For more information, see "[Defining a custom pattern for an enterprise account](#defining-a-custom-pattern-for-an-enterprise-account)" above.
|
||||
{%- ifversion fpt or ghes > 3.2 or ghae-next %}
|
||||
{%- ifversion fpt or ghes > 3.2 or ghae %}
|
||||
1. To the right of the custom pattern you want to remove, click {% octicon "trash" aria-label="The trash icon" %}.
|
||||
1. Review the confirmation, and select a method for dealing with any open alerts relating to the custom pattern.
|
||||
1. Click **Yes, delete this pattern**.
|
||||
|
||||
@@ -179,14 +179,14 @@ jobs:
|
||||
if: ${{ github.actor == 'dependabot[bot]' }}
|
||||
steps:
|
||||
- name: Dependabot metadata
|
||||
id: metadata
|
||||
id: dependabot-metadata
|
||||
uses: dependabot/fetch-metadata@v1.1.1
|
||||
with:
|
||||
github-token: "${{ secrets.GITHUB_TOKEN }}"
|
||||
# The following properties are now available:
|
||||
# - steps.metadata.outputs.dependency-names
|
||||
# - steps.metadata.outputs.dependency-type
|
||||
# - steps.metadata.outputs.update-type
|
||||
# - steps.dependabot-metadata.outputs.dependency-names
|
||||
# - steps.dependabot-metadata.outputs.dependency-type
|
||||
# - steps.dependabot-metadata.outputs.update-type
|
||||
```
|
||||
{% endraw %}
|
||||
|
||||
@@ -214,12 +214,12 @@ jobs:
|
||||
if: ${{ github.actor == 'dependabot[bot]' }}
|
||||
steps:
|
||||
- name: Dependabot metadata
|
||||
id: metadata
|
||||
id: dependabot-metadata
|
||||
uses: dependabot/fetch-metadata@v1.1.1
|
||||
with:
|
||||
github-token: "${{ secrets.GITHUB_TOKEN }}"
|
||||
- name: Add a label for all production dependencies
|
||||
if: ${{ steps.metadata.outputs.dependency-type == 'direct:production' }}
|
||||
if: ${{ steps.dependabot-metadata.outputs.dependency-type == 'direct:production' }}
|
||||
run: gh pr edit "$PR_URL" --add-label "production"
|
||||
env:
|
||||
PR_URL: ${{github.event.pull_request.html_url}}
|
||||
@@ -244,7 +244,7 @@ jobs:
|
||||
if: ${{ github.actor == 'dependabot[bot]' }}
|
||||
steps:
|
||||
- name: Dependabot metadata
|
||||
id: metadata
|
||||
id: dependabot-metadata
|
||||
uses: dependabot/fetch-metadata@v1.1.1
|
||||
with:
|
||||
github-token: "${{ secrets.GITHUB_TOKEN }}"
|
||||
@@ -277,12 +277,12 @@ jobs:
|
||||
if: ${{ github.actor == 'dependabot[bot]' }}
|
||||
steps:
|
||||
- name: Dependabot metadata
|
||||
id: metadata
|
||||
id: dependabot-metadata
|
||||
uses: dependabot/fetch-metadata@v1.1.1
|
||||
with:
|
||||
github-token: "${{ secrets.GITHUB_TOKEN }}"
|
||||
- name: Enable auto-merge for Dependabot PRs
|
||||
if: ${{contains(steps.metadata.outputs.dependency-names, 'my-dependency') && steps.metadata.outputs.update-type == 'version-update:semver-patch'}}
|
||||
if: ${{contains(steps.dependabot-metadata.outputs.dependency-names, 'my-dependency') && steps.dependabot-metadata.outputs.update-type == 'version-update:semver-patch'}}
|
||||
run: gh pr merge --auto --merge "$PR_URL"
|
||||
env:
|
||||
PR_URL: ${{github.event.pull_request.html_url}}
|
||||
|
||||
@@ -18,7 +18,7 @@ redirect_from:
|
||||
- /codespaces/working-with-your-codespace/managing-access-and-security-for-codespaces
|
||||
---
|
||||
|
||||
By default, a codespace can only access the repository where it was created. When you enable access and security for a repository owned by your organization, any codespaces that are created for that repository will also have read and write permissions to all other repositories the organization owns and the codespace creator has permissions to access. If you want to restrict the repositories a codespace can access, you can limit it to either the repository where the codespace was created, or to specific repositories. You should only enable access and security for repositories you trust.
|
||||
By default, a codespace can only access the repository where it was created. When you enable access and security for a repository owned by your organization, any codespaces that are created for that repository will also have read permissions to all other repositories the organization owns and the codespace creator has permissions to access. If you want to restrict the repositories a codespace can access, you can limit it to either the repository where the codespace was created, or to specific repositories. You should only enable access and security for repositories you trust.
|
||||
|
||||
To manage which users in your organization can use {% data variables.product.prodname_codespaces %}, see "[Managing user permissions for your organization](/codespaces/managing-codespaces-for-your-organization/managing-user-permissions-for-your-organization)."
|
||||
|
||||
|
||||
@@ -77,7 +77,7 @@ $ git pull <em>remotename</em> <em>branchname</em>
|
||||
|
||||
Because `pull` performs a merge on the retrieved changes, you should ensure that
|
||||
your local work is committed before running the `pull` command. If you run into
|
||||
[a merge conflict](/github/collaborating-with-pull-requests/addressing-merge-conflicts/resolving-a-merge-conflict-using-the-command-line
|
||||
[a merge conflict](/github/collaborating-with-pull-requests/addressing-merge-conflicts/resolving-a-merge-conflict-using-the-command-line)
|
||||
you cannot resolve, or if you decide to quit the merge, you can use `git merge --abort`
|
||||
to take the branch back to where it was in before you pulled.
|
||||
|
||||
|
||||
@@ -52,7 +52,7 @@ You can disable all workflows for an organization or set a policy that configure
|
||||
{% data reusables.profile.org_settings %}
|
||||
{% data reusables.organizations.settings-sidebar-actions %}
|
||||
1. Under **Policies**, select **Allow select actions** and add your required actions to the list.
|
||||
{%- ifversion ghes %}
|
||||
{%- ifversion ghes > 3.0 %}
|
||||

|
||||
{%- else %}
|
||||

|
||||
|
||||
@@ -21,7 +21,7 @@ topics:
|
||||
|
||||
**Note:** When working with pull requests, keep the following in mind:
|
||||
* If you're working in the [shared repository model](/pull-requests/collaborating-with-pull-requests/getting-started/about-collaborative-development-models), we recommend that you use a topic branch for your pull request. While you can send pull requests from any branch or commit, with a topic branch you can push follow-up commits if you need to update your proposed changes.
|
||||
* When pushing commits to a pull request, don't force push. Force pushing can corrupt your pull request.
|
||||
* When pushing commits to a pull request, don't force push. Force pushing changes the repository history and can corrupt your pull request. If other collaborators branch the project before a force push, the force push may overwrite commits that collaborators based their work on.
|
||||
|
||||
{% endnote %}
|
||||
|
||||
|
||||
@@ -84,7 +84,7 @@ $ git fetch upstream recover-B
|
||||
|
||||
## Avoid force pushes
|
||||
|
||||
Avoid force pushing to a repository unless absolutely necessary. This is especially true if more than one person can push to the repository.
|
||||
Avoid force pushing to a repository unless absolutely necessary. This is especially true if more than one person can push to the repository. If someone force pushes to a repository, the force push may overwrite commits that other people based their work on. Force pushing changes the repository history and can corrupt pull requests.
|
||||
|
||||
## Further reading
|
||||
|
||||
|
||||
@@ -31,7 +31,7 @@ topics:
|
||||
|
||||
Once a repository is archived, you cannot add or remove collaborators or teams. Contributors with access to the repository can only fork or star your project.
|
||||
|
||||
When a repository is archived, its issues, pull requests, code, labels, milestones, projects, wiki, releases, commits, tags, branches, reactions, code scanning alerts, and comments become read-only. To make changes in an archived repository, you must unarchive the repository first.
|
||||
When a repository is archived, its issues, pull requests, code, labels, milestones, projects, wiki, releases, commits, tags, branches, reactions, code scanning alerts, comments and permissions become read-only. To make changes in an archived repository, you must unarchive the repository first.
|
||||
|
||||
You can search for archived repositories. For more information, see "[Searching for repositories](/search-github/searching-on-github/searching-for-repositories/#search-based-on-whether-a-repository-is-archived)." You can also search for issues and pull requests within archived repositories. For more information, see "[Searching issues and pull requests](/search-github/searching-on-github/searching-issues-and-pull-requests/#search-based-on-whether-a-repository-is-archived)."
|
||||
|
||||
|
||||
@@ -157,7 +157,7 @@ You can only give push access to a protected branch to users, teams, or installe
|
||||
|
||||
### Allow force pushes
|
||||
|
||||
By default, {% data variables.product.product_name %} blocks force pushes on all protected branches. When you enable force pushes to a protected branch, anyone with at least write permissions to the repository can force push to the branch, including those with admin permissions.
|
||||
By default, {% data variables.product.product_name %} blocks force pushes on all protected branches. When you enable force pushes to a protected branch, anyone with at least write permissions to the repository can force push to the branch, including those with admin permissions. If someone force pushes to a branch, the force push may overwrite commits that other collaborators based their work on. People may have merge conflicts or corrupted pull requests.
|
||||
|
||||
Enabling force pushes will not override any other branch protection rules. For example, if a branch requires a linear commit history, you cannot force push merge commits to that branch.
|
||||
|
||||
|
||||
@@ -67,6 +67,10 @@ When you create a branch rule, the branch you specify doesn't have to exist yet
|
||||

|
||||
- Optionally, to require review from a code owner when the pull request affects code that has a designated owner, select **Require review from Code Owners**. For more information, see "[About code owners](/github/creating-cloning-and-archiving-repositories/about-code-owners)."
|
||||

|
||||
{% ifversion fpt or ghec %}
|
||||
- Optionally, to allow specific people or teams to push code to the branch without being subject to the pull request rules above, select **Allow specific actors to bypass pull request requirements**. Then, search for and select the people or teams who are allowed to bypass the pull request requirements.
|
||||

|
||||
{% endif %}
|
||||
- Optionally, if the repository is part of an organization, select **Restrict who can dismiss pull request reviews**. Then, search for and select the people or teams who are allowed to dismiss pull request reviews. For more information, see "[Dismissing a pull request review](/pull-requests/collaborating-with-pull-requests/reviewing-changes-in-pull-requests/dismissing-a-pull-request-review)."
|
||||

|
||||
1. Optionally, enable required status checks. For more information, see "[About status checks](/pull-requests/collaborating-with-pull-requests/collaborating-on-repositories-with-code-quality-features/about-status-checks)."
|
||||
@@ -100,7 +104,7 @@ When you create a branch rule, the branch you specify doesn't have to exist yet
|
||||

|
||||
- Search for and select the people, teams, or apps who will have permission to push to the protected branch.
|
||||

|
||||
1. Optionally, under "Rules applied to everyone including administrators", select **Allow force pushes**.
|
||||
2. Optionally, under "Rules applied to everyone including administrators", select **Allow force pushes**. For more information about force pushes, see "[Allow force pushes](/repositories/configuring-branches-and-merges-in-your-repository/defining-the-mergeability-of-pull-requests/about-protected-branches/#allow-force-pushes)."
|
||||

|
||||
1. Optionally, select **Allow deletions**.
|
||||

|
||||
|
||||
@@ -30,7 +30,8 @@ Prerequisites for repository transfers:
|
||||
- When you transfer a repository that you own to another user account, the new owner will receive a confirmation email.{% ifversion fpt or ghec %} The confirmation email includes instructions for accepting the transfer. If the new owner doesn't accept the transfer within one day, the invitation will expire.{% endif %}
|
||||
- To transfer a repository that you own to an organization, you must have permission to create a repository in the target organization.
|
||||
- The target account must not have a repository with the same name, or a fork in the same network.
|
||||
- The original owner of the repository is added as a collaborator on the transferred repository. Other collaborators to the transferred repository remain intact.
|
||||
- The original owner of the repository is added as a collaborator on the transferred repository. Other collaborators to the transferred repository remain intact.{% ifversion ghec or ghes or ghae %}
|
||||
- Internal repositories can't be transferred.{% endif %}
|
||||
- Private forks can't be transferred.
|
||||
|
||||
{% ifversion fpt or ghec %}If you transfer a private repository to a {% data variables.product.prodname_free_user %} user or organization account, the repository will lose access to features like protected branches and {% data variables.product.prodname_pages %}. {% data reusables.gated-features.more-info %}{% endif %}
|
||||
|
||||
@@ -57,7 +57,7 @@ You can disable all workflows for a repository or set a policy that configures w
|
||||
{% data reusables.repositories.sidebar-settings %}
|
||||
{% data reusables.repositories.settings-sidebar-actions %}
|
||||
1. Under **Actions permissions**, select **Allow select actions** and add your required actions to the list.
|
||||
{%- ifversion ghes %}
|
||||
{%- ifversion ghes > 3.0 %}
|
||||

|
||||
{%- else %}
|
||||

|
||||
@@ -122,8 +122,8 @@ To configure whether workflows in an internal repository can be accessed from ou
|
||||
1. Under **Access**, choose one of the access settings:
|
||||

|
||||
* **Not accessible** - Workflows in other repositories can't use workflows in this repository.
|
||||
* **Accessible by any repository in the organization** - Workflows in other repositories can use workflows in this repository as long as they are part of the same organization.
|
||||
* **Accessible by any repository in the enterprise** - Workflows in other repositories can use workflows in this repository as long as they are part of the same enterprise.
|
||||
* **Accessible from repositories in the '<organization name>' organization** - Workflows in other repositories can use workflows in this repository if they are part of the same organization and their visibility is private or internal.
|
||||
* **Accessible from repositories in the '<enterprise name>' enterprise** - Workflows in other repositories can use workflows in this repository if they are part of the same enterprise and their visibility is private or internal.
|
||||
1. Click **Save** to apply the settings.
|
||||
{% endif %}
|
||||
|
||||
|
||||
@@ -190,7 +190,7 @@ You can now provide more information in GitHub for URLs that link to registered
|
||||
**Custom media types:** `corsair-preview`
|
||||
**Announced:** [2018-12-10](https://developer.github.com/changes/2018-12-10-content-attachments-api/)
|
||||
|
||||
{% ifversion ghes < 3.3 %}
|
||||
{% ifversion ghae or ghes < 3.3 %}
|
||||
|
||||
## Enable and disable Pages
|
||||
|
||||
|
||||
@@ -147,6 +147,11 @@ _Search_
|
||||
- [`GET /repos/:owner/:repo/actions/runners`](/rest/reference/actions#list-self-hosted-runners-for-a-repository) (:read)
|
||||
- [`GET /repos/:owner/:repo/actions/runners/:runner_id`](/rest/reference/actions#get-a-self-hosted-runner-for-a-repository) (:read)
|
||||
- [`DELETE /repos/:owner/:repo/actions/runners/:runner_id`](/rest/reference/actions#delete-a-self-hosted-runner-from-a-repository) (:write)
|
||||
- [`GET /repos/:owner/:repo/actions/runners/:runner_id/labels`](/rest/reference/actions#list-labels-for-a-self-hosted-runner-for-a-repository) (:read)
|
||||
- [`POST /repos/:owner/:repo/actions/runners/:runner_id/labels`](/rest/reference/actions#add-custom-labels-to-a-self-hosted-runner-for-a-repository) (:write)
|
||||
- [`PUT /repos/:owner/:repo/actions/runners/:runner_id/labels`](/rest/reference/actions#set-custom-labels-for-a-self-hosted-runner-for-a-repository) (:write)
|
||||
- [`DELETE /repos/:owner/:repo/actions/runners/:runner_id/labels`](/rest/reference/actions#remove-all-custom-labels-from-a-self-hosted-runner-for-a-repository) (:write)
|
||||
- [`DELETE /repos/:owner/:repo/actions/runners/:runner_id/labels/:name`](/rest/reference/actions#remove-a-custom-label-from-a-self-hosted-runner-for-a-repository) (:write)
|
||||
{% ifversion fpt or ghes -%}
|
||||
- [`POST /repos/:owner/:repo/actions/runners/registration-token`](/rest/reference/actions#create-a-registration-token-for-a-repository) (:write)
|
||||
- [`POST /repos/:owner/:repo/actions/runners/remove-token`](/rest/reference/actions#create-a-remove-token-for-a-repository) (:write)
|
||||
@@ -903,6 +908,11 @@ _Teams_
|
||||
- [`GET /orgs/:org/actions/runners/:runner_id`](/rest/reference/actions#get-a-self-hosted-runner-for-an-organization) (:read)
|
||||
- [`POST /orgs/:org/actions/runners/remove-token`](/rest/reference/actions#create-a-remove-token-for-an-organization) (:write)
|
||||
- [`DELETE /orgs/:org/actions/runners/:runner_id`](/rest/reference/actions#delete-a-self-hosted-runner-from-an-organization) (:write)
|
||||
- [`GET /orgs/:org/actions/runners/:runner_id/labels`](/rest/reference/actions#list-labels-for-a-self-hosted-runner-for-an-organization) (:read)
|
||||
- [`POST /orgs/:org/actions/runners/:runner_id/labels`](/rest/reference/actions#add-custom-labels-to-a-self-hosted-runner-for-an-organization) (:write)
|
||||
- [`PUT /orgs/:org/actions/runners/:runner_id/labels`](/rest/reference/actions#set-custom-labels-for-a-self-hosted-runner-for-an-organization) (:write)
|
||||
- [`DELETE /orgs/:org/actions/runners/:runner_id/labels`](/rest/reference/actions#remove-all-custom-labels-from-a-self-hosted-runner-for-an-organization) (:write)
|
||||
- [`DELETE /orgs/:org/actions/runners/:runner_id/labels/:name`](/rest/reference/actions#remove-a-custom-label-from-a-self-hosted-runner-for-an-organization) (:write)
|
||||
{% endif %}
|
||||
|
||||
### Permission on "single file"
|
||||
|
||||
@@ -83,7 +83,7 @@ More results might have been found, but also might not.
|
||||
|
||||
### Access errors or missing search results
|
||||
|
||||
You need to successfully authenticate and have access to the repositories in your search queries, otherwise, you'll see a `422 Unprocessible Entry` error with a "Validation Failed" message. For example, your search will fail if your query includes `repo:`, `user:`, or `org:` qualifiers that request resources that you don't have access to when you sign in on {% data variables.product.prodname_dotcom %}.
|
||||
You need to successfully authenticate and have access to the repositories in your search queries, otherwise, you'll see a `422 Unprocessable Entry` error with a "Validation Failed" message. For example, your search will fail if your query includes `repo:`, `user:`, or `org:` qualifiers that request resources that you don't have access to when you sign in on {% data variables.product.prodname_dotcom %}.
|
||||
|
||||
When your search query requests multiple resources, the response will only contain the resources that you have access to and will **not** provide an error message listing the resources that were not returned.
|
||||
|
||||
|
||||
@@ -11,6 +11,12 @@ miniTocMaxHeadingLevel: 3
|
||||
|
||||
{% data reusables.secret-scanning.api-beta %}
|
||||
|
||||
The {% data variables.product.prodname_secret_scanning %} API lets you retrieve and update secret scanning alerts from a {% ifversion fpt or ghec %}private {% endif %}repository. For more information on secret scanning, see "[About secret scanning](/code-security/secret-security/about-secret-scanning)."
|
||||
The {% data variables.product.prodname_secret_scanning %} API lets you{% ifversion fpt or ghec or ghes > 3.1 or ghae-next %}:
|
||||
|
||||
- Enable or disable {% data variables.product.prodname_secret_scanning %} for a repository. For more information, see "[Repositories](/rest/reference/repos#update-a-repository)" in the REST API documentation.
|
||||
- Retrieve and update {% data variables.product.prodname_secret_scanning %} alerts from a {% ifversion fpt or ghec %}private {% endif %}repository. For futher details, see the sections below.
|
||||
{%- else %} retrieve and update {% data variables.product.prodname_secret_scanning %} alerts from a {% ifversion fpt or ghec %}private {% endif %}repository.{% endif %}
|
||||
|
||||
For more information about {% data variables.product.prodname_secret_scanning %}, see "[About {% data variables.product.prodname_secret_scanning %}](/code-security/secret-security/about-secret-scanning)."
|
||||
|
||||
{% include rest_operations_at_current_path %}
|
||||
|
||||
Reference in New Issue
Block a user