1
0
mirror of synced 2026-01-02 12:04:38 -05:00

Merge branch 'main' into bump-desktop-macos-support

This commit is contained in:
Ramya Parimi
2021-09-08 06:59:09 -05:00
committed by GitHub
94 changed files with 358 additions and 244 deletions

View File

@@ -16,6 +16,7 @@ jobs:
runs-on: ubuntu-latest
env:
GITHUB_TOKEN: ${{ secrets.DOCUBOT_FR_PROJECT_BOARD_WORKFLOWS_REPO_ORG_READ_SCOPES }}
FIRST_RESPONDER_PROJECT: Docs content first responder
REPORT_AUTHOR: docubot
REPORT_LABEL: broken link report
REPORT_REPOSITORY: github/docs-content
@@ -80,19 +81,6 @@ jobs:
gh issue comment ${{ env.NEW_REPORT_URL }} --body "⬅️ [Previous report]($previous_report_url)"
# Link to the newer report from any older report that is still open,
# then close the older report.
for issue_url in $(gh list-reports \
--search 'no:assignee' \
--json url \
--jq '.[].url'); do
if [ "$issue_url" != "${{ env.NEW_REPORT_URL }}" ]; then
gh issue comment $issue_url --body "➡️ [Newer report](${{ env.NEW_REPORT_URL }})"
gh issue close $issue_url
fi
done
# If an old report is open and assigned to someone, link to the newer
# report without closing the old report.
@@ -103,3 +91,18 @@ jobs:
gh issue comment $issue_url --body "➡️ [Newer report](${{ env.NEW_REPORT_URL }})"
fi
done
# Link to the newer report from any older report that is still open,
# then close the older report and remove it from the first responder's
# project board.
for issue_url in $(gh list-reports \
--search 'no:assignee' \
--json url \
--jq '.[].url'); do
if [ "$issue_url" != "${{ env.NEW_REPORT_URL }}" ]; then
gh issue comment $issue_url --body "➡️ [Newer report](${{ env.NEW_REPORT_URL }})"
gh issue close $issue_url
gh issue edit $issue_url --remove-project "${{ env.FIRST_RESPONDER_PROJECT }}"
fi
done

View File

@@ -0,0 +1,29 @@
name: Close issue/PR on adding invalid label
on:
issues:
types: [labeled]
pull_request:
types: [labeled]
permissions:
issues: write
pull-requests: write
jobs:
close-on-adding-invalid-label:
if: github.repository == 'github/docs' && github.event.label.name == 'invalid'
runs-on: ubuntu-latest
steps:
- name: Close issue
if: ${{ github.event_name == 'issues' }}
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
run: gh issue close ${{ github.event.issue.html_url }}
- name: Close PR
if: ${{ github.event_name == 'pull_request' }}
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
run: gh pr close ${{ github.event.pull_request.html_url }}

View File

@@ -12,8 +12,6 @@ on:
- completed
env:
EARLY_ACCESS_SCRIPT_PATH: script/early-access/clone-for-build.js
EARLY_ACCESS_SUPPORT_FILES: script/package.json
# In this specific workflow relationship, the `github.event.workflow_run.pull_requests`
# array will always contain only 1 item! Specifically, it will contain the PR associated
# with the `github.event.workflow_run.head_branch` that triggered the preceding
@@ -29,7 +27,7 @@ jobs:
startsWith(github.event.workflow_run.head_branch, 'docker-')
}}
runs-on: ubuntu-latest
timeout-minutes: 5
timeout-minutes: 20
concurrency:
group: staging_docker_${{ github.event.workflow_run.head_branch }}
cancel-in-progress: true
@@ -43,6 +41,11 @@ jobs:
GITHUB_EVENT_CONTEXT: ${{ toJSON(github.event) }}
run: echo "$GITHUB_EVENT_CONTEXT"
- name: Check out repo's default branch
uses: actions/checkout@5a4ac9002d0be2fb38bd78e4b4dbde5606d7042f
with:
persist-credentials: 'false'
- name: Download build artifact
uses: dawidd6/action-download-artifact@b9571484721e8187f1fd08147b497129f8972c74
with:
@@ -69,13 +72,6 @@ jobs:
node-version: 16.x
cache: npm
- if: ${{ github.repository == 'github/docs-internal' }}
name: Download the script to clone early access
uses: Bhacaz/checkout-files@c8f01756bfd894ba746d5bf48205e19000b0742b
with:
files: ${{ env.EARLY_ACCESS_SCRIPT_PATH }} ${{ env.EARLY_ACCESS_SUPPORT_FILES }}
token: ${{ secrets.GITHUB_TOKEN }}
# Add any dependencies that are needed for this workflow below
- if: ${{ github.repository == 'github/docs-internal' }}
name: Install temporary development-only dependencies
@@ -83,67 +79,20 @@ jobs:
- if: ${{ github.repository == 'github/docs-internal' }}
name: Clone early access
run: node ${{ env.EARLY_ACCESS_SCRIPT_PATH }}
run: node script/early-access/clone-for-build.js
env:
DOCUBOT_REPO_PAT: ${{ secrets.DOCUBOT_REPO_PAT }}
GIT_BRANCH: ${{ github.event.workflow_run.head_branch }}
# Remove any dependencies installed for this workflow below
# - if: ${{ github.repository == 'github/docs-internal' }}
# name: Remove development-only dependencies
# run: npm prune --production
- if: ${{ github.repository == 'github/docs-internal' }}
name: Delete the script directory after cloning early access
run: rm -rf script/
# - name: Create a gzipped archive
# run: |
# touch app.tar.gz
# tar --exclude=app.tar.gz -czf app.tar.gz ./
# - name: Install Heroku client development-only dependency
# run: npm install --no-save heroku-client
# - name: Create a Heroku build source
# id: build-source
# uses: actions/github-script@2b34a689ec86a68d8ab9478298f91d5401337b7d
# env:
# HEROKU_API_TOKEN: ${{ secrets.HEROKU_API_TOKEN }}
# with:
# script: |
# const { owner, repo } = context.repo
# if (owner !== 'github') {
# throw new Error(`Repository owner must be 'github' but was: ${owner}`)
# }
# if (repo !== 'docs-internal' && repo !== 'docs') {
# throw new Error(`Repository name must be either 'docs-internal' or 'docs' but was: ${repo}`)
# }
# const Heroku = require('heroku-client')
# const heroku = new Heroku({ token: process.env.HEROKU_API_TOKEN })
# const { source_blob: sourceBlob } = await heroku.post('/sources')
# const { put_url: uploadUrl, get_url: downloadUrl } = sourceBlob
# core.setOutput('upload_url', uploadUrl)
# core.setOutput('download_url', downloadUrl)
# # See: https://devcenter.heroku.com/articles/build-and-release-using-the-api#sources-endpoint
# - name: Upload to the Heroku build source
# run: |
# curl '${{ steps.build-source.outputs.upload_url }}' \
# -X PUT \
# -H 'Content-Type:' \
# --data-binary @app.tar.gz
- name: Install one-off development-only dependencies
run: npm install --no-save --include=optional esm
- name: Create app
id: create-app
uses: actions/github-script@2b34a689ec86a68d8ab9478298f91d5401337b7d
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
HEROKU_API_TOKEN: ${{ secrets.HEROKU_API_TOKEN }}
with:
script: |
const esm = require('esm')
@@ -151,6 +100,7 @@ jobs:
const { default: createApp } = require('./script/deployment/create-app.js')
const { default: parsePrUrl } = require('./script/deployment/parse-pr-url.js')
const { default: getOctokit } = require('./script/helpers/github')
// This helper uses the `GITHUB_TOKEN` implicitly!
// We're using our usual version of Octokit vs. the provided `github`
@@ -160,7 +110,7 @@ jobs:
try {
const { owner, repo, pullNumber } = parsePrUrl(process.env.PR_URL)
if (!owner || !repo || !pullNumber) {
throw new Error(`'pullRequestUrl' input must match URL format 'https://github.com/github/(docs|docs-internal)/pull/123' but was '${PR_URL}'`)
throw new Error(`'pullRequestUrl' input must match URL format 'https://github.com/github/(docs|docs-internal)/pull/123' but was '${process.env.PR_URL}'`)
}
const { data: pullRequest } = await octokit.pulls.get({
@@ -178,7 +128,7 @@ jobs:
- name: Build, tag, push, and release the Docker image
env:
HEROKU_API_KEY: ${{ secrets.HEROKU_TOKEN }}
HEROKU_API_KEY: ${{ secrets.HEROKU_API_TOKEN }}
run: |
docker image build --target production_early_access -t registry.heroku.com/${{ steps.create-app.outputs.app_name}}/web .
heroku container:login

Binary file not shown.

Before

Width:  |  Height:  |  Size: 15 KiB

After

Width:  |  Height:  |  Size: 26 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 19 KiB

After

Width:  |  Height:  |  Size: 31 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 6.0 KiB

After

Width:  |  Height:  |  Size: 10 KiB

View File

@@ -19,9 +19,7 @@ shortTitle: Invite collaborators
---
Repositories owned by an organization can grant more granular access. For more information, see "[Access permissions on {% data variables.product.product_name %}](/articles/access-permissions-on-github)."
{% ifversion fpt or ghes or ghae %}
{% data reusables.organizations.org-invite-expiration %}
{% endif %}
{% ifversion fpt %}

View File

@@ -148,6 +148,7 @@ codeload.github.com
pkg-cache.githubusercontent.com
pkg-containers.githubusercontent.com
pkg-containers-az.githubusercontent.com
*.blob.core.windows.net
```
If you use an IP address allow list for your {% data variables.product.prodname_dotcom %} organization or enterprise account, you must add your self-hosted runner's IP address to the allow list. For more information, see "[Managing allowed IP addresses for your organization](/organizations/keeping-your-organization-secure/managing-allowed-ip-addresses-for-your-organization#using-github-actions-with-an-ip-allow-list)" or "[Enforcing security settings in your enterprise account](/github/setting-up-and-managing-your-enterprise/enforcing-security-settings-in-your-enterprise-account#using-github-actions-with-an-ip-allow-list)".

View File

@@ -3,6 +3,7 @@ title: GitHub Actions Documentation
shortTitle: GitHub Actions
intro: 'Automate, customize, and execute your software development workflows right in your repository with {% data variables.product.prodname_actions %}. You can discover, create, and share actions to perform any job you''d like, including CI/CD, and combine actions in a completely customized workflow.'
introLinks:
overview: /actions/learn-github-actions/understanding-github-actions
quickstart: /actions/quickstart
reference: /actions/reference
featuredLinks:

View File

@@ -30,7 +30,7 @@ versions:
ghes: '*'
ghae: '*'
children:
- /introduction-to-github-actions
- /understanding-github-actions
- /finding-and-customizing-actions
- /essential-features-of-github-actions
- /managing-complex-workflows

View File

@@ -1,11 +1,12 @@
---
title: Introduction to GitHub Actions
shortTitle: Introduction to GitHub Actions
intro: 'Learn about the core concepts and various components of {% data variables.product.prodname_actions %}, and see an example that shows you how to add automation to your repository.'
title: Understanding GitHub Actions
shortTitle: Understanding GitHub Actions
intro: 'Learn the basics of {% data variables.product.prodname_actions %}, including core concepts and essential terminology.'
redirect_from:
- /github/automating-your-workflow-with-github-actions/core-concepts-for-github-actions
- /actions/automating-your-workflow-with-github-actions/core-concepts-for-github-actions
- /actions/getting-started-with-github-actions/core-concepts-for-github-actions
- /actions/learn-github-actions/introduction-to-github-actions
versions:
fpt: '*'
ghes: '*'

View File

@@ -170,27 +170,6 @@ You can configure your workflow to run when webhook events are generated on {% d
Not all webhook events trigger workflows. For the complete list of available webhook events and their payloads, see "[Webhook events and payloads](/developers/webhooks-and-events/webhook-events-and-payloads)."
{% ifversion fpt or ghes > 3.2 or ghae-next %}
### `branch_protection_rule`
Runs your workflow anytime the `branch_protection_rule` event occurs. {% data reusables.developer-site.multiple_activity_types %} For information about the GraphQL API, see "[BranchProtectionRule](/graphql/reference/objects#branchprotectionrule)."
{% data reusables.github-actions.branch-requirement %}
| Webhook event payload | Activity types | `GITHUB_SHA` | `GITHUB_REF` |
| --------------------- | -------------- | ------------ | -------------|
| [`branch_protection_rule`](/webhooks/event-payloads/#branch_protection_rule) | - `created`<br/>- `edited`<br/>- `deleted` | Last commit on default branch | Default branch |
{% data reusables.developer-site.limit_workflow_to_activity_types %}
For example, you can run a workflow when a branch protection rule has been `created` or `deleted`.
```yaml
on:
branch_protection_rule:
types: [created, deleted]
```
{% endif %}
### `check_run`
Runs your workflow anytime the `check_run` event occurs. {% data reusables.developer-site.multiple_activity_types %} For information about the REST API, see "[Check runs](/rest/reference/checks#runs)."

View File

@@ -64,13 +64,20 @@ More resources may be required depending on your usage, such as user activity an
```
2. Copy the included `backup.config-example` file to `backup.config` and open in an editor.
3. Set the `GHE_HOSTNAME` value to your primary {% data variables.product.prodname_ghe_server %} instance's hostname or IP address.
{% note %}
**Note:** If your {% data variables.product.product_location %} is deployed as a cluster or in a high availability configuration using a load balancer, the `GHE_HOSTNAME` can be the load balancer hostname, as long as it allows SSH access (on port 122) to {% data variables.product.product_location %}.
{% endnote %}
4. Set the `GHE_DATA_DIR` value to the filesystem location where you want to store backup snapshots.
5. Open your primary instance's settings page at `https://HOSTNAME/setup/settings` and add the backup host's SSH key to the list of authorized SSH keys. For more information, see [Accessing the administrative shell (SSH)](/enterprise/{{ currentVersion }}/admin/guides/installation/accessing-the-administrative-shell-ssh/).
5. Verify SSH connectivity with {% data variables.product.product_location %} with the `ghe-host-check` command.
6. Verify SSH connectivity with {% data variables.product.product_location %} with the `ghe-host-check` command.
```shell
$ bin/ghe-host-check
```
6. To create an initial full backup, run the `ghe-backup` command.
7. To create an initial full backup, run the `ghe-backup` command.
```shell
$ bin/ghe-backup
```
@@ -95,6 +102,14 @@ In the event of prolonged outage or catastrophic event at the primary site, you
{% endnote %}
{% endif %}
{% note %}
**Note:** When performing backup restores to {% data variables.product.product_location %}, the same version supportability rules apply. You can only restore data from at most two feature releases behind.
For example, if you take a backup from GHES 3.0.x, you can restore it into a GHES 3.2.x instance. But, you cannot restore data from a backup of GHES 2.22.x onto 3.2.x, because that would be three jumps between versions (2.22 > 3.0 > 3.1 > 3.2). You would first need to restore onto a 3.1.x instance, and then upgrade to 3.2.x.
{% endnote %}
To restore {% data variables.product.product_location %} from the last successful snapshot, use the `ghe-restore` command. You should see output similar to this:
```shell

View File

@@ -20,7 +20,7 @@ For more information on products with per-user pricing, see "[{% data variables.
## How many licenses do I need for my organization?
Organization owners and members each fill a license. If you've sent a pending invitation to a prospective organization member, the invitation will fill a license. {% data reusables.organizations.org-invite-expiration %}
Organization owners and members each fill a license. If you've sent a pending invitation to a prospective organization member, the invitation will fill a license. {% data reusables.organizations.org-invite-scim %}
Outside collaborators and bot accounts will count toward your organization's total of paid licenses if they are given access to a private repository.

View File

@@ -24,8 +24,12 @@ When your GitHub App acts on behalf of a user, it performs user-to-server reques
To authorize users for standard apps that run in the browser, use the [web application flow](#web-application-flow).
{% ifversion fpt or ghae or ghes > 3.0 %}
To authorize users for headless apps without direct access to the browser, such as CLI tools or Git credential managers, use the [device flow](#device-flow). The device flow uses the OAuth 2.0 [Device Authorization Grant](https://tools.ietf.org/html/rfc8628).
{% endif %}
## Web application flow
Using the web application flow, the process to identify users on your site is:
@@ -112,20 +116,22 @@ For example, in curl you can set the Authorization header like this:
curl -H "Authorization: token OAUTH-TOKEN" {% data variables.product.api_url_pre %}/user
```
{% ifversion fpt or ghae or ghes > 3.0 %}
## Device flow
{% ifversion ghes < 3.1 %}
{% note %}
**Note:** The device flow is in public beta and subject to change.
{% endnote %}
{% endif %}
The device flow allows you to authorize users for a headless app, such as a CLI tool or Git credential manager.
For more information about authorizing users using the device flow, see "[Authorizing OAuth Apps](/developers/apps/authorizing-oauth-apps#device-flow)".
{% endif %}
## Check which installation's resources a user can access

View File

@@ -22,8 +22,8 @@ If you want to skip authorizing your app in the standard way, such as when testi
To authorize your OAuth app, consider which authorization flow best fits your app.
- [web application flow](#web-application-flow): Used to authorize users for standard OAuth apps that run in the browser. (The [implicit grant type](https://tools.ietf.org/html/rfc6749#section-4.2) is not supported.)
- [device flow](#device-flow): Used for headless apps, such as CLI tools.
- [web application flow](#web-application-flow): Used to authorize users for standard OAuth apps that run in the browser. (The [implicit grant type](https://tools.ietf.org/html/rfc6749#section-4.2) is not supported.){% ifversion fpt or ghae or ghes > 3.0 %}
- [device flow](#device-flow): Used for headless apps, such as CLI tools.{% endif %}
## Web application flow
@@ -105,15 +105,15 @@ For example, in curl you can set the Authorization header like this:
curl -H "Authorization: token OAUTH-TOKEN" {% data variables.product.api_url_pre %}/user
```
{% ifversion fpt or ghae or ghes > 3.0 %}
## Device flow
{% ifversion ghes < 3.1 %}
{% note %}
**Note:** The device flow is in public beta and subject to change.
{% endnote %}
{% endif %}
The device flow allows you to authorize users for a headless app, such as a CLI tool or Git credential manager.
@@ -224,6 +224,8 @@ If you make more than one access token request (`POST {% data variables.product.
For more information, see the "[OAuth 2.0 Device Authorization Grant](https://tools.ietf.org/html/rfc8628#section-3.5)."
{% endif %}
## Non-Web application flow
Non-web authentication is available for limited situations like testing. If you need to, you can use [Basic Authentication](/rest/overview/other-authentication-methods#basic-authentication) to create a personal access token using your [Personal access tokens settings page](/articles/creating-an-access-token-for-command-line-use). This technique enables the user to revoke access at any time.

View File

@@ -89,6 +89,14 @@ For pull requests, you can also use search to:
- Filter pull requests by the team requested for review: `state:open type:pr team-review-requested:github/atom`{% ifversion fpt or ghes or ghae %}
- Filter for pull requests that are linked to an issue that the pull request may close: `linked:issue`{% endif %}
{% note %}
**Note:** {% data reusables.pull_requests.large-search-workaround %} You can limit your search with the `org:`, `user:`, or `repo:` qualifiers. For more information, see "[Searching issues and pull requests](/github/searching-for-information-on-github/searching-on-github/searching-issues-and-pull-requests#search-within-a-users-or-organizations-repositories)."
{% endnote %}
## Further reading
- "[Searching issues and pull requests](/articles/searching-issues)"

View File

@@ -43,8 +43,8 @@ You can integrate your {% data variables.product.product_name %} personal accoun
### Slack and {% data variables.product.product_name %} integration
You can integrate Slack with your personal or organization account to subscribe for notifications, close or open issues, and provide rich references to issues and pull requests without leaving Slack. For more information, visit the [Slack integration app](https://github.com/marketplace/slack-github) in the marketplace.
You can subscribe to your repositories or organizations and get realtime updates about issues, pull requests, commits, releases, deployment reviews and deployment statuses. You can also perform activities like close or open issues, and provide rich references to issues and pull requests without leaving Slack. For more information, visit the [Slack integration app](https://github.com/marketplace/slack-github) in the marketplace.
### Microsoft Teams and {% data variables.product.product_name %} integration
You can integrate Microsoft Teams with your personal or organization account to access information about {% data variables.product.product_name %} alongside wider team communication. When you integrate Microsoft Teams with {% data variables.product.product_name %}, you can subscribe for notifications, close or open issues, and provide rich references to issues and pull requests without leaving Microsoft Teams. For more information, visit the [Microsoft Teams integration app](https://appsource.microsoft.com/en-us/product/office/WA200002077) in Microsoft AppSource.
You can subscribe to your repositories or organizations and get realtime updates about issues, pull requests, commits, deployment reviews and deployment statuses. You can also perform activities like close or open issues, comment on your issues and pull requests, and provide rich references to issues and pull requests without leaving Microsoft Teams. For more information, visit the [Microsoft Teams integration app](https://appsource.microsoft.com/en-us/product/office/WA200002077) in Microsoft AppSource.

View File

@@ -184,6 +184,17 @@ You can search for repositories that have a minimum number of issues labeled `he
| `good-first-issues:>n` | [**good-first-issues:&gt;2 javascript**](https://github.com/search?utf8=%E2%9C%93&q=javascript+good-first-issues%3A%3E2&type=) matches repositories with more than two issues labeled `good-first-issue` and that contain the word "javascript."
| `help-wanted-issues:>n`|[**help-wanted-issues:&gt;4 react**](https://github.com/search?utf8=%E2%9C%93&q=react+help-wanted-issues%3A%3E4&type=) matches repositories with more than four issues labeled `help-wanted` and that contain the word "React."
## Search based on ability to sponsor
You can search for repositories whose owners can be sponsored on {% data variables.product.prodname_sponsors %} with the `is:sponsorable` qualifier. For more information, see "[About {% data variables.product.prodname_sponsors %}](/sponsors/getting-started-with-github-sponsors/about-github-sponsors)."
You can search for repositories that have a funding file using the `has:funding-file` qualifier. For more information, see "[About FUNDING files](/github/administering-a-repository/managing-repository-settings/displaying-a-sponsor-button-in-your-repository#about-funding-files)."
| Qualifier | Example
| ------------- | -------------
| `is:sponsorable` | [**is:sponsorable**](https://github.com/search?q=is%3Asponsorable&type=Repositories) matches repositories whose owners have a {% data variables.product.prodname_sponsors %} profile.
| `has:funding-file` | [**has:funding-file**](https://github.com/search?q=has%3Afunding-file&type=Repositories) matches repositories that have a FUNDING.yml file.
{% endif %}
## Further reading

View File

@@ -50,12 +50,17 @@ With the `in` qualifier you can restrict your search to the title, body, comment
To search issues and pull requests in all repositories owned by a certain user or organization, you can use the `user` or `org` qualifier. To search issues and pull requests in a specific repository, you can use the `repo` qualifier.
{% data reusables.pull_requests.large-search-workaround %}
| Qualifier | Example
| ------------- | -------------
| <code>user:<em>USERNAME</em></code> | [**user:defunkt ubuntu**](https://github.com/search?q=user%3Adefunkt+ubuntu&type=Issues) matches issues with the word "ubuntu" from repositories owned by @defunkt.
| <code>org:<em>ORGNAME</em></code> | [**org:github**](https://github.com/search?q=org%3Agithub&type=Issues&utf8=%E2%9C%93) matches issues in repositories owned by the GitHub organization.
| <code>repo:<em>USERNAME/REPOSITORY</em></code> | [**repo:mozilla/shumway created:<2012-03-01**](https://github.com/search?q=repo%3Amozilla%2Fshumway+created%3A%3C2012-03-01&type=Issues) matches issues from @mozilla's shumway project that were created before March 2012.
## Search by open or closed state
You can filter issues and pull requests based on whether they're open or closed using the `state` or `is` qualifier.

View File

@@ -87,6 +87,18 @@ You can filter users based on the number of followers that they have, using the
| <code>followers:<em>n</em></code> | [**followers:>=1000**](https://github.com/search?q=followers%3A%3E%3D1000&type=Users) matches users with 1,000 or more followers.
| | [**sparkle followers:1..10**](https://github.com/search?q=sparkle+followers%3A1..10&type=Users) matches users with between 1 and 10 followers, with the word "sparkle" in their name.
{% ifversion fpt %}
## Search based on ability to sponsor
You can search for users and organizations who can be sponsored on {% data variables.product.prodname_sponsors %} with the `is:sponsorable` qualifier. For more information, see "[About {% data variables.product.prodname_sponsors %}](/sponsors/getting-started-with-github-sponsors/about-github-sponsors)."
| Qualifier | Example
| ------------- | -------------
| `is:sponsorable` | [**is:sponsorable**](https://github.com/search?q=is%3Asponsorable&type=Users) matches users and organizations who have a {% data variables.product.prodname_sponsors %} profile.
{% endif %}
## Further reading
- "[Sorting search results](/articles/sorting-search-results/)"

View File

@@ -17,7 +17,7 @@ shortTitle: Invite users to join
{% tip %}
**Tips**:
- If your organization has a paid per-user subscription, an unused license must be available before you can invite a new member to join the organization or reinstate a former organization member. For more information, see "[About per-user pricing](/articles/about-per-user-pricing)." {% data reusables.organizations.org-invite-expiration %}
- If your organization has a paid per-user subscription, an unused license must be available before you can invite a new member to join the organization or reinstate a former organization member. For more information, see "[About per-user pricing](/articles/about-per-user-pricing)." {% data reusables.organizations.org-invite-scim %}
- If your organization requires members to use two-factor authentication, users that you invite must enable two-factor authentication before accepting the invitation. For more information, see "[Requiring two-factor authentication in your organization](/organizations/keeping-your-organization-secure/requiring-two-factor-authentication-in-your-organization)" and "[Securing your account with two-factor authentication (2FA)](/github/authenticating-to-github/securing-your-account-with-two-factor-authentication-2fa)."
{% endtip %}

View File

@@ -35,7 +35,7 @@ If an organization member was removed from the organization because they did not
{% endif %}
{% ifversion fpt %}
If your organization has a paid per-user subscription, an unused license must be available before you can reinstate a former organization member. For more information, see "[About per-user pricing](/articles/about-per-user-pricing)." {% data reusables.organizations.org-invite-expiration %}
If your organization has a paid per-user subscription, an unused license must be available before you can reinstate a former organization member. For more information, see "[About per-user pricing](/articles/about-per-user-pricing)." {% data reusables.organizations.org-invite-scim %}
{% endif %}
## Reinstating a former member of your organization

View File

@@ -47,4 +47,6 @@ Donations between sponsored developers will not be matched.
## Further reading
- "[Sponsoring open source contributors](/sponsors/sponsoring-open-source-contributors)"
- "[Receiving sponsorships through {% data variables.product.prodname_sponsors %}](/sponsors/receiving-sponsorships-through-github-sponsors)"
- "[Searching users and organizations based on ability to sponsor](/github/searching-for-information-on-github/searching-on-github/searching-users#search-based-on-ability-to-sponsor)"
- "[Searching repositories based on ability to sponsor](/github/searching-for-information-on-github/searching-on-github/searching-for-repositories#search-based-on-ability-to-sponsor)"
- "[FAQ with the {% data variables.product.prodname_sponsors %} team](https://github.blog/2019-06-12-faq-with-the-github-sponsors-team/)" on {% data variables.product.prodname_blog %}

View File

@@ -49,6 +49,7 @@ These guidelines are specific to GitHubs documentation. For general style que
- [Accounts](#accounts)
- [Acronyms](#acronyms)
- [Apps](#apps)
- [Currency](#currency)
- [Inclusive language](#inclusive-language-1)
- [Prepositions](#prepositions)
- [Product names](#product-names-1)
@@ -470,6 +471,31 @@ Use "Apps" when referring to specific apps or types of apps.
GitHub Apps is always capitalized, because its a feature name.
### Currency
When referring to dollars, cents, amounts of currency or using the `$` sign, ensure the currency used is defined even if the amount is zero. Use the [ISO standard currency name](https://www.iso.org/iso-4217-currency-codes.html), and the [ISO standard currency code](https://www.six-group.com/en/products-services/financial-information/data-standards.html#scrollTo=currency-codes) where possible.
Use lowercase for currency names, but capitalize the reference to the country or region.
- **Use:** US dollar.
- **Avoid:** US Dollar, $USD dollar.
Use uppercase for currency codes.
- **Use:** USD.
Where there is only one reference in an article, use the currency name without a `$` sign preceding the amount.
- **Use:** `10 US dollars` for a single reference to currency.
Where an article contains several references to the same currency, ensure that the first reference uses the currency name without a `$` sign preceding the amount and includes the currency code in parentheses following the currency name.
For subsequent references to currency in an article or where appropriate (such as when space is a consideration, or when several amounts are presented in a table or list), include the `$` sign preceding the amount and use the ISO standard currency code following the amount.
- **Use:** `10 US dollars (USD)` for the first reference, and `$0.25 USD` for subsequent references.
- **Avoid:** `$10 US dollars (USD)`, `USD$0.25`.
Where the first reference concerns `cents` or a non-dollar amount, capitalize the reference to the country or region of the currency used in parentheses immediately after the first reference. Subsequent currency references are treated using the guidelines above.
- **Use:** `99 cents (US currency)` for the first reference, and `99 cents` for subsequent references.
- **Avoid:** `$0.99 (US currency)`, `$0.99 USD cents`, `USD$0.99 cents`.
### Inclusive language
See the “Inclusive language” section of this guide.

View File

@@ -0,0 +1,11 @@
date: '2021-09-07'
sections:
security_fixes:
- Packages have been updated to the latest security versions.
known_issues:
- On a freshly set up {% data variables.product.prodname_ghe_server %} without any users, an attacker could create the first admin user.
- Custom firewall rules are removed during the upgrade process.
- Git LFS tracked files [uploaded through the web interface](https://github.com/blog/2105-upload-files-to-your-repositories) are incorrectly added directly to the repository.
- Issues cannot be closed if they contain a permalink to a blob in the same repository, where the blob's file path is longer than 255 characters.
- When "Users can search GitHub.com" is enabled with GitHub Connect, issues in private and internal repositories are not included in GitHub.com search results.
- When a replica node is offline in a high availability configuration, {% data variables.product.product_name %} may still route {% data variables.product.prodname_pages %} requests to the offline node, reducing the availability of {% data variables.product.prodname_pages %} for users.

View File

@@ -0,0 +1,16 @@
date: '2021-09-07'
sections:
security_fixes:
- Packages have been updated to the latest security versions.
bugs:
- Attempting to tear down a newly-added replica node by specifying its UUID with `ghe-repl-teardown` would fail without reporting an error if replication was not started.
- GitHub Pages builds were being passed through an external proxy if there was one configured.
- Custom pre-receive hooks that created sub-processes would lack a `PATH` variable in their environment, resulting in "No such file or directory" errors.
- MySQL could failover during an upgrade if `mysql-auto-failover` was enabled.
known_issues:
- On a freshly set up {% data variables.product.prodname_ghe_server %} without any users, an attacker could create the first admin user.
- Custom firewall rules are removed during the upgrade process.
- Git LFS tracked files [uploaded through the web interface](https://github.com/blog/2105-upload-files-to-your-repositories) are incorrectly added directly to the repository.
- Issues cannot be closed if they contain a permalink to a blob in the same repository, where the blob's file path is longer than 255 characters.
- When "Users can search GitHub.com" is enabled with GitHub Connect, issues in private and internal repositories are not included in GitHub.com search results.
- When a replica node is offline in a high availability configuration, {% data variables.product.product_name %} may still route {% data variables.product.prodname_pages %} requests to the offline node, reducing the availability of {% data variables.product.prodname_pages %} for users.

View File

@@ -0,0 +1,16 @@
date: '2021-09-07'
sections:
security_fixes:
- Packages have been updated to the latest security versions.
bugs:
- Attempting to tear down a newly-added replica node by specifying its UUID with `ghe-repl-teardown` would fail without reporting an error if replication was not started.
- GitHub Pages builds were being passed through an external proxy if there was one configured.
- Custom pre-receive hooks that created sub-processes would lack a `PATH` variable in their environment, resulting in "No such file or directory" errors.
- MySQL could failover during an upgrade if `mysql-auto-failover` was enabled.
known_issues:
- The {% data variables.product.prodname_registry %} npm registry no longer returns a time value in metadata responses. This was done to allow for substantial performance improvements. We continue to have all the data necessary to return a time value as part of the metadata response and will resume returning this value in the future once we have solved the existing performance issues.
- On a freshly set up {% data variables.product.prodname_ghe_server %} without any users, an attacker could create the first admin user.
- Custom firewall rules are removed during the upgrade process.
- Git LFS tracked files [uploaded through the web interface](https://github.com/blog/2105-upload-files-to-your-repositories) are incorrectly added directly to the repository.
- Issues cannot be closed if they contain a permalink to a blob in the same repository, where the blob's file path is longer than 255 characters.
- When "Users can search GitHub.com" is enabled with GitHub Connect, issues in private and internal repositories are not included in GitHub.com search results.

View File

@@ -1,7 +1,7 @@
{% note %}
**Note:** After the {% data variables.product.prodname_codespaces %} trial period ends, you must set a spending limit before you can use {% data variables.product.prodname_codespaces %}. By default, your organization will have a {% data variables.product.prodname_codespaces %} spending limit of $0, which prevents any codespaces from being created. To allow your users to create codespaces in your organization, set the limit to a value higher than $0.
**Note:** After the {% data variables.product.prodname_codespaces %} trial period ends, you must set a spending limit before you can use {% data variables.product.prodname_codespaces %}. By default, your organization or enterprise will have a {% data variables.product.prodname_codespaces %} spending limit of $0, which prevents any codespaces from being created or existing codespaces from being opened. To allow your users to create codespaces in your organization, set the limit to a value higher than $0.
{% endnote %}
By default, your organization will have a {% data variables.product.prodname_codespaces %} spending limit of $0, which prevents new codespaces from being created or existing codespaces from being opened. To allow your users to create codespaces in your organization, set the limit to a value higher than $0.
By default, your organization or enterprise will have a {% data variables.product.prodname_codespaces %} spending limit of $0, which prevents new codespaces from being created or existing codespaces from being opened. To allow your users to create codespaces in your organization, set the limit to a value higher than $0.

View File

@@ -0,0 +1 @@
Pending invitations will expire after 7 days, restoring any unclaimed licenses. If an invitation is generated by System for Cross-domain Identity Management (SCIM), the invitation will not expire.

View File

@@ -0,0 +1 @@
If you have access to pull requests in more than 10,000 repositories, you will need to limit your search to a specific organization, user account, or repository to see results.

View File

@@ -110,16 +110,18 @@ GitHub | GitHub SSH Private Key | github_ssh_private_key{% endif %}
GoCardless | GoCardless Live Access Token | gocardless_live_access_token{% endif %}
{%- ifversion fpt or ghes > 2.22 or ghae-next %}
GoCardless | GoCardless Sandbox Access Token | gocardless_sandbox_access_token{% endif %}
{%- ifversion fpt or ghes > 3.2 or ghae-next %}
Google | Firebase Cloud Messaging Server Key | firebase_cloud_messaging_server_key{% endif %}
{%- ifversion fpt or ghes > 2.22 or ghae-next %}
Google Cloud | Google API Key | google_api_key{% endif %}
Google | Google API Key | google_api_key{% endif %}
{%- ifversion fpt or ghes > 2.22 or ghae-next %}
Google Cloud | Google Cloud Private Key ID | google_cloud_private_key_id{% endif %}
Google | Google Cloud Private Key ID | google_cloud_private_key_id{% endif %}
{%- ifversion fpt or ghes > 3.2 or ghae-next %}
Google Cloud | Google Cloud Storage Access Key Secret | google_cloud_storage_access_key_secret{% endif %}
Google | Google Cloud Storage Access Key Secret | google_cloud_storage_access_key_secret{% endif %}
{%- ifversion fpt or ghes > 3.2 or ghae-next %}
Google Cloud | Google Cloud Storage Service Account Access Key ID | google_cloud_storage_service_account_access_key_id{% endif %}
Google | Google Cloud Storage Service Account Access Key ID | google_cloud_storage_service_account_access_key_id{% endif %}
{%- ifversion fpt or ghes > 3.2 or ghae-next %}
Google Cloud | Google Cloud Storage User Access Key ID | google_cloud_storage_user_access_key_id{% endif %}
Google | Google Cloud Storage User Access Key ID | google_cloud_storage_user_access_key_id{% endif %}
{%- ifversion fpt or ghes > 3.1 or ghae-next %}
Grafana | Grafana API Key | grafana_api_key{% endif %}
{%- ifversion fpt or ghes > 2.22 or ghae-next %}

View File

@@ -100,7 +100,7 @@
"deprecationDate": "2022-06-03"
},
"3.2": {
"releaseDate": "2021-09-07",
"releaseDate": "2021-09-09",
"deprecationDate": "2022-09-28"
},
"3.3": {

View File

@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:1db2078d1f0c3881cb8ea260727894ba9cb170616190ed84dc1acfdab7d8db7f
size 506854
oid sha256:238227ada817942deb08b8d169ac7d9888f15d8d4c4d6524f97063ef7ac2ace3
size 506790

View File

@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:d2c85c8d1361eab0b22fd5b80a7cca3db552488e9b69b7d4e0ac2fa55daad1f8
size 802554
oid sha256:173caf916eeb51207058edbacf3c8a901ae59537da09ba33bc46eeb14bcbc67f
size 802665

View File

@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:f03a5f0f8561ea2131ac2ccc939e772bc8bbc7ade4ff08552e450917780dc26a
size 469499
oid sha256:aad7d43ec310abe4b16a1d54deee7b2ba3b66ea2a01e6c19815ecbe1f1a7ce89
size 469931

View File

@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:04950c633a9834d8b121311f32ff7065411fc96da80870c55a2a3d6106c70ddc
size 2079772
oid sha256:c9d17bc44953147d6251c37e31d5df877945e5a8d588aec3d7e8b0e8248ee4fb
size 2078665

View File

@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:4c29627b5a70d3bbf4ebc45966c7afac798fbea36a4531e463669a9937b0b8a3
size 432664
oid sha256:5acaac89ccbcc238dafd352234517cf4918b0581ea19fc5fc631ce3540766d3d
size 432100

View File

@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:6b90140f5f6999e0fc23445300f331acb8d47cb7a1c06ee417e4a3567df458b2
size 1695927
oid sha256:3e04e88524ceadbc54acc8ddb95d67873e232ac32acdf1caad6ae920368716e7
size 1696062

View File

@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:ea843337af5824b73711eb5c81ab869f91b899e133350485d808084711908712
size 280023
oid sha256:a984893e0111223b78b83bbc96ba3da9159af9f7c9e75a7a63373b9e6f5cbd14
size 280190

View File

@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:bd456cbf0d41a26aa40ec2883025933e26c54c714935508c8cf2494080b5d715
size 1067632
oid sha256:7b351e740beb0c6e488758474fc43d5b51bf7ae3c26a5070b8427fc991159a28
size 1067707

View File

@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:d476579786a5d3b58296f55fca8664d801db9a32d7454a1e9b32b76bb05efdbe
size 528589
oid sha256:96a4057c167091f2a6d476a5c47438d0b22c395a94428fe32d14661044bfb01d
size 528967

View File

@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:8500a0b6db5a4f235b4ba7c721471ef6847a3b5e3d03c5ce92857c1da2a79a5e
size 2796601
oid sha256:5010d0603747cdaafb93c161965aa789126306969c45b059f8bdb6327d778fdc
size 2797129

View File

@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:af6ef621cd35f00b758f5af24bb1777607ce5242e765c16237f9191a5a7394ce
size 443524
oid sha256:176bca218bbbb83ce42aef7b6a54b5a91ebbe4bc6ac6fa4b8162853de843a2b2
size 443303

View File

@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:53ba98469e4951e4997bbcf7d3718182b1487b1d3a4f0d328651fb3198e5367a
size 1851870
oid sha256:3b7bca812bacb0a38a3d2c670ef1ba86fe0228204316d7357e9bfddb88a41d08
size 1851013

View File

@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:aa088539a6bb6d05c377fcfe773676461ce2c54fad645b985f503a78b9196774
size 524430
oid sha256:a3430717cf98b9b8738104a41ca47d9459dba530400b55660f29866f00cff570
size 524434

View File

@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:4abed99ebb1c108cec7612d3452f821305ec3ac059d624a4066f26f480e736bd
size 832898
oid sha256:a99d06afd41e213fc8ea89a141316c233d96a9f4f4b8f6e1cd3c95c930543eff
size 833255

View File

@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:50d396326a39d557733616a65dec40bc3e4fb0852794dc270ea8ae0de56c3586
size 490077
oid sha256:1e795bb027dbe64917d9a674b188777531c1c7beaa73dc189d0301506f6d5be8
size 490023

View File

@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:42a3e47645f861397f1464af7c48e26576a238e28d29ec16325514fa248c33ad
size 2178391
oid sha256:e72c1c505fea06691fdcfa0f5ec1c8bead106006b53021fcd2beb858eb43a4eb
size 2178077

View File

@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:be9f4ed5ea500aea03a07a04aa85ea6b87b81a4e3efc2f2a09a2a41d0d7bca32
size 452568
oid sha256:e469774fe7aa7f0be72372b555f487c8a563592acd7010ca91234135457ac4ea
size 451471

View File

@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:6445600a9334e72d33af671c3137464b70bd390b1442b725f6fce4d28f110d95
size 1770651
oid sha256:fd0b0a2b060a7697a542c742a540c20ed8e8014c6c53ef32d19229da1130e068
size 1770959

View File

@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:85f38b0be8a25b76bfbe5ecd1ab48e29811c71d1b9491e6e2d3bd868a98dd440
size 278192
oid sha256:016575e043a4470f27ebbd88a1ac9ce60412dd275523dba4310e47c943b55edf
size 278595

View File

@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:7113cd64ba8009da22ead3edde020c8dbce61bfdc37398f63997352e4a17f6e3
size 1055499
oid sha256:098ae6df95aff62507f937a5df7f0313265b942d5554b2d4174db8e241d60240
size 1056919

View File

@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:e12c30a6ce534c8ecaaef9bc0d396ddcc6a8e080d8e07b30368ff9246844412a
size 550785
oid sha256:333e895fbfee1015ac914ab7585cb28bf2a356a7dc4c4a0713b643bbc2a1ebda
size 550924

View File

@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:d7b44e3f4eb80f0bb113065912520c6dab034680e97d2a372cf2ff79aa951073
size 2915021
oid sha256:f1a4cb8c57f7bd8b07a426c7334054b169b06306a6c82eef522a8f7bafeb118d
size 2915357

View File

@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:79efc2bd780cd3b5bcb7063aeb68f7cd5da057304b1814be7aceb8dd5c550997
size 464767
oid sha256:91742127582805fafe4e2964e7117dbb9882d8525079df4b5320c2ca97785687
size 464969

View File

@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:5db19fc6ec66e1923513589461e863586e8fecafb4bc820ed52fa427de192ccb
size 1936831
oid sha256:f4543d1b25bbfd395a6d74c596e4e43b618b5e6732533da18d725166b78d77bc
size 1937348

View File

@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:80e5dd6ca45083fae529d305f69bc134ddffab291126070d03699ffe4874baa7
size 534156
oid sha256:1e1f2352637625752bf7027a399d58c5c13c77bf377e2a5da775a93662b06f30
size 534137

View File

@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:c1fdd5aa2a1359fd5a7f39b9a590486345281ac0ab349c9200cabbcc0255a559
size 845875
oid sha256:0976e636e97f0a6d0dc25da1f1747d43708387e3f887d639f3762611559b4512
size 845479

View File

@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:58f6b89d005287fb9a9cd4464780a382378041857e964cd615a74979d8595736
size 497296
oid sha256:6ebe40b7a24f942a7cfde6558a18567a0006b77f34ed7e64c267425cef95a33d
size 497797

View File

@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:12d9c2a23ae6020fe96a25eb653f3ab5914196a9493a76eee6b8aeb5ae39e0da
size 2221181
oid sha256:0ac5fe86d3be171b6b262ed91c7439d7bd6b3a0ba7e7b22d8578d647251b13c7
size 2222998

View File

@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:94626f54064c4d7cf9ecd3896d3967014d7f832db2f715752276fe65d02d546f
size 460800
oid sha256:1b614bf15421207475ac9d70b37e3fd2953c7e91c86f1ebb02cc1d31f4188c93
size 460657

View File

@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:ed65a6d9a0006e5407a67dd26c468f8c678eb76ccdd97464ae3fc3092b3b521e
size 1804755
oid sha256:ed8993d4a9e756866a02d029486bfe47780aa5cbebd24d4dcf0469a6e45d958a
size 1805346

View File

@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:3cc0bb38296ad3eb9146156e3204eb3a8f0785f5204dcdf9c11333f507a4951f
size 278484
oid sha256:12409d98a5baa99d4798deb287c1cd14defe71db4ba3a6b44903ad98886628dd
size 278358

View File

@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:9f2cade24644796bfc7060b6e9d80d19fe6efbd8c0d1c1dd023a58ebd1e3a243
size 1056753
oid sha256:bca4a08f312bd28c81ad2b58c3a0830e776f4d9b0de3f995b07b957ad15fad97
size 1056062

View File

@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:3f77e59376ccae63708d49609d1e5489daec6a332e2381507cdf70bf52ffa57b
size 558734
oid sha256:f77673a0ab70a81fc0e03e2394e23fd95c6314b078d36eea03a07e75f4e0e186
size 558985

View File

@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:b71350f4b5b287f834c96748e882dd81f7570fe83a54f8b152789cb325f6d9c1
size 2966822
oid sha256:7f8af8bb81e0f7b75ee7f2b9c075e91477a20c6ce6ce4a407c2a31ef3021698a
size 2963810

View File

@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:3c47c8649ef73ba5ca244c8fc338a72334a98bd82475907c7b2275ec804bcae0
size 472166
oid sha256:2bd2bbd5de67eb17e8865523bbaf7b84474431e42f47eb0b5bb994c62894d009
size 472261

View File

@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:fcbcfc09ab90de9fd77260a36ceb7137732a9fc0d4e00f3287dc602343042290
size 1972169
oid sha256:da5977c20112e2ad6f393477d4c7d859b3d57d743e11d49a7a1c2295078b4566
size 1971920

View File

@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:8c070e9b4670a121484d610685677bd75a81bec08853aa1a5245502f44b20bde
size 710310
oid sha256:c910f584dda6ed008396ac46cb4ddca12b2f16bfbbfaeef32e17a95e0a43c968
size 709846

View File

@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:2e2bdac56fab12b99dfc299d54e0f00b318d9e469f59abaf47c50c7c7b661b91
size 969678
oid sha256:abe1a3fb5e4963adec6e9050e3fdce8830fb9ed9f703d58b893c3b2e14c56b92
size 968589

View File

@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:25c20f8dd2961d5e46490f4cd6a4fb8c18889daaf7a9047386226be5369c488f
size 647642
oid sha256:d071bd3a1a1df952c35b7c395b9bfb2d53201f3c625900467ffd99f3787ecb75
size 647681

View File

@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:332b2c5cad453cacebf6bb058c845170c953924ccaad313f3f4a780b1c0dce39
size 2902185
oid sha256:ae043ca63166b5064b8d437e7fbc38d5fe51f2e3222c06b722aa85b31548cc3d
size 2901878

View File

@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:68719331947ba8220c7ccc1b7166e313ec4c752573b8746f1c5df70f4d8aa963
size 625052
oid sha256:dab2ff6b2d3a0d474afc19e6948b474db9540a622b46ba39ce14be09aa44a748
size 625304

View File

@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:bc97c90e45ccfe917ceb80dce3e850a5869f4e4d2a29b3cd120e6a1489586c63
size 2382358
oid sha256:f2b0da7cf5ae84e9026ae39a3994ccfb12d7593fce9494df983d37929aec4d57
size 2381881

View File

@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:7c4bf4397c7b7a860635e48c54b59d51194742f5a15aa387c2b65788cfe063d6
size 306772
oid sha256:4502d9b92dd1c5afe397a991e736ec377f8a9029c19b42fbad37de480eac7930
size 306477

View File

@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:a0d8837ed8acc0302e552bfd0d51fa734d9dd5b3c49f3f7cecada2e0c4c4f556
size 1088724
oid sha256:eeeebd3b41418f98dacf9b16bb8badb6b48ff53e6a83ebb851d446717c9c069d
size 1088046

View File

@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:04f17a7f2c787f3928980f74da0c15ef6e54b05ea6c042787c752e3a9713b0fd
size 738487
oid sha256:2b85225d9b15cd6c029f8df59fdb38cfb53b17ee4b71bf080b3b879dc3ff4fe0
size 738454

View File

@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:2096b5ca4006f919c562af8b091cfef57c12849b8680895e2c01b25a41158b4a
size 3852449
oid sha256:2308255b43b9309922dabd1aa06921b62b8af1d90a8debb11a51b7cf37289334
size 3850351

View File

@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:1ab6b17a1f71c756849e6605765b256c7a4848a4845e0f8764297016a1ba4d19
size 621424
oid sha256:185e4114916d0454513bb22422a2f076b1bbfc3d9d22aec0366b6829521bf106
size 621476

View File

@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:ec94a72e3680bdd5060a8089beb966572fa8d55d085086adf6b3e7832a979a3a
size 2550865
oid sha256:8826fe60056be8d0a5d58e34a8f94bcb840f13648a3233a50da9b5da02dd5d2a
size 2551671

View File

@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:1dc5aae11bfb1ef546985356fc27a88f32f68c11eed0ea3b2bb68971536bedc2
size 414353
oid sha256:e2fc44ed669fdd324f82a4ddbe1e50c6c2e3c18117d097a801aa1229843827cb
size 414040

View File

@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:77e6e1e785a83e5ee2cec3990b519d7fd79fe2a3e640b498fed0984418a31214
size 631187
oid sha256:b068e11977c11fbe28ef882f7e884ab5d20f06737c9444875c3825b589ca26e6
size 630899

View File

@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:578308b211563b185bd4ce1a999fed4de1f215bcb7d9e18fc1d18c09c05453a9
size 390925
oid sha256:dc28d2465076c1ea86768c4b5134000791b4afd77a870f1453f81926e2cafc3b
size 390912

View File

@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:b8563012a170519a83594d42bc20f011a322a6c3704329d3cc4e4e4f0b61a332
size 1698394
oid sha256:ff8c3f07b19622004e9a00c67080ecb153c677cd0c6a7d17aeb26383d101eda1
size 1698776

View File

@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:1b748b04a62bae63c0dea212af3924f1b2457fa1ecc473ca742046174b8ace47
size 360912
oid sha256:879efcbb2c03dff216da5570cc056d3a123dd22db30e87b1d2c0922d04df09b9
size 360940

View File

@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:611c342f49a2c82294b6cc9a4f37362e135da2c454668a63ed75e415034da5e6
size 1354160
oid sha256:5b82b02c20e82781df2e76790de15c1c508772a4bacf6a2d069f7ad917e438bb
size 1354231

View File

@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:7d0b2c758cfbbf5663d91e08b156b53919a07be6b9baa55667b83b23d8cd2e09
size 200643
oid sha256:9f121b9af811a2ff71d101264dba7900d14c9718a7260fa7cedf3beaea5ceec4
size 200650

View File

@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:13e122427fc4090288d0844fe2e5bb94207f3a0ed72699d0cfba8385453064bf
size 718632
oid sha256:b194f3bfc07736f6554f25825ee245b47fbdf164b9366bd6103140a1a9ad5c84
size 718112

View File

@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:1828b5dd115c29c7d3180d63f5b9af75cb3a2ebb48af5cea4530186b057796fd
size 435872
oid sha256:e56ad1159d9ad4fc9e612df712e2fcab5a7a768465001f5b4f65fea941001ecf
size 435590

View File

@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:2967599e8bec21a5f2a465398b35a04c7a8e91a26eef0f98e0857752763ed3dd
size 2217770
oid sha256:036281f3a761760b0d8e6a35151ac4c2463b26b5fdc026b6f025968126dbc51e
size 2218600

View File

@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:8a17b35e62c7c0518f6c87622b68a609b37b25fcaa363efa5feb4d641e83fc7d
size 371581
oid sha256:592371ed51be12f5330a8be407702a5b574207037c3facb8e29e04a937d0fed5
size 371466

View File

@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:ef15146ac83fe9d865dfd6d6b811f4fdd25f5896458dc420788f6ea6c417a48b
size 1496206
oid sha256:b13f73666aba3a7b64fa6ff7af88cde03e78499bc7c97db6e8ecdd84da397a25
size 1495815

View File

@@ -10,6 +10,7 @@ export default async function createApp(pullRequest) {
repo: { name: repo },
},
head: { ref: branch },
user: author,
} = pullRequest
const appName = createAppName({ prefix: 'ghd', repo, pullNumber, branch })
@@ -36,6 +37,23 @@ export default async function createApp(pullRequest) {
} catch (error) {
throw new Error(`Failed to create Heroku App ${appName}. Error: ${error}`)
}
// Add PR author (if staff) as a collaborator on the new staging app
try {
if (author.site_admin === true) {
await heroku.post(`/apps/${appName}/collaborators`, {
body: {
user: `${author.login}@github.com`,
// We don't want an email invitation for every new staging app
silent: true,
},
})
console.log(`Added PR author @${author.login} as a Heroku app collaborator`)
}
} catch (error) {
// It's fine if this fails, it shouldn't block the app from deploying!
console.warn(`Warning: failed to add PR author as a Heroku app collaborator. Error: ${error}`)
}
} else {
console.log(`Heroku App ${appName} already exists.`)
}