1
0
mirror of synced 2025-12-30 12:02:01 -05:00

Merge branch 'main' into am-stead-14201

This commit is contained in:
Anne-Marie
2024-07-11 22:12:36 +01:00
committed by GitHub
38 changed files with 248 additions and 239 deletions

View File

@@ -64,6 +64,11 @@ jobs:
node-version-file: 'package.json'
cache: npm
# Currently we only need this to run dependencies in
# src/workflows/check-canary-slots.js
- name: Install dependencies
run: npm install
- name: Clone docs-early-access
uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1
with:

View File

@@ -32,7 +32,7 @@ When you unsubscribe from notifications in your inbox, you have several other tr
### Benefits of unsubscribing from the subscriptions page
When you unsubscribe from notifications on the subscriptions page, you can see more of the notifications you're subscribed to and sort them by "Most recently subscribed" or "Least recently subscribed".
When you unsubscribe from notifications on the subscriptions page, you can see more of the notifications you're subscribed to and sort them by "Most recently subscribed" or "Least recently subscribed."
The subscriptions page shows you all of the notifications that you're currently subscribed to, including notifications that you have marked as **Done** in your inbox.

View File

@@ -27,10 +27,10 @@ For an example workflow of removing notifications that are easy to remove or tri
Choose which type of notifications are most urgent to review and pick a time to review them that's best for you. You might consider the question "Who am I blocking?"
For example, you may decide to check your notifications in this order in the morning during your daily planning time:
* Pull requests where your review is requested. (filter by `reason:review-requested`)
* Events where your username is @mentioned, also called direct mentions. (filter by `reason:mention`)
* Events where a team you're a member of is @mentioned, also called team mentions. (filter by `reason:team-mention`)
* CI workflow failures for a specific repository. (filter by `reason:ci-activity` and `repo:owner/repo-name` and ensure you've enabled CI activity notifications for workflow failures in your notification settings)
* Pull requests where your review is requested (filter by `reason:review-requested`)
* Events where your username is @mentioned, also called direct mentions (filter by `reason:mention`)
* Events where a team you're a member of is @mentioned, also called team mentions (filter by `reason:team-mention`)
* CI workflow failures for a specific repository (filter by `reason:ci-activity` and `repo:owner/repo-name` and ensure you've enabled CI activity notifications for workflow failures in your notification settings)
{% tip %}

View File

@@ -14,7 +14,7 @@ versions:
{% data reusables.actions.jobs.section-assigning-permissions-to-jobs %}
## Defining access for the `GITHUB_TOKEN` scopes
## Defining access for the `GITHUB_TOKEN` permissions
{% data reusables.actions.github-token-available-permissions %}

View File

@@ -8,6 +8,7 @@ topics:
- Enterprise
children:
- /configuring-backups-on-your-instance
- /known-issues-with-backups-for-your-instance
redirect_from:
- /admin/backing-up-and-restoring-your-instance/known-issues-with-backups-for-your-instance
---

View File

@@ -1,114 +0,0 @@
---
title: Known issues with backups for your instance
intro: 'See an overview of workarounds for issues that impact the backup or restoration process for {% data variables.product.prodname_ghe_server %}.'
versions:
feature: backup-utilities-encryption-bug
type: overview
topics:
- Enterprise
- Troubleshooting
- Backups
shortTitle: Known issues with backups
redirect_from:
- /admin/configuration/configuring-your-enterprise/known-issues-with-backups-for-your-instance
---
## About known issues with {% data variables.product.prodname_ghe_server %} backups
{% data variables.product.company_short %} provides workarounds for the following issues that could impact backup or restoration of data for a {% data variables.product.prodname_ghe_server %} instance. For more information, see "Known issues" in the [{% data variables.product.prodname_ghe_server %} release notes](/admin/release-notes).
{% ifversion backup-utilities-encryption-bug %}
## Users cannot sign in after restoration of a backup
{% note %}
**Note:** This known issue has been fixed in {% data variables.product.prodname_enterprise_backup_utilities %} {% ifversion ghes = 3.9 %}3.9.1{% endif %}.
{% endnote %}
If you used {% data variables.product.prodname_enterprise_backup_utilities %} {% ifversion ghes = 3.9 %}3.7.0, 3.8.0, or 3.9.0{% endif %} to back up an instance running any release in the {% data variables.product.product_name %} 3.7{% ifversion ghes = 3.9 %} or 3.8{% endif %} series, after you restore the backup to a new instance, users cannot sign in. Though users cannot sign in, the backup itself is unaffected and all data is intact.
After you restore an existing backup affected by this issue, you can resolve the issue by modifying the configuration on the new instance.
### Restoring from an existing backup
If you've restored an existing backup from {% data variables.product.prodname_enterprise_backup_utilities %} {% ifversion ghes = 3.9%}3.7.0, 3.8.0, or 3.9.0{% endif %} to a new instance and users cannot sign in, you must output configuration data from the source {% data variables.product.product_name %} instance and adjust the configuration on the target instance.
To ensure users can sign into the new target instance, ensure that your environment meets the following requirements.
* The source {% data variables.product.product_name %} instance must be running and accessible via SSH.
* You must have an existing backup from {% data variables.product.prodname_enterprise_backup_utilities %} {% ifversion ghes = 3.9 %}3.7.0, 3.8.0, or 3.9.0{% endif %}.
* You must have provisioned a new target {% data variables.product.product_name %} instance and restored the backup. For more information, see "[AUTOTITLE](/admin/installation/setting-up-a-github-enterprise-server-instance)" and "[AUTOTITLE](/admin/configuration/configuring-your-enterprise/configuring-backups-on-your-instance)."
1. SSH into the source {% data variables.product.product_name %} instance that you backed up. If your instance comprises multiple nodes, for example if high availability or geo-replication are configured, SSH into the primary node. If you use a cluster, you can SSH into any node. Replace HOSTNAME with the actual hostname of your instance. For more information about SSH access, see "[AUTOTITLE](/admin/configuration/configuring-your-enterprise/accessing-the-administrative-shell-ssh)."
```shell copy
ssh -p 122 admin@HOSTNAME
```
{%- ifversion ghes = 3.9 %}
1. To display a list of decryption keys, run the following command.
```shell copy
ghe-config secrets.github.encrypted-column-keying-material
```
1. Copy the output to a safe and temporary location.
1. To display a list of encryption keys, run the following command.
```shell copy
ghe-config secrets.github.encrypted-column-current-encryption-key
```
1. Copy the output to a safe and temporary location.
{%- endif %}
1. SSH into the destination {% data variables.product.product_name %} instance where you restored the backup. Replace HOSTNAME with the actual hostname of your instance.
```shell copy
ssh -p 122 admin@HOSTNAME
```
1. Enable maintenance mode. For more information, see "[AUTOTITLE](/admin/configuration/configuring-your-enterprise/enabling-and-scheduling-maintenance-mode#enabling-maintenance-mode-immediately-or-scheduling-a-maintenance-window-for-a-later-time)."
1. To verify that the destination instance is ready for configuration, run the following {% ifversion ghes = 3.9 %}commands{% endif %}. There should be no output displayed.
```shell copy
ghe-config secrets.github.encrypted-column-keying-material
{%- ifversion ghes = 3.9 %}
ghe-config secrets.github.encrypted-column-current-encryption-key
{%- endif %}
```
{%- ifversion ghes = 3.9 %}
1. To update the decryption keys on the destination instance, run the following command. Replace DECRYPTION-KEY-LIST with the output from step 1.
```shell copy
ghe-config secrets.github.encrypted-column-keying-material "DECRYPTION-KEY-LIST"
```
1. To update the encryption key on the destination instance, run the following command. Replace ENCRYPTION-KEY with the output from step 4.
```shell copy
ghe-config secrets.github.encrypted-column-current-encryption-key "ENCRYPTION-KEY"
```
{%- endif %}
1. To apply the configuration, run the following command.
```shell copy
ghe-config-apply
```
1. Wait for the configuration run to complete.
1. To ensure that the target instance's configuration contains the keys, run the following {% ifversion ghes = 3.9 %}commands{% endif %} and verify that the output matches step 1{% ifversion ghes = 3.9 %} and step 4{% endif %}.
```shell copy
ghe-config secrets.github.encrypted-column-keying-material
{%- ifversion ghes = 3.9 %}
ghe-config secrets.github.encrypted-column-current-encryption-key
{%- endif %}
```
1. Have a user sign into the destination instance. If any issues arise, contact {% data variables.contact.enterprise_support %}. For more information, see "[AUTOTITLE](/support/contacting-github-support)."
{% endif %}

View File

@@ -14,6 +14,7 @@ redirect_from:
- /enterprise/admin/user-management/configuring-git-large-file-storage-for-your-enterprise
- /admin/user-management/configuring-git-large-file-storage-for-your-enterprise
- /admin/user-management/managing-repositories-in-your-enterprise/configuring-git-large-file-storage-for-your-enterprise
- /admin/managing-accounts-and-repositories/managing-repositories-in-your-enterprise/migrating-to-internal-repositories
versions:
ghes: '*'
type: how_to

View File

@@ -14,7 +14,6 @@ children:
- /viewing-user-owned-repositories-in-your-enterprise
- /accessing-user-owned-repositories-in-your-enterprise
- /configuring-git-large-file-storage-for-your-enterprise
- /migrating-to-internal-repositories
- /disabling-git-ssh-access-on-your-enterprise
- /locking-a-repository
- /restoring-a-deleted-repository

View File

@@ -1,69 +0,0 @@
---
title: Migrating to internal repositories
intro: 'You can migrate to internal repositories to unify the innersource experience for developers using both {% data variables.product.prodname_ghe_server %} and {% data variables.product.prodname_ghe_cloud %}.'
redirect_from:
- /enterprise/admin/installation/migrating-to-internal-repositories
- /enterprise/admin/user-management/migrating-to-internal-repositories
- /admin/user-management/migrating-to-internal-repositories
- /admin/user-management/managing-repositories-in-your-enterprise//migrating-to-internal-repositories
permissions: Site administrators can migrate to internal repositories.
versions:
ghes: '<3.10'
type: how_to
topics:
- Enterprise
- Privacy
- Repositories
- Security
shortTitle: Internal repository migration
---
## About internal repositories
Internal repositories are available in {% data variables.product.prodname_ghe_server %} 2.20+. {% data reusables.repositories.about-internal-repos %} For more information, see "[AUTOTITLE](/repositories/creating-and-managing-repositories/about-repositories#about-repository-visibility)."
In future releases of {% data variables.product.prodname_ghe_server %}, we will adjust how repository visibility works so that the terms public, internal, and private have a uniform meaning for developers on {% data variables.product.prodname_ghe_server %} and {% data variables.product.prodname_ghe_cloud %}.
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 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.
Anonymous Git read access will be disabled for each public repository that becomes internal or private.
If your current default visibility for repositories is public, the default will become internal. If the current default is private, the default will not change. You can change the default at any time. For more information, see "[AUTOTITLE](/admin/policies/enforcing-policies-for-your-enterprise/enforcing-repository-management-policies-in-your-enterprise#configuring-the-default-visibility-of-new-repositories-in-your-enterprise)."
The repository creation policy for the instance will change to disable public repositories and allow private and internal repositories. You can update the policy at any time. For more information, see "[AUTOTITLE](/admin/policies/enforcing-policies-for-your-enterprise/enforcing-repository-management-policies-in-your-enterprise)."
If you don't have private mode enabled, the migration script will have no effect.
## Running the migration
1. Connect to the administrative shell. For more information, see "[AUTOTITLE](/admin/configuration/configuring-your-enterprise/accessing-the-administrative-shell-ssh)."
{% ifversion ghes %}
1. Run the migration command.
```shell
github-env bin/safe-ruby lib/github/transitions/20191210220630_convert_public_ghes_repos_to_internal.rb --verbose -w | tee -a /tmp/convert_public_ghes_repos_to_internal.log
```
{% else %}
1. Navigate to the `/data/github/current` directory.
```shell
cd /data/github/current
```
1. Run the migration command.
```shell
sudo bin/safe-ruby lib/github/transitions/20191210220630_convert_public_ghes_repos_to_internal.rb --verbose -w | tee -a /tmp/convert_public_ghes_repos_to_internal.log
```
{% endif %}
Log output will appear in the terminal and `/tmp/convert_public_ghes_repos_to_internal.log`.
## Further reading
* "[AUTOTITLE](/admin/configuration/configuring-your-enterprise/enabling-private-mode)"

View File

@@ -52,6 +52,7 @@ The trial lasts for **{% data reusables.enterprise.ghec-trial-length %} days** a
* {% data variables.product.prodname_sponsors %}
* Paid {% data variables.product.prodname_marketplace %} apps
* {% data variables.product.prodname_github_connect %}
* {% data variables.large_files.product_name_long %}
* For {% data variables.product.prodname_actions %}, increased minutes, job concurrency, and {% data variables.actions.hosted_runner %}s
If you invite an existing organization into your trial enterprise, **all of these features will be disabled**. If you remove the organization from the enterprise, the features will be re-enabled.

View File

@@ -23,9 +23,7 @@ You can set up a {% data variables.product.prodname_copilot %} subscription for
* **For an organization**, you can set up a subscription to {% data variables.product.prodname_copilot_for_business %}, then grant access to members.
* **For an enterprise on {% data variables.product.prodname_ghe_cloud %}**, you can set up a subscription to {% data variables.product.prodname_copilot_for_business %} or {% data variables.product.prodname_copilot_enterprise %}, then allow organizations to grant access to members.
A free subscription for {% data variables.product.prodname_copilot %} is available to verified students, teachers, and maintainers of popular open-source repositories on {% data variables.product.company_short %}. If you meet the criteria as an open source maintainer, you will be automatically notified when you visit the {% data variables.product.prodname_copilot %} subscription page. As a student, if you receive the {% data variables.product.prodname_student_pack %}, you will also be offered a free subscription when you visit the {% data variables.product.prodname_copilot %} subscription page. For more information about the {% data variables.product.prodname_student_pack %}, see "[AUTOTITLE](/free-pro-team@latest/education/explore-the-benefits-of-teaching-and-learning-with-github-education/github-global-campus-for-students/apply-to-github-global-campus-as-a-student)."
{% data reusables.billing.billing-info %}
> [!NOTE] A free subscription for {% data variables.product.prodname_copilot %} is available to verified students, teachers, and maintainers of popular open-source repositories on {% data variables.product.company_short %}. See "[AUTOTITLE](/copilot/managing-copilot/managing-copilot-as-an-individual-subscriber/getting-free-access-to-copilot-as-a-student-teacher-or-maintainer)."
## About billing for {% data variables.product.prodname_copilot_for_individuals %}

View File

@@ -15,7 +15,7 @@ redirect_from:
{% note %}
**Note:** The {% data variables.codespaces.serverless %} editor is currently in beta preview. You can provide feedback [in our Discussions](https://github.com/community/community/discussions/categories/general).
**Note:** The {% data variables.codespaces.serverless %} editor is currently in beta preview. You can provide feedback [in our Discussions](https://github.com/community/community/discussions/categories/codespaces).
{% endnote %}

View File

@@ -54,7 +54,7 @@ For more information, see "[AUTOTITLE](/copilot/about-github-copilot/github-copi
* _Sign up for a subscription to {% data variables.product.prodname_copilot_for_individuals %}_. You can <a href="https://github.com/github-copilot/signup?ref_cta=Copilot+trial&ref_loc=about+github+copilot&ref_page=docs" target="_blank"><span>try {% data variables.product.prodname_copilot %} for free</span></a> with a one-time 30-day trial. After the free trial, you will need a paid subscription for continued use.
* _If you are a member of an organization or enterprise_ that has a subscription to {% data variables.product.prodname_copilot %}, you can request access to {% data variables.product.prodname_copilot_short %} by going to [https://github.com/settings/copilot](https://github.com/settings/copilot) and requesting access under "Get Copilot from an organization."
* _If you are a verified student, teacher, or maintainer of a popular open source project_, {% data variables.product.prodname_copilot %} is free to use. See "[AUTOTITLE](/billing/managing-billing-for-github-copilot/about-billing-for-github-copilot)."
* _If you are a verified student, teacher, or maintainer of a popular open source project_, {% data variables.product.prodname_copilot %} is free to use. See "[AUTOTITLE](/copilot/managing-copilot/managing-copilot-as-an-individual-subscriber/getting-free-access-to-copilot-as-a-student-teacher-or-maintainer)."
**As an organization owner or enterprise admin**, you can purchase a subscription to {% data variables.product.prodname_copilot_for_business %} or {% data variables.product.prodname_copilot_enterprise %} for your organization or enterprise, and allow organizations to grant access to members. For more information, see "[AUTOTITLE](/copilot/about-github-copilot/)"

View File

@@ -0,0 +1,28 @@
---
title: Getting free access to Copilot as a student, teacher, or maintainer
shortTitle: Get free access
intro: 'Learn how to use {% data variables.product.prodname_copilot_short %} for free as a student, teacher, or open-source maintainer.'
versions:
feature: copilot
type: how_to
topics:
- Copilot
---
## About free {% data variables.product.prodname_copilot_short %} access
There are three ways to qualify for free access to {% data variables.product.prodname_copilot_for_individuals %}:
* **As a verified student on {% data variables.product.prodname_education %}.** To learn about becoming a verified student, see "[AUTOTITLE](/free-pro-team@latest/education/explore-the-benefits-of-teaching-and-learning-with-github-education/github-education-for-students/apply-to-github-education-as-a-student)."
* **As a verified teacher on {% data variables.product.prodname_education %}.** To learn about becoming a verified teacher, see "[AUTOTITLE](/free-pro-team@latest/education/explore-the-benefits-of-teaching-and-learning-with-github-education/github-education-for-teachers/apply-to-github-education-as-a-teacher)."
* **As a maintainer of a popular open-source repository.** To determine if you are an eligible maintainer, see "[Accessing {% data variables.product.prodname_copilot %} for free](#accessing-github-copilot-for-free)."
{% data variables.product.company_short %} reevaluates your eligibility every month.
> [!NOTE] If you do not meet the previous criteria, you can still <a href="https://github.com/github-copilot/signup?ref_cta=Copilot+trial&ref_loc=about+github+copilot&ref_page=docs" target="_blank"><span>try {% data variables.product.prodname_copilot %} for free</span></a> with a one-time 30-day trial. After the free trial, you will need a paid subscription for continued use.
## Accessing {% data variables.product.prodname_copilot %} for free
1. In the upper-right corner of any page, click your profile photo, then click **{% octicon "copilot" aria-hidden="true" %} Your {% data variables.product.prodname_copilot_short %}**.
1. If you qualify for free access to {% data variables.product.prodname_copilot_short %}, you will see a page titled "{% data variables.product.prodname_copilot_for_individuals %}" informing you that you are eligible. Click **Get access to {% data variables.product.prodname_copilot %}**.
1. On the page that appears, configure the {% data variables.product.prodname_copilot_short %} use policies to meet your needs, then click **Save and complete**.

View File

@@ -7,6 +7,7 @@ versions:
topics:
- Copilot
children:
- /getting-free-access-to-copilot-as-a-student-teacher-or-maintainer
- /subscribing-to-copilot-as-an-individual-user
- /installing-github-copilot-extensions-for-your-personal-account
- /managing-copilot-policies-as-an-individual-subscriber
@@ -14,4 +15,3 @@ children:
- /canceling-your-copilot-trial-as-an-individual-user
- /canceling-copilot-as-an-individual-user
---

View File

@@ -16,7 +16,7 @@ There are a few ways that you can get access to {% data variables.product.prodna
* _Sign up for a subscription to {% data variables.product.prodname_copilot_for_individuals %}_. You can <a href="https://github.com/github-copilot/signup?ref_cta=Copilot+trial&ref_loc=about+github+copilot&ref_page=docs" target="_blank"><span>try {% data variables.product.prodname_copilot %} for free</span></a> with a one-time 30-day trial. After the free trial, you will need a paid subscription for continued use.
* _If you are a member of an organization or enterprise_ that has a subscription to {% data variables.product.prodname_copilot %}, you can request access to {% data variables.product.prodname_copilot_short %} by going to [https://github.com/settings/copilot](https://github.com/settings/copilot) and requesting access under "Get Copilot from an organization."
* _If you are a verified student, teacher, or maintainer of a popular open source project_, {% data variables.product.prodname_copilot %} is free to use. See "[AUTOTITLE](/billing/managing-billing-for-github-copilot/about-billing-for-github-copilot)."
* _If you are a verified student, teacher, or maintainer of a popular open source project_, {% data variables.product.prodname_copilot %} is free to use. See "[AUTOTITLE](/copilot/managing-copilot/managing-copilot-as-an-individual-subscriber/getting-free-access-to-copilot-as-a-student-teacher-or-maintainer)."
## 2. Install the {% data variables.product.prodname_copilot_short %} extension for your IDE

View File

@@ -34,7 +34,7 @@ Once you are a verified {% data variables.product.prodname_global_campus %} stud
* Discover student-created repositories from {% data variables.product.prodname_community_exchange %}. For more information, see "[AUTOTITLE](/education/explore-the-benefits-of-teaching-and-learning-with-github-education/github-global-campus-for-students/about-github-community-exchange)."
{% data variables.product.prodname_global_campus %} students also receive the following {% data variables.product.prodname_dotcom %} benefits.
* **{% data variables.product.prodname_copilot %}**: Verified students receive a free subscription for {% data variables.product.prodname_copilot %}. You will be automatically notified about the free subscription when you visit the {% data variables.product.prodname_copilot %} subscription page in your account settings. For more information about subscribing to and using {% data variables.product.prodname_copilot %}, see "[AUTOTITLE](/copilot/managing-copilot/managing-copilot-as-an-individual-subscriber/subscribing-to-copilot-as-an-individual-user)."
* **{% data variables.product.prodname_copilot %}**: Verified students receive a free subscription for {% data variables.product.prodname_copilot %}. See "[AUTOTITLE](/copilot/managing-copilot/managing-copilot-as-an-individual-subscriber/getting-free-access-to-copilot-as-a-student-teacher-or-maintainer)."
* **{% data variables.product.prodname_github_codespaces %}**: {% data reusables.education.student-codespaces-benefit %} For more information on getting started with {% data variables.product.prodname_github_codespaces %}, see "[AUTOTITLE](/codespaces/overview)."
{% note %}

View File

@@ -29,7 +29,7 @@ Before applying for an individual discount, check if your learning community is
* Stay in the know on what the student community is interested in by rewatching recent [Campus TV](https://www.twitch.tv/githubeducation) episodes. Campus TV is created by {% data variables.product.prodname_dotcom %} and student community leaders and can be watched live or on demand.
* Request a {% data variables.product.prodname_dotcom %} swag bag with educational materials and goodies for your students.
A free subscription for {% data variables.product.prodname_copilot %} is available to verified teachers with {% data variables.product.prodname_education %}. You will be automatically notified about the free subscription when you visit the {% data variables.product.prodname_copilot %} subscription page in your account settings. For more information about subscribing to and using {% data variables.product.prodname_copilot %}, see "[AUTOTITLE](/copilot/managing-copilot/managing-copilot-as-an-individual-subscriber/subscribing-to-copilot-as-an-individual-user)" and "[AUTOTITLE](/copilot/about-github-copilot/what-is-github-copilot)."
A free subscription for {% data variables.product.prodname_copilot %} is available to verified teachers with {% data variables.product.prodname_education %}. See "[AUTOTITLE](/copilot/managing-copilot/managing-copilot-as-an-individual-subscriber/getting-free-access-to-copilot-as-a-student-teacher-or-maintainer)."
## Further reading

View File

@@ -35,7 +35,7 @@ topics:
{% ifversion ghec %}
1. Optionally, if your organization or enterprise account uses team synchronization or your enterprise uses {% data variables.product.prodname_emus %}, connect an identity provider group to your team.
* If your enterprise uses {% data variables.product.prodname_emus %}, use the "Identity Provider Groups" drop-down menu, and select a single identity provider group to connect to the new team. For more information, "[AUTOTITLE](/enterprise-cloud@latest/admin/identity-and-access-management/using-enterprise-managed-users-for-iam/managing-team-memberships-with-identity-provider-groups)."
* If your organization or enterprise account uses team synchronization, under "Identity Provider Groups", select the **Select Groups** dropdown menu, and click up to five identity provider groups to connect to the new team. For more information, see "[AUTOTITLE](/organizations/organizing-members-into-teams/synchronizing-a-team-with-an-identity-provider-group)."
* If your organization or enterprise account uses team synchronization, under "Identity Provider Groups," select the **Select Groups** dropdown menu, and click up to five identity provider groups to connect to the new team. For more information, see "[AUTOTITLE](/organizations/organizing-members-into-teams/synchronizing-a-team-with-an-identity-provider-group)."
{% endif %}
{% data reusables.organizations.team_visibility %}
{% data reusables.organizations.team-notifications %}
@@ -66,7 +66,7 @@ You must be a site admin and an organization owner to create a team with LDAP sy
{% data reusables.user-settings.access_org %}
{% data reusables.organizations.new_team %}
{% data reusables.organizations.team_name %}
1. Under "LDAP group", search for an LDAP group's DN to map the team to. If you don't know the DN, type the LDAP group's name. {% data variables.product.prodname_ghe_server %} will search for and autocomplete any matches.
1. Under "LDAP group," search for an LDAP group's DN to map the team to. If you don't know the DN, type the LDAP group's name. {% data variables.product.prodname_ghe_server %} will search for and autocomplete any matches.
{% data reusables.organizations.team_description %}
{% data reusables.organizations.team_visibility %}
{% data reusables.organizations.create-team-choose-parent %}

View File

@@ -40,8 +40,6 @@ All {% data variables.product.prodname_pages %} sites, including sites that are
When you set or change your custom domain in the Pages settings, an automatic DNS check begins. This check determines if your DNS settings are configured to allow {% data variables.product.prodname_dotcom %} to obtain a certificate automatically. If the check is successful, {% data variables.product.prodname_dotcom %} queues a job to request a TLS certificate from [Let's Encrypt](https://letsencrypt.org/). On receiving a valid certificate, {% data variables.product.prodname_dotcom %} automatically uploads it to the servers that handle TLS termination for Pages. When this process completes successfully, a check mark is displayed beside your custom domain name.
Please note that your {% data variables.product.prodname_pages %} site must be publicly available for a Let's Encrypt certificate to be issued. Once the certificate has been issued you may revert the site to private.
The process may take some time. If the process has not completed several minutes after you clicked **Save**, try clicking **Remove** next to your custom domain name. Retype the domain name and click **Save** again. This will cancel and restart the provisioning process.
## Resolving problems with mixed content

View File

@@ -1,5 +0,0 @@
# Reference: ghes#6726, ghes#6731
# Encryption bug in GitHub Enterprise Server Backup Utilities
versions:
ghes: '>=3.7 <=3.9'

View File

@@ -1,4 +1,4 @@
You can define the access that the `GITHUB_TOKEN` will permit by specifying `read`, `write`, or `none` as the value of the available scopes within the `permissions` key.
You can define the access that the `GITHUB_TOKEN` will permit by specifying `read`, `write`, or `none` as the value of the available permissions within the `permissions` key.
```yaml
permissions:
@@ -17,9 +17,9 @@ permissions:
statuses: read|write|none
```
If you specify the access for any of these scopes, all of those that are not specified are set to `none`.
If you specify the access for any of these permissions, all of those that are not specified are set to `none`.
You can use the following syntax to define one of `read-all` or `write-all` access for all of the available scopes:
You can use the following syntax to define one of `read-all` or `write-all` access for all of the available permissions:
```yaml
permissions: read-all
@@ -29,7 +29,7 @@ permissions: read-all
permissions: write-all
```
You can use the following syntax to disable permissions for all of the available scopes:
You can use the following syntax to disable permissions for all of the available permissions:
```yaml
permissions: {}

View File

@@ -1 +1 @@
The `GITHUB_TOKEN` secret is set to an access token for the repository each time a job in a workflow begins. You should set the permissions for this access token in the workflow file to grant read access for the `contents` scope and write access for the `packages` scope. For more information, see "[AUTOTITLE](/actions/security-guides/automatic-token-authentication)."
The `GITHUB_TOKEN` secret is set to an access token for the repository each time a job in a workflow begins. You should set the permissions for this access token in the workflow file to grant read access for the `contents` permission and write access for the `packages` permission. For more information, see "[AUTOTITLE](/actions/security-guides/automatic-token-authentication)."

View File

@@ -1,8 +1,8 @@
For each of the available scopes, shown in the table below, you can assign one of the permissions: `read`, `write`, or `none`. If you specify the access for any of these scopes, all of those that are not specified are set to `none`.
For each of the available permissions, shown in the table below, you can assign one of the access levels: `read`, `write`, or `none`. `write` includes `read`. If you specify the access for any of these permissions, all of those that are not specified are set to `none`.
Available scopes and details of what each allows an action to do:
Available permissions and details of what each allows an action to do:
| Scope | Allows an action using `GITHUB_TOKEN` to |
| Permission | Allows an action using `GITHUB_TOKEN` to |
| --- | --- |
| `actions` | Work with GitHub Actions. For example, `actions: write` permits an action to cancel a workflow run. For more information, see "[AUTOTITLE](/rest/overview/permissions-required-for-github-apps?apiVersion=2022-11-28#repository-permissions-for-actions)." |
{% ifversion artifact-attestations %}| `attestations` | Work with artifact attestations. For example, `attestations: write` permits an action to generate an artifact attestation for a build. For more information, see "[AUTOTITLE](/actions/security-guides/using-artifact-attestations-to-establish-provenance-for-builds)" |{% endif %}

View File

@@ -1,4 +1,4 @@
This example shows permissions being set for the `GITHUB_TOKEN` that will only apply to the job named `stale`. Write access is granted for the `issues` and `pull-requests` scopes. All other scopes will have no access.
This example shows permissions being set for the `GITHUB_TOKEN` that will only apply to the job named `stale`. Write access is granted for the `issues` and `pull-requests` permissions. All other permissions will have no access.
```yaml
jobs:

View File

@@ -1 +1 @@
1. Under "Workflow permissions", choose whether you want the `GITHUB_TOKEN` to have read and write access for all scopes (the permissive setting), or just read access for the `contents` {% ifversion actions-default-workflow-permissions-restrictive %}and `packages` scopes{% else %}scope{% endif %} (the restricted setting).
1. Under "Workflow permissions", choose whether you want the `GITHUB_TOKEN` to have read and write access for all permissions (the permissive setting), or just read access for the `contents` {% ifversion actions-default-workflow-permissions-restrictive %}and `packages` permissions{% else %}permission{% endif %} (the restricted setting).

View File

@@ -1924,6 +1924,21 @@
"description": "A project board was closed.",
"docs_reference_links": "/issues/organizing-your-work-with-project-boards/managing-project-boards/closing-a-project-board"
},
{
"action": "project_collaborator.add",
"description": "A collaborator was added to a project.",
"docs_reference_links": "N/A"
},
{
"action": "project_collaborator.remove",
"description": "A collaborator was removed from a project.",
"docs_reference_links": "N/A"
},
{
"action": "project_collaborator.update",
"description": "A project collaborator's permission level was changed.",
"docs_reference_links": "N/A"
},
{
"action": "project.create",
"description": "A project board was created.",
@@ -1989,6 +2004,16 @@
"description": "A view was deleted in a project board.",
"docs_reference_links": "/issues/planning-and-tracking-with-projects/customizing-views-in-your-project/managing-your-views"
},
{
"action": "project.visibility_private",
"description": "A project's visibility was changed from public to private.",
"docs_reference_links": "N/A"
},
{
"action": "project.visibility_public",
"description": "A project's visibility was changed from private to public.",
"docs_reference_links": "N/A"
},
{
"action": "protected_branch.authorized_users_teams",
"description": "The users, teams, or integrations allowed to bypass a branch protection were changed.",

View File

@@ -854,6 +854,21 @@
"description": "A project board was closed.",
"docs_reference_links": "/issues/organizing-your-work-with-project-boards/managing-project-boards/closing-a-project-board"
},
{
"action": "project_collaborator.add",
"description": "A collaborator was added to a project.",
"docs_reference_links": "N/A"
},
{
"action": "project_collaborator.remove",
"description": "A collaborator was removed from a project.",
"docs_reference_links": "N/A"
},
{
"action": "project_collaborator.update",
"description": "A project collaborator's permission level was changed.",
"docs_reference_links": "N/A"
},
{
"action": "project.create",
"description": "A project board was created.",
@@ -919,6 +934,16 @@
"description": "A view was deleted in a project board.",
"docs_reference_links": "/issues/planning-and-tracking-with-projects/customizing-views-in-your-project/managing-your-views"
},
{
"action": "project.visibility_private",
"description": "A project's visibility was changed from public to private.",
"docs_reference_links": "N/A"
},
{
"action": "project.visibility_public",
"description": "A project's visibility was changed from private to public.",
"docs_reference_links": "N/A"
},
{
"action": "protected_branch.update_merge_queue_enforcement_level",
"description": "Enforcement of the merge queue was modified for a branch.",

View File

@@ -2669,6 +2669,21 @@
"description": "A project board was closed.",
"docs_reference_links": "/issues/organizing-your-work-with-project-boards/managing-project-boards/closing-a-project-board"
},
{
"action": "project_collaborator.add",
"description": "A collaborator was added to a project.",
"docs_reference_links": "N/A"
},
{
"action": "project_collaborator.remove",
"description": "A collaborator was removed from a project.",
"docs_reference_links": "N/A"
},
{
"action": "project_collaborator.update",
"description": "A project collaborator's permission level was changed.",
"docs_reference_links": "N/A"
},
{
"action": "project.create",
"description": "A project board was created.",
@@ -2734,6 +2749,16 @@
"description": "A view was deleted in a project board.",
"docs_reference_links": "/issues/planning-and-tracking-with-projects/customizing-views-in-your-project/managing-your-views"
},
{
"action": "project.visibility_private",
"description": "A project's visibility was changed from public to private.",
"docs_reference_links": "N/A"
},
{
"action": "project.visibility_public",
"description": "A project's visibility was changed from private to public.",
"docs_reference_links": "N/A"
},
{
"action": "protected_branch.authorized_users_teams",
"description": "The users, teams, or integrations allowed to bypass a branch protection were changed.",

View File

@@ -1924,6 +1924,21 @@
"description": "A project board was closed.",
"docs_reference_links": "/issues/organizing-your-work-with-project-boards/managing-project-boards/closing-a-project-board"
},
{
"action": "project_collaborator.add",
"description": "A collaborator was added to a project.",
"docs_reference_links": "N/A"
},
{
"action": "project_collaborator.remove",
"description": "A collaborator was removed from a project.",
"docs_reference_links": "N/A"
},
{
"action": "project_collaborator.update",
"description": "A project collaborator's permission level was changed.",
"docs_reference_links": "N/A"
},
{
"action": "project.create",
"description": "A project board was created.",
@@ -1989,6 +2004,16 @@
"description": "A view was deleted in a project board.",
"docs_reference_links": "/issues/planning-and-tracking-with-projects/customizing-views-in-your-project/managing-your-views"
},
{
"action": "project.visibility_private",
"description": "A project's visibility was changed from public to private.",
"docs_reference_links": "N/A"
},
{
"action": "project.visibility_public",
"description": "A project's visibility was changed from private to public.",
"docs_reference_links": "N/A"
},
{
"action": "protected_branch.authorized_users_teams",
"description": "The users, teams, or integrations allowed to bypass a branch protection were changed.",

View File

@@ -854,6 +854,21 @@
"description": "A project board was closed.",
"docs_reference_links": "/issues/organizing-your-work-with-project-boards/managing-project-boards/closing-a-project-board"
},
{
"action": "project_collaborator.add",
"description": "A collaborator was added to a project.",
"docs_reference_links": "N/A"
},
{
"action": "project_collaborator.remove",
"description": "A collaborator was removed from a project.",
"docs_reference_links": "N/A"
},
{
"action": "project_collaborator.update",
"description": "A project collaborator's permission level was changed.",
"docs_reference_links": "N/A"
},
{
"action": "project.create",
"description": "A project board was created.",
@@ -919,6 +934,16 @@
"description": "A view was deleted in a project board.",
"docs_reference_links": "/issues/planning-and-tracking-with-projects/customizing-views-in-your-project/managing-your-views"
},
{
"action": "project.visibility_private",
"description": "A project's visibility was changed from public to private.",
"docs_reference_links": "N/A"
},
{
"action": "project.visibility_public",
"description": "A project's visibility was changed from private to public.",
"docs_reference_links": "N/A"
},
{
"action": "protected_branch.update_merge_queue_enforcement_level",
"description": "Enforcement of the merge queue was modified for a branch.",

View File

@@ -799,6 +799,16 @@
"description": "A user was removed from an external group.",
"docs_reference_links": "N/A"
},
{
"action": "external_group.scim_api_failure",
"description": "Failed external group SCIM API request.",
"docs_reference_links": "/rest/scim/scim"
},
{
"action": "external_group.scim_api_success",
"description": "Successful external group SCIM API request. Excludes GET API requests.",
"docs_reference_links": "/rest/scim/scim"
},
{
"action": "external_group.unlink",
"description": "An external group was unlinked to a GitHub team.",
@@ -824,6 +834,16 @@
"description": "N/A",
"docs_reference_links": "N/A"
},
{
"action": "external_identity.scim_api_failure",
"description": "Failed external identity SCIM API request.",
"docs_reference_links": "/rest/scim/scim"
},
{
"action": "external_identity.scim_api_success",
"description": "Successful external identity SCIM API request. Excludes GET API requests.",
"docs_reference_links": "/rest/scim/scim"
},
{
"action": "external_identity.update",
"description": "N/A",

View File

@@ -3,5 +3,5 @@
"apiOnlyEvents": "This event is not available in the web interface, only via the REST API, audit log streaming, or JSON/CSV exports.",
"apiRequestEvent": "This event is only available via audit log streaming."
},
"sha": "3ac2d4c716cc68acced9b36bcbca354f3bc44acd"
"sha": "fc5e91e9835961526f47763279ea4a3aecff8986"
}

View File

@@ -1,12 +1,12 @@
# GraphQL scripts
A [scheduled workflow](../.github/workflows/sync-graphql.yml) runs the following
A [scheduled workflow](../../../.github/workflows/sync-graphql.yml) runs the following
scripts on a daily basis:
```
src/graphql/scripts/sync.js
```
These scripts update the [JSON data files](src/graphql/data) used to
render GraphQL docs. See the [`src/graphql/README`](src/graphql/README.md)
These scripts update the [JSON data files](../../../src/graphql/data) used to
render GraphQL docs. See the [`src/graphql/README`](../../../src/graphql/README.md)
for more info.
**Note**: The changelog script pulls content from the internal-developer repo. It relies on graphql-docs automation running daily to update the changelog files in internal-developer.

View File

@@ -6,9 +6,6 @@
"ghec": [
"2022-11-28"
],
"ghes-3.9": [
"2022-11-28"
],
"ghes-3.10": [
"2022-11-28"
],

View File

@@ -1,3 +1,3 @@
{
"sha": "00fae02249073354067331da2dd7bea361de446a"
"sha": "8074aca243db70cf804ed7e5315e52f7a78b244a"
}

View File

@@ -12,7 +12,7 @@ export const dates = JSON.parse(await fs.readFile('src/ghes-releases/lib/enterpr
export const next = '3.14'
export const nextNext = '3.15'
export const supported = ['3.13', '3.12', '3.11', '3.10', '3.9']
export const supported = ['3.13', '3.12', '3.11', '3.10']
// Edit this to `null` when it's no longer the release candidate
export const releaseCandidate = null
@@ -41,6 +41,7 @@ function isValidNext(v1, v2) {
// array and you should never need to touch the `deprecated` array
// on the line just below.
export const deprecatedWithFunctionalRedirects = [
'3.9',
'3.8',
'3.7',
'3.6',

View File

@@ -1,28 +1,51 @@
#!/usr/bin/env node
import { execSync } from 'child_process'
import yaml from 'js-yaml'
const slotName = process.env.SLOT_NAME
const appServiceName = process.env.APP_SERVICE_NAME
const resourceGroupName = process.env.RESOURCE_GROUP_NAME
const url = process.env.CANARY_BUILD_URL
const expectedSHA = process.env.EXPECTED_SHA
const waitDuration = parseInt(process.env.CHECK_INTERVAL, 10) || 10000
const curlConnectTimeoutSeconds = parseInt(process.env.CURL_CONNECT_TIMEOUT_SECONDS || '5', 10)
const maxWaitingTimeSeconds = parseInt(process.MAX_WAITING_TIME || 10 * 60 * 1000, 10)
function getBuildSha() {
console.log(`Fetching ${url}`)
function getBuildSha(slot, appService, resourceGroup) {
console.log('Getting Canary App Service Docker config')
const t0 = Date.now()
let config
try {
const o = execSync(`curl --connect-timeout ${curlConnectTimeoutSeconds} ${url}`, {
encoding: 'utf8',
})
console.log(`Fetched ${url}. Took ${Date.now() - t0}ms`)
return o.toString().trim()
config = JSON.parse(
execSync(
`az webapp config container show --show-multicontainer-config --slot ${slot} -n ${appService} -g ${resourceGroup}`,
{ encoding: 'utf8' },
),
)
} catch (err) {
console.log(`Error fetching build sha from ${url}`)
console.log('Error getting the Canary App Service Slot config')
return null
}
// The config is an array of objects. One of the objects
// contains a copy of the Docker compose configuration file
// pushed to the slot (see src/workflows/docker-compose.prod.tmpl.yaml).
// The value key contains the stringified YAML file, so we
// need to parse it to JSON to extract the image sha.
const dockerComposeYaml = config.find(
(obj) => obj.name === 'DOCKER_CUSTOM_IMAGE_NAME_DECODED',
).value
let dockerComposeConfig
try {
dockerComposeConfig = yaml.load(dockerComposeYaml)
} catch (err) {
console.log('Error loading the YAML configuration data from the Canary App Service Slot config')
return null
}
// The image key looks like this:
// `ghdocsprod.azurecr.io/github/docs-internal:d7ee70f225a0f10f293ffdd2d43931acf02c6751`
const sha = dockerComposeConfig.services['ghdocs-prod'].image.split(':')[1]
console.log(`Fetched Canary App Service Slot configuration}. Took ${Date.now() - t0}ms`)
return sha
}
function getStatesForSlot(slot, appService, resourceGroup) {
@@ -38,7 +61,7 @@ let attempts = 0
async function doCheck() {
attempts++
console.log('Attempt:', attempts)
const buildSha = getBuildSha()
const buildSha = getBuildSha(slotName, appServiceName, resourceGroupName)
console.log('Canary build SHA:', buildSha || '*unknown/failed*', 'Expected SHA:', expectedSHA)
const states = getStatesForSlot(slotName, appServiceName, resourceGroupName)