Merge branch 'main' into patch-1
@@ -2,13 +2,12 @@
|
||||
// For format details, see https://aka.ms/vscode-remote/devcontainer.json
|
||||
{
|
||||
"name": "docs.github.com",
|
||||
"service": "container-doc",
|
||||
"settings": {
|
||||
"terminal.integrated.shell.linux": "/bin/bash",
|
||||
"cSpell.language": ",en"
|
||||
},
|
||||
// Install pre-requisites, and start to serve docs.github.com locally
|
||||
"postCreateCommand": "npm install && npm start",
|
||||
// Install pre-requisites and run a build to ensure we are ready to start serving docs.github.com locally (via `npm start`)
|
||||
"postCreateCommand": "npm ci && npm run build",
|
||||
"forwardPorts": [4000],
|
||||
// Visual Studio Code extensions which help authoring for docs.github.com.
|
||||
"extensions": [
|
||||
|
||||
4
.github/CODEOWNERS
vendored
@@ -1,12 +1,14 @@
|
||||
# Order is important. The LAST matching pattern has the MOST precedence.
|
||||
# gitignore style patterns are used, not globs.
|
||||
# https://help.github.com/articles/about-codeowners
|
||||
# https://docs.github.com/articles/about-codeowners
|
||||
# https://git-scm.com/docs/gitignore
|
||||
|
||||
# Engineering
|
||||
*.js @github/docs-engineering
|
||||
/.github/ @github/docs-engineering
|
||||
/script/ @github/docs-engineering
|
||||
/includes/ @github/docs-engineering
|
||||
/layouts/ @github/docs-engineering
|
||||
app.json @github/docs-engineering
|
||||
Dockerfile @github/docs-engineering
|
||||
package-lock.json @github/docs-engineering
|
||||
|
||||
26
.github/ISSUE_COMMENT_TEMPLATE/status.yml
vendored
Normal file
@@ -0,0 +1,26 @@
|
||||
---
|
||||
name: Status Update
|
||||
about: A brief status update.
|
||||
body:
|
||||
- type: dropdown
|
||||
attributes:
|
||||
name: Status
|
||||
options:
|
||||
- name: "GREEN \U0001F34F (All good, smooth sailing)"
|
||||
value: 'Status: GREEN'
|
||||
- name: "YELLOW \U0001F7E1 (On track, with hurdles to work through)"
|
||||
value: 'Status: YELLOW'
|
||||
- name: "RED \U0001F534 (BLOCKED)"
|
||||
value: 'Status: RED'
|
||||
- type: input
|
||||
attributes:
|
||||
name: Update Summary
|
||||
placeholder:
|
||||
Brief summary of the status and next steps. Any blockers should be
|
||||
called out specifically.
|
||||
inputType: longText
|
||||
- type: input
|
||||
attributes:
|
||||
name: 'Attribution'
|
||||
value: '_created with :heart: by typing_ `/status`'
|
||||
inputType: text
|
||||
14
.github/ISSUE_COMMENT_TEMPLATE/target-date.yml
vendored
Normal file
@@ -0,0 +1,14 @@
|
||||
---
|
||||
name: Target Date Update
|
||||
about: Target date update
|
||||
body:
|
||||
- type: input
|
||||
attributes:
|
||||
name: Target completion date
|
||||
placeholder: With context if the target completion date has changed
|
||||
inputType: text
|
||||
- type: input
|
||||
attributes:
|
||||
name: 'Attribution'
|
||||
value: '_created with :heart: by typing_ `/status`'
|
||||
inputType: text
|
||||
48
.github/ISSUE_TEMPLATE/partner-contributed-documentation.md
vendored
Normal file
@@ -0,0 +1,48 @@
|
||||
---
|
||||
name: Partner-owned product documentation
|
||||
about: Initiate a set of tasks to be completed by a GitHub partner wishing to document how their product works with GitHub
|
||||
title: ''
|
||||
labels:
|
||||
- partner
|
||||
assignees: ''
|
||||
---
|
||||
|
||||
<!--
|
||||
Thank you for your interest in contributing to the GitHub documentation.
|
||||
|
||||
This issue template is only for use by GitHub's Technology Partners who wish to contribute documentation explaining how the partner's product works with GitHub, making it straightforward for our shared customers to adopt the product into their workflow.
|
||||
|
||||
As a general guide, we estimate we have bandwidth for prioritizing and reviewing up to 3 partner contributions per quarter.
|
||||
|
||||
Please be sure to complete all items in the checklists that follow, and feel free to comment with any questions. A member of the team will be glad to support you.
|
||||
-->
|
||||
|
||||
## Pre-requisites
|
||||
|
||||
- [ ] Prior to submitting documentation, please apply to join the GitHub Technology Partner Program: [partner.github.com/apply](https://partner.github.com/apply?partnershipType=Technology+Partner). Please feel free to proceed once your application is approved.
|
||||
|
||||
## What information would you like to add to docs.github.com?
|
||||
<!-- Please explain what your proposed article is about, what customers it benefits, and any other information that would help us to prioritize this request -->
|
||||
|
||||
## Tasks
|
||||
|
||||
Please be sure to complete each of the following:
|
||||
|
||||
**Third-party product documentation:**
|
||||
|
||||
- [ ] MUST follow our [general contributing guidelines](CONTRIBUTING.md) for voice and markup format.
|
||||
- [ ] MUST emphasize how the third-party product works with GitHub.
|
||||
- [ ] MUST be written in Markdown format, using [one of the templates provided](contributing/github-partners/README.md#templates)
|
||||
- [ ] MUST include the name and URL of the GitHub technology partner responsible for maintenance of the documentation being contributed. This should be added via the `contributor.name` and `contributor.URL` properties in the template's YAML frontmatter.
|
||||
- [ ] MUST be proposed via a pull request to this repo following [the GitHub Flow](https://guides.github.com/introduction/flow/).
|
||||
- [ ] MUST be located in the root of [the `content` folder](content). Your filename MUST match the GitHub technology partner name, and use the `.md` file extension.
|
||||
|
||||
**The `Pull Request`:**
|
||||
|
||||
- [ ] MUST reference this issue, e.g. via `closes #<this issue number>`
|
||||
- [ ] MUST pass the automated CI checks
|
||||
- [ ] MUST include links to supporting material demonstrating the functionality being documented (this can be a link to a public GitHub repo, _or_ a video / screencast walkthrough)
|
||||
|
||||
Once all tasks are completed, please mention `@github/docs-content` for next steps.
|
||||
|
||||
/cc @github/partner-engineering for :eyes:
|
||||
24
.github/ISSUE_TEMPLATE/production-config-change.md
vendored
Normal file
@@ -0,0 +1,24 @@
|
||||
---
|
||||
name: Change production configuration
|
||||
about: Track changes to the production docs.github.com site
|
||||
title: ''
|
||||
labels: engineering
|
||||
assignees: ''
|
||||
---
|
||||
|
||||
A configuration change would be something outside of our code that we change with our production environment, such as environment variables, virtual machine tier or quantity, or service providers.
|
||||
|
||||
- _Primary person_:
|
||||
- _Second person_:
|
||||
- _When_:
|
||||
- _Zoom URL_:
|
||||
|
||||
### What is the configuration change?
|
||||
|
||||
### Why are we updating this configuration?
|
||||
|
||||
### What risks are there with this configuration change?
|
||||
|
||||
### If an issue happens, how do we roll back?
|
||||
|
||||
Once the change is verified good, please close this issue.
|
||||
70
.github/allowed-actions.js
vendored
@@ -4,36 +4,40 @@
|
||||
// can be added it this list.
|
||||
|
||||
module.exports = [
|
||||
'actions/cache@0781355a23dac32fd3bac414512f4b903437991a', //actions/cache@v2.1.3
|
||||
'actions/checkout@5a4ac9002d0be2fb38bd78e4b4dbde5606d7042f', //actions/checkout@v2.3.4
|
||||
'actions/github-script@626af12fe9a53dc2972b48385e7fe7dec79145c9', //actions/script@v3.0.0
|
||||
'actions/labeler@5f867a63be70efff62b767459b009290364495eb', //actions/labeler@v2.2.0
|
||||
'actions/setup-node@c46424eee26de4078d34105d3de3cc4992202b1e', //actions/setup-node@v2.1.4
|
||||
'ruby/setup-ruby@fdcfbcf14ec9672f6f615cb9589a1bc5dd69d262', //ruby/setup-ruby@vv1.64.1
|
||||
'actions/stale@9d6f46564a515a9ea11e7762ab3957ee58ca50da', //actions/stale@v3.0.16
|
||||
'crowdin/github-action@fd9429dd63d6c0f8a8cb4b93ad8076990bd6e688',
|
||||
'crykn/copy_folder_to_another_repo_action@0282e8b9fef06de92ddcae9fe6cb44df6226646c',
|
||||
'cschleiden/actions-linter@0ff16d6ac5103cca6c92e6cbc922b646baaea5be',
|
||||
'dawidd6/action-delete-branch@47743101a121ad657031e6704086271ca81b1911',
|
||||
'docker://chinthakagodawita/autoupdate-action:v1',
|
||||
'fkirc/skip-duplicate-actions@36feb0d8d062137530c2e00bd278d138fe191289',
|
||||
'github/codeql-action/analyze@v1',
|
||||
'github/codeql-action/init@v1',
|
||||
'ianwalter/puppeteer-container@2466ba8ecf689ccf4e5dfadeff3ac2db227b2e17',
|
||||
'juliangruber/approve-pull-request-action@c530832d4d346c597332e20e03605aa94fa150a8',
|
||||
'juliangruber/find-pull-request-action@2fc55e82a6d5d36fe1e7f1848f7e64fd02d99de9',
|
||||
'juliangruber/read-file-action@e0a316da496006ffd19142f0fd594a1783f3b512',
|
||||
'lee-dohm/close-matching-issues@22002609b2555fe18f52b8e2e7c07cbf5529e8a8',
|
||||
'pascalgn/automerge-action@c9bd1823770819dc8fb8a5db2d11a3a95fbe9b07', //pascalgn/automerge@0.12.0
|
||||
'peter-evans/create-issue-from-file@a04ce672e3acedb1f8e416b46716ddfd09905326',
|
||||
'peter-evans/create-or-update-comment@5221bf4aa615e5c6e95bb142f9673a9c791be2cd',
|
||||
'peter-evans/create-pull-request@8c603dbb04b917a9fc2dd991dc54fef54b640b43',
|
||||
'rachmari/actions-add-new-issue-to-column@1a459ef92308ba7c9c9dc2fcdd72f232495574a9',
|
||||
'rachmari/labeler@832d42ec5523f3c6d46e8168de71cd54363e3e2e',
|
||||
'repo-sync/github-sync@3832fe8e2be32372e1b3970bbae8e7079edeec88',
|
||||
'repo-sync/pull-request@33777245b1aace1a58c87a29c90321aa7a74bd7d',
|
||||
'someimportantcompany/github-actions-slack-message@0b470c14b39da4260ed9e3f9a4f1298a74ccdefd',
|
||||
'tjenkinson/gh-action-auto-merge-dependency-updates@4d7756c04d9d999c5968697a621b81c47f533d61',
|
||||
'EndBug/add-and-commit@9358097a71ad9fb9e2f9624c6098c89193d83575',
|
||||
'dorny/paths-filter@eb75a1edc117d3756a18ef89958ee59f9500ba58'
|
||||
]
|
||||
"actions/cache@0781355a23dac32fd3bac414512f4b903437991a", //actions/cache@v2.1.3
|
||||
"actions/checkout@5a4ac9002d0be2fb38bd78e4b4dbde5606d7042f", //actions/checkout@v2.3.4
|
||||
"actions/github-script@626af12fe9a53dc2972b48385e7fe7dec79145c9", //actions/script@v3.0.0
|
||||
"actions/labeler@5f867a63be70efff62b767459b009290364495eb", //actions/labeler@v2.2.0
|
||||
"actions/setup-node@c46424eee26de4078d34105d3de3cc4992202b1e", //actions/setup-node@v2.1.4
|
||||
"ruby/setup-ruby@fdcfbcf14ec9672f6f615cb9589a1bc5dd69d262", //ruby/setup-ruby@vv1.64.1
|
||||
"actions/stale@9d6f46564a515a9ea11e7762ab3957ee58ca50da", //actions/stale@v3.0.16
|
||||
"alex-page/github-project-automation-plus@fdb7991b72040d611e1123d2b75ff10eda9372c9",
|
||||
"andymckay/labeler@22d5392de2b725cea4b284df5824125054049d84",
|
||||
"archive/github-actions-slack@d368c5a4ad757515a9344918f84c490b05777d94",
|
||||
"ashley-taylor/regex-property-action@93a24f845cd20790924208225cc72da8b4c6d46d",
|
||||
"crowdin/github-action@fd9429dd63d6c0f8a8cb4b93ad8076990bd6e688",
|
||||
"crykn/copy_folder_to_another_repo_action@0282e8b9fef06de92ddcae9fe6cb44df6226646c",
|
||||
"cschleiden/actions-linter@0ff16d6ac5103cca6c92e6cbc922b646baaea5be",
|
||||
"dawidd6/action-delete-branch@47743101a121ad657031e6704086271ca81b1911",
|
||||
"docker://chinthakagodawita/autoupdate-action:v1",
|
||||
"fkirc/skip-duplicate-actions@36feb0d8d062137530c2e00bd278d138fe191289",
|
||||
"github/codeql-action/analyze@v1",
|
||||
"github/codeql-action/init@v1",
|
||||
"juliangruber/approve-pull-request-action@c530832d4d346c597332e20e03605aa94fa150a8",
|
||||
"juliangruber/find-pull-request-action@2fc55e82a6d5d36fe1e7f1848f7e64fd02d99de9",
|
||||
"juliangruber/read-file-action@e0a316da496006ffd19142f0fd594a1783f3b512",
|
||||
"lee-dohm/close-matching-issues@22002609b2555fe18f52b8e2e7c07cbf5529e8a8",
|
||||
"pascalgn/automerge-action@c9bd1823770819dc8fb8a5db2d11a3a95fbe9b07", //pascalgn/automerge@0.12.0
|
||||
"peter-evans/create-issue-from-file@a04ce672e3acedb1f8e416b46716ddfd09905326",
|
||||
"peter-evans/create-or-update-comment@5221bf4aa615e5c6e95bb142f9673a9c791be2cd",
|
||||
"peter-evans/create-pull-request@8c603dbb04b917a9fc2dd991dc54fef54b640b43",
|
||||
"rachmari/actions-add-new-issue-to-column@1a459ef92308ba7c9c9dc2fcdd72f232495574a9",
|
||||
"rachmari/labeler@832d42ec5523f3c6d46e8168de71cd54363e3e2e",
|
||||
"rachmari/puppeteer-container@6d56d6e132a3df76cf60bc290a4282f7fbaed05e",
|
||||
"repo-sync/github-sync@3832fe8e2be32372e1b3970bbae8e7079edeec88",
|
||||
"repo-sync/pull-request@33777245b1aace1a58c87a29c90321aa7a74bd7d",
|
||||
"someimportantcompany/github-actions-slack-message@0b470c14b39da4260ed9e3f9a4f1298a74ccdefd",
|
||||
"tjenkinson/gh-action-auto-merge-dependency-updates@4d7756c04d9d999c5968697a621b81c47f533d61",
|
||||
"EndBug/add-and-commit@b3c7c1e078a023d75fb0bd326e02962575ce0519",
|
||||
"dorny/paths-filter@eb75a1edc117d3756a18ef89958ee59f9500ba58",
|
||||
];
|
||||
|
||||
10
.github/commands/remove.yaml
vendored
Normal file
@@ -0,0 +1,10 @@
|
||||
trigger: remove-from-fr-board
|
||||
title: Remove from FR board
|
||||
description: Remove the current issue or pull request from the project board for the docs content first responder
|
||||
surfaces:
|
||||
- issue
|
||||
- pull_request
|
||||
- discussion
|
||||
steps:
|
||||
- type: repository_dispatch
|
||||
eventType: remove_from_FR_board
|
||||
5
.github/workflows/60-days-stale-check.yml
vendored
@@ -1,4 +1,9 @@
|
||||
name: 60 Days Stale Check
|
||||
|
||||
# **What it does**: Pull requests older than 60 days will be flagged as stale.
|
||||
# **Why we have it**: We want to manage our queue of issues and pull requests.
|
||||
# **Who does it impact**: Everyone that works on docs or docs-internal.
|
||||
|
||||
on:
|
||||
schedule:
|
||||
- cron: '40 16 * * *' # Run each day at 16:40 UTC / 8:40 PST
|
||||
|
||||
4
.github/workflows/auto-label-prs.yml
vendored
@@ -1,5 +1,9 @@
|
||||
name: Auto label Pull Requests
|
||||
|
||||
# **What it does**: Automatically adds the engineering label when specific files change.
|
||||
# **Why we have it**: Other automation applies specifically to engineering label issues and pull requests.
|
||||
# **Who does it impact**: Automation that relies on the engineering label.
|
||||
|
||||
on:
|
||||
pull_request:
|
||||
|
||||
|
||||
4
.github/workflows/automerge-dependencies.yml
vendored
@@ -1,5 +1,9 @@
|
||||
name: Auto Merge Dependency Updates
|
||||
|
||||
# **What it does**: Automatically merge pull requests from dependabot.
|
||||
# **Why we have it**: To keep our dependencies up-to-date, to avoid security issues.
|
||||
# **Who does it impact**: It helps docs engineering focus on higher value work.
|
||||
|
||||
on:
|
||||
pull_request:
|
||||
paths:
|
||||
|
||||
5
.github/workflows/automerge.yml
vendored
@@ -1,4 +1,9 @@
|
||||
name: automerge
|
||||
|
||||
# **What it does**: Pull requests with label "automerge" or "autosquash" will automatically merge.
|
||||
# **Why we have it**: While now this is a feature built into GitHub, we still use it as part of other automation.
|
||||
# **Who does it impact**: Any workflows that depend on automerge or autosquash labels.
|
||||
|
||||
on:
|
||||
pull_request:
|
||||
types:
|
||||
|
||||
4
.github/workflows/autoupdate-branch.yml
vendored
@@ -1,5 +1,9 @@
|
||||
name: autoupdate branch
|
||||
|
||||
# **What it does**: Any pull requests with "autoupdate" label will get main branch updates.
|
||||
# **Why we have it**: Our repo-sync automation relies on it.
|
||||
# **Who does it impact**: Our ability to support the open-source repository.
|
||||
|
||||
#
|
||||
# This workflow checks all open PRs targeting `main` as their base branch and
|
||||
# will attempt to update them if they have the `autoupdate` label applied.
|
||||
|
||||
10
.github/workflows/browser-test.yml
vendored
@@ -1,5 +1,9 @@
|
||||
name: Browser Tests
|
||||
|
||||
# **What it does**: This runs our browser tests on pull requests.
|
||||
# **Why we have it**: This is the only way we currently test our browser JavaScript.
|
||||
# **Who does it impact**: Docs engineering, open-source engineering contributors.
|
||||
|
||||
on:
|
||||
workflow_dispatch:
|
||||
push:
|
||||
@@ -39,12 +43,14 @@ jobs:
|
||||
|
||||
- if: ${{ needs.see_if_should_skip.outputs.should_skip != 'true' }}
|
||||
name: Install
|
||||
uses: ianwalter/puppeteer-container@2466ba8ecf689ccf4e5dfadeff3ac2db227b2e17
|
||||
uses: rachmari/puppeteer-container@6d56d6e132a3df76cf60bc290a4282f7fbaed05e
|
||||
timeout-minutes: 5
|
||||
with:
|
||||
args: npm ci
|
||||
|
||||
- if: ${{ needs.see_if_should_skip.outputs.should_skip != 'true' }}
|
||||
name: Test
|
||||
uses: ianwalter/puppeteer-container@2466ba8ecf689ccf4e5dfadeff3ac2db227b2e17
|
||||
timeout-minutes: 10
|
||||
uses: rachmari/puppeteer-container@6d56d6e132a3df76cf60bc290a4282f7fbaed05e
|
||||
with:
|
||||
args: npm run browser-test
|
||||
|
||||
8
.github/workflows/build-docker-image.yml
vendored
@@ -1,7 +1,9 @@
|
||||
# Make sure the Docker container still builds
|
||||
|
||||
name: Build Docker image
|
||||
|
||||
# **What it does**: This builds our Docker container.
|
||||
# **Why we have it**: We don't use the Docker container internally, but other teams depend on our Docker container.
|
||||
# **Who does it impact**: Enterprise customers.
|
||||
|
||||
on:
|
||||
push:
|
||||
branches:
|
||||
@@ -14,7 +16,7 @@ env:
|
||||
jobs:
|
||||
build:
|
||||
# Do not run this job for translations PRs
|
||||
if: ${{ github.ref != 'refs/heads/translations' }}
|
||||
if: ${{ github.head_ref != 'translations' && github.ref != 'refs/heads/translations' }}
|
||||
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
|
||||
@@ -1,5 +1,9 @@
|
||||
name: Check all English links
|
||||
|
||||
# **What it does**: This script once a day checks all English links and reports in issues.
|
||||
# **Why we have it**: We want to know if any links break.
|
||||
# **Who does it impact**: Docs content.
|
||||
|
||||
on:
|
||||
workflow_dispatch:
|
||||
schedule:
|
||||
|
||||
@@ -1,4 +1,9 @@
|
||||
name: Check for Spammy Issues
|
||||
|
||||
# **What it does**: This action closes low value pull requests in the open-source repository.
|
||||
# **Why we have it**: We get lots of spam in the open-source repository.
|
||||
# **Who does it impact**: Open-source contributors.
|
||||
|
||||
on:
|
||||
issues:
|
||||
types: [opened]
|
||||
@@ -32,7 +37,7 @@ jobs:
|
||||
return
|
||||
} catch(err) {
|
||||
// An error will be thrown if the user is not a GitHub employee
|
||||
// If a user is not a GitHub employee, we should check to see if title has at least the minimum required number of words in it and if it does, we can exit the workflow
|
||||
// If a user is not a GitHub employee, we should check to see if title has at least the minimum required number of words in it and if it does, we can exit the workflow
|
||||
|
||||
if(titleWordCount > titleWordCountMin) {
|
||||
return
|
||||
@@ -42,7 +47,7 @@ jobs:
|
||||
//
|
||||
// Assuming the user is not a GitHub employee and the issue title
|
||||
// has the minimum number of words required, proceed.
|
||||
//
|
||||
//
|
||||
|
||||
// Close the issue and add the invalid label
|
||||
await github.issues.update({
|
||||
|
||||
@@ -1,5 +1,9 @@
|
||||
name: Check for External Repo Sync PR
|
||||
|
||||
# **What it does**: If someone made a repo sync pull request other than Octomerger, close it.
|
||||
# **Why we have it**: Another form of spam in the open-source repository.
|
||||
# **Who does it impact**: Open-source contributors.
|
||||
|
||||
on:
|
||||
pull_request:
|
||||
types:
|
||||
@@ -11,7 +15,7 @@ on:
|
||||
jobs:
|
||||
invalid-repo-sync-check:
|
||||
name: Close external Repo Sync PRs
|
||||
if: ${{ github.repository == 'github/docs' && github.ref == 'refs/heads/repo-sync' }}
|
||||
if: ${{ github.repository == 'github/docs' && github.head_ref == 'repo-sync' }}
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/github-script@626af12fe9a53dc2972b48385e7fe7dec79145c9
|
||||
|
||||
4
.github/workflows/codeql.yml
vendored
@@ -1,5 +1,9 @@
|
||||
name: CodeQL analysis
|
||||
|
||||
# **What it does**: This runs CodeQL on our repository.
|
||||
# **Why we have it**: Security scanning.
|
||||
# **Who does it impact**: Docs engineering.
|
||||
|
||||
on:
|
||||
push:
|
||||
branches:
|
||||
|
||||
@@ -1,5 +1,9 @@
|
||||
name: Confirm internal staff meant to post in public
|
||||
|
||||
# **What it does**: If a GitHub staff makes an issue/pull request in the open-source repo, creates an issue in the internal one to verify intent.
|
||||
# **Why we have it**: We don't want GitHub staff accidentally making issues/pull requests in the wrong repository.
|
||||
# **Who does it impact**: GitHub staff.
|
||||
|
||||
on:
|
||||
issues:
|
||||
types:
|
||||
|
||||
4
.github/workflows/crowdin.yml
vendored
@@ -1,5 +1,9 @@
|
||||
name: Crowdin Sync
|
||||
|
||||
# **What it does**:
|
||||
# **Why we have it**:
|
||||
# **Who does it impact**: Docs localization.
|
||||
|
||||
on:
|
||||
workflow_dispatch:
|
||||
schedule:
|
||||
|
||||
@@ -1,5 +1,9 @@
|
||||
name: (Dry run) Algolia
|
||||
|
||||
# **What it does**: On request, dry run Algolia to check for issues with search indexing.
|
||||
# **Why we have it**: It helps us debug issues with search indexing.
|
||||
# **Who does it impact**: Docs engineering.
|
||||
|
||||
on:
|
||||
workflow_dispatch:
|
||||
|
||||
|
||||
@@ -1,4 +1,9 @@
|
||||
name: First responder docs-content
|
||||
|
||||
# **What it does**: New pull requests automatically add to the content first responder board.
|
||||
# **Why we have it**: So we don't lose track of new pull reuqests for docs-content to review.
|
||||
# **Who does it impact**: Docs content.
|
||||
|
||||
on:
|
||||
pull_request:
|
||||
types:
|
||||
@@ -31,7 +36,7 @@ jobs:
|
||||
issue_number: issueNumber
|
||||
})
|
||||
const teamMembers = await github.request(
|
||||
`/orgs/github/teams/docs/members`
|
||||
`/orgs/github/teams/docs/members?per_page=100`
|
||||
)
|
||||
const logins = teamMembers.data.map(member => member.login)
|
||||
// ignore PRs opened by docs bot accounts
|
||||
|
||||
4
.github/workflows/js-lint.yml
vendored
@@ -1,5 +1,9 @@
|
||||
name: Lint JS
|
||||
|
||||
# **What it does**: Lints our JavaScript to ensure the code matches the specified code style.
|
||||
# **Why we have it**: We want some level of consistency to our JavaScript.
|
||||
# **Who does it impact**: Docs engineering, open-source engineering contributors.
|
||||
|
||||
on:
|
||||
workflow_dispatch:
|
||||
push:
|
||||
|
||||
6
.github/workflows/link-check-dotcom.yml
vendored
@@ -1,5 +1,9 @@
|
||||
name: 'Link Checker: Dotcom'
|
||||
|
||||
# **What it does**: This checks links for dotcom version of docs.
|
||||
# **Why we have it**: We want to know if links break.
|
||||
# **Who does it impact**: Docs content.
|
||||
|
||||
on:
|
||||
workflow_dispatch:
|
||||
push:
|
||||
@@ -47,7 +51,7 @@ jobs:
|
||||
# run: npm run heroku-postbuild
|
||||
# env:
|
||||
# DOCUBOT_REPO_PAT: ${{ secrets.DOCUBOT_REPO_PAT }}
|
||||
# GIT_BRANCH: ${{ github.ref }}
|
||||
# GIT_BRANCH: ${{ github.head_ref || github.ref }}
|
||||
|
||||
- if: ${{ needs.see_if_should_skip.outputs.should_skip != 'true' }}
|
||||
name: Build
|
||||
|
||||
6
.github/workflows/link-check-ghae.yml
vendored
@@ -1,5 +1,9 @@
|
||||
name: 'Link Checker: GitHub AE'
|
||||
|
||||
# **What it does**: This checks links for GHAE version of docs.
|
||||
# **Why we have it**: We want to know if links break.
|
||||
# **Who does it impact**: Docs content.
|
||||
|
||||
on:
|
||||
workflow_dispatch:
|
||||
push:
|
||||
@@ -47,7 +51,7 @@ jobs:
|
||||
# run: npm run heroku-postbuild
|
||||
# env:
|
||||
# DOCUBOT_REPO_PAT: ${{ secrets.DOCUBOT_REPO_PAT }}
|
||||
# GIT_BRANCH: ${{ github.ref }}
|
||||
# GIT_BRANCH: ${{ github.head_ref || github.ref }}
|
||||
|
||||
- if: ${{ needs.see_if_should_skip.outputs.should_skip != 'true' }}
|
||||
name: Build
|
||||
|
||||
6
.github/workflows/link-check-ghes.yml
vendored
@@ -1,5 +1,9 @@
|
||||
name: 'Link Checker: Enterprise Server'
|
||||
|
||||
# **What it does**: This checks links for GHES version of docs.
|
||||
# **Why we have it**: We want to know if links break.
|
||||
# **Who does it impact**: Docs content.
|
||||
|
||||
on:
|
||||
workflow_dispatch:
|
||||
push:
|
||||
@@ -47,7 +51,7 @@ jobs:
|
||||
# run: npm run heroku-postbuild
|
||||
# env:
|
||||
# DOCUBOT_REPO_PAT: ${{ secrets.DOCUBOT_REPO_PAT }}
|
||||
# GIT_BRANCH: ${{ github.ref }}
|
||||
# GIT_BRANCH: ${{ github.head_ref || github.ref }}
|
||||
|
||||
- if: ${{ needs.see_if_should_skip.outputs.should_skip != 'true' }}
|
||||
name: Build
|
||||
|
||||
7
.github/workflows/merged-notification.yml
vendored
@@ -1,4 +1,9 @@
|
||||
name: Merged notification
|
||||
|
||||
# **What it does**: When we merge an open-source pull request, we want to set expectations that deployment may take awhile.
|
||||
# **Why we have it**: We deploy to production from docs-internal, not docs.
|
||||
# **Who does it impact**: Open-source contributors.
|
||||
|
||||
on:
|
||||
pull_request_target:
|
||||
types:
|
||||
@@ -15,5 +20,5 @@ jobs:
|
||||
github.issues.createComment({
|
||||
...context.repo,
|
||||
issue_number: context.payload.pull_request.number,
|
||||
body: 'Thanks very much for contributing! Your pull request has been merged 🎉 You should see your changes appear on the site in approximately 24 hours. If you're looking for your next contribution, check out our [help wanted issues](https://github.com/github/docs/issues?q=is%3Aopen+is%3Aissue+label%3A%22help+wanted%22) :zap:'
|
||||
body: "Thanks very much for contributing! Your pull request has been merged 🎉 You should see your changes appear on the site in approximately 24 hours. If you're looking for your next contribution, check out our [help wanted issues](https://github.com/github/docs/issues?q=is%3Aopen+is%3Aissue+label%3A%22help+wanted%22) :zap:"
|
||||
})
|
||||
|
||||
22
.github/workflows/move-help-wanted-issues.yml
vendored
Normal file
@@ -0,0 +1,22 @@
|
||||
name: Move help wanted issues
|
||||
|
||||
# **What it does**: In the open source repo, when the "help wanted" or "good first issue" labels are added to an issue, the issue is added to the "Help wanted" column on the project board.
|
||||
# **Why we have it**: To keep track of help wanted issues.
|
||||
# **Who does it impact**: Open-source contributors.
|
||||
|
||||
on:
|
||||
issues:
|
||||
types:
|
||||
- labeled
|
||||
|
||||
jobs:
|
||||
move_issues:
|
||||
if: github.repository == 'github/docs' && (github.event.label.name == 'help wanted' || github.event.label.name == 'good first issue')
|
||||
runs-on: ubuntu-latest
|
||||
|
||||
steps:
|
||||
- uses: alex-page/github-project-automation-plus@fdb7991b72040d611e1123d2b75ff10eda9372c9
|
||||
with:
|
||||
project: Docs team reviews
|
||||
column: Help wanted
|
||||
repo-token: ${{ secrets.DOCUBOT_FR_PROJECT_BOARD_WORKFLOWS_REPO_ORG_READ_SCOPES }}
|
||||
27
.github/workflows/move-ready-to-merge-issues.yaml
vendored
Normal file
@@ -0,0 +1,27 @@
|
||||
name: Move and unlabel ready to merge issues
|
||||
|
||||
# **What it does**: This moves ready to merge issues on the project board for the open source repo. When an issue in the open source repo is labeled "ready to merge," the "waiting for review" label is removed and the issue is moved to the "Triage" column.
|
||||
# **Why we have it**: To help with managing our project boards.
|
||||
# **Who does it impact**: Open source contributors, open-source maintainers.
|
||||
|
||||
on:
|
||||
pull_request_target:
|
||||
types:
|
||||
- labeled
|
||||
|
||||
jobs:
|
||||
unmark_for_review:
|
||||
if: github.repository == 'github/docs' && github.event.label.name == 'ready to merge'
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: move issue
|
||||
uses: alex-page/github-project-automation-plus@fdb7991b72040d611e1123d2b75ff10eda9372c9
|
||||
with:
|
||||
project: Docs team reviews
|
||||
column: Triage
|
||||
repo-token: ${{ secrets.DOCUBOT_FR_PROJECT_BOARD_WORKFLOWS_REPO_ORG_READ_SCOPES }}
|
||||
- name: remove label
|
||||
uses: andymckay/labeler@22d5392de2b725cea4b284df5824125054049d84
|
||||
with:
|
||||
remove-labels: 'waiting for review'
|
||||
repo-token: ${{ secrets.GITHUB_TOKEN }}
|
||||
10
.github/workflows/openapi-decorate.yml
vendored
@@ -1,9 +1,12 @@
|
||||
name: OpenAPI generate decorated schema files
|
||||
|
||||
# **What it does**:
|
||||
# **Why we have it**:
|
||||
# **Who does it impact**:
|
||||
|
||||
on:
|
||||
workflow_dispatch:
|
||||
pull_request:
|
||||
types: [opened]
|
||||
|
||||
jobs:
|
||||
generate-decorated-files:
|
||||
@@ -25,13 +28,10 @@ jobs:
|
||||
run: script/rest/update-files.js --decorate-only
|
||||
|
||||
- name: Check in the decorated files
|
||||
uses: EndBug/add-and-commit@9358097a71ad9fb9e2f9624c6098c89193d83575
|
||||
uses: EndBug/add-and-commit@b3c7c1e078a023d75fb0bd326e02962575ce0519
|
||||
with:
|
||||
# The arguments for the `git add` command
|
||||
add: 'lib/rest/static/decorated'
|
||||
|
||||
# The message for the commit
|
||||
message: 'Add decorated OpenAPI schema files'
|
||||
|
||||
env:
|
||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} # Leave this line unchanged
|
||||
|
||||
4
.github/workflows/openapi-schema-check.yml
vendored
@@ -1,5 +1,9 @@
|
||||
name: OpenAPI dev mode check
|
||||
|
||||
# **What it does**:
|
||||
# **Why we have it**:
|
||||
# **Who does it impact**:
|
||||
|
||||
on:
|
||||
workflow_dispatch:
|
||||
push:
|
||||
|
||||
5
.github/workflows/pa11y.yml
vendored
@@ -1,4 +1,9 @@
|
||||
name: Pa11y
|
||||
|
||||
# **What it does**: Runs a static accessibility check on high traffic docs pages.
|
||||
# **Why we have it**: We want accessibility support for the docs.
|
||||
# **Who does it impact**: Docs engineering, users who need accessibility features.
|
||||
|
||||
on:
|
||||
workflow_dispatch:
|
||||
schedule:
|
||||
|
||||
4
.github/workflows/ping-staging-apps.yml
vendored
@@ -1,5 +1,9 @@
|
||||
name: Ping staging apps
|
||||
|
||||
# **What it does**: This keeps our staging applications from automatically spinning down.
|
||||
# **Why we have it**: Staging applications can hiberate without use.
|
||||
# **Who does it impact**: Anyone with a pull request in docs-internal.
|
||||
|
||||
on:
|
||||
schedule:
|
||||
- cron: '*/20 * * * *' # every twenty minutes
|
||||
|
||||
28
.github/workflows/post-status-updates-to-slack.yml
vendored
Normal file
@@ -0,0 +1,28 @@
|
||||
name: Epic Status Update
|
||||
|
||||
# **What it does**: For our epic issue status comments, also ping us in Slack.
|
||||
# **Why we have it**: So that we can write one status update and have it show up in two places.
|
||||
# **Who does it impact**: GitHub docs staff.
|
||||
|
||||
on:
|
||||
issue_comment:
|
||||
types: [created]
|
||||
jobs:
|
||||
post-status-updates-to-slack:
|
||||
runs-on: ubuntu-latest
|
||||
if: contains(github.event.comment.body, '_created with') && contains(github.event.comment.body, 'typing_ `/status`')
|
||||
steps:
|
||||
- name: Trim HTML comments
|
||||
id: trimmed
|
||||
uses: ashley-taylor/regex-property-action@93a24f845cd20790924208225cc72da8b4c6d46d
|
||||
with:
|
||||
value: ${{github.event.comment.body}}
|
||||
regex: '<!--(.*?)-->'
|
||||
replacement: ''
|
||||
- name: Send Slack notification
|
||||
uses: archive/github-actions-slack@d368c5a4ad757515a9344918f84c490b05777d94
|
||||
id: notify
|
||||
with:
|
||||
slack-channel: 'C01EEKVR0Q7'
|
||||
slack-bot-user-oauth-access-token: ${{ secrets.SLACK_BOT_TOKEN }}
|
||||
slack-text: \n><${{ github.event.comment.html_url}}|*${{github.event.issue.title}}*>\nstatus update posted by ${{github.event.comment.user.login}}\n\n${{ steps.trimmed.outputs.value }}
|
||||
22
.github/workflows/ready-for-doc-review.yml
vendored
Normal file
@@ -0,0 +1,22 @@
|
||||
name: Ready for docs-content review
|
||||
|
||||
# **What it does**: Adds pull requests in the docs-internal repository to the docs-content first responder project board
|
||||
# **Why we have it**: So that other GitHub teams can easily request reviews from the docs-content team, and so that writers can see when a PR is ready for review
|
||||
# **Who does it impact**: Writers working in the docs-internal repository
|
||||
|
||||
on:
|
||||
pull_request:
|
||||
types: [labeled]
|
||||
|
||||
jobs:
|
||||
request_doc_review:
|
||||
name: Request a review from the docs-content team
|
||||
if: github.event.label.name == 'ready-for-doc-review' && github.repository == 'github/docs-internal'
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: Add pull request to FR project board
|
||||
uses: rachmari/actions-add-new-issue-to-column@1a459ef92308ba7c9c9dc2fcdd72f232495574a9
|
||||
with:
|
||||
action-token: ${{ secrets.DOCUBOT_FR_PROJECT_BOARD_WORKFLOWS_REPO_ORG_READ_SCOPES }}
|
||||
project-url: 'https://github.com/orgs/github/projects/1367'
|
||||
column-name: 'Docs-internal external contributor PRs'
|
||||
27
.github/workflows/remove-from-fr-board.yaml
vendored
Normal file
@@ -0,0 +1,27 @@
|
||||
name: Remove card from FR board
|
||||
|
||||
# **What it does**: Removes the triggering issue or PR from the docs-content first responder board. This workflow is expected to trigger from a slash command.
|
||||
# **Why we have it**: To help with first responder duties
|
||||
# **Who does it impact**: Docs-content team first responders
|
||||
|
||||
on:
|
||||
repository_dispatch:
|
||||
types: remove_from_docs_FR_board
|
||||
|
||||
jobs:
|
||||
remove_from_FR_board:
|
||||
if: github.repository == 'github/docs-internal'
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: Remove issue from board
|
||||
if: ${{ github.event.client_payload.command.resource.type == 'Issue' }}
|
||||
run: gh issue edit "$ISSUE_URL" --remove-project "Docs content first responder"
|
||||
env:
|
||||
GITHUB_TOKEN: ${{secrets.DOCUBOT_FR_PROJECT_BOARD_WORKFLOWS_REPO_ORG_READ_SCOPES}}
|
||||
ISSUE_URL: https://github.com/${{ github.event.client_payload.command.repository.full_name }}/issues/${{ github.event.client_payload.command.resource.number }}
|
||||
- name: Remove PR from board
|
||||
if: ${{ github.event.client_payload.command.resource.type == 'PullRequest' }}
|
||||
run: gh pr edit "$PR_URL" --remove-project "Docs content first responder"
|
||||
env:
|
||||
GITHUB_TOKEN: ${{secrets.DOCUBOT_FR_PROJECT_BOARD_WORKFLOWS_REPO_ORG_READ_SCOPES}}
|
||||
PR_URL: https://github.com/${{ github.event.client_payload.command.repository.full_name }}/pull/${{ github.event.client_payload.command.resource.number }}
|
||||
4
.github/workflows/remove-unused-assets.yml
vendored
@@ -1,5 +1,9 @@
|
||||
name: Remove unused assets
|
||||
|
||||
# **What it does**:
|
||||
# **Why we have it**:
|
||||
# **Who does it impact**:
|
||||
|
||||
on:
|
||||
schedule:
|
||||
- cron: '20 15 * * 0' # run every Sunday at 20:15 UTC / 12:15 PST
|
||||
|
||||
9
.github/workflows/repo-freeze-check.yml
vendored
@@ -1,7 +1,12 @@
|
||||
name: Repo Freeze Check
|
||||
|
||||
# **What it does**: Prevent pull requests from merging during freezes.
|
||||
# **Why we have it**: Sometimes we need to freeze deployments for various reasons.
|
||||
# **Who does it impact**: Anyone working on docs.
|
||||
|
||||
on:
|
||||
pull_request:
|
||||
workflow_dispatch:
|
||||
pull_request_target:
|
||||
types:
|
||||
- opened
|
||||
- reopened
|
||||
@@ -21,7 +26,7 @@ jobs:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: Fail if repo merges are paused
|
||||
if: ${{ env.FREEZE == 'true' }}
|
||||
if: ${{ env.FREEZE == 'true' && github.head_ref != 'repo-sync' }}
|
||||
run: |
|
||||
echo 'Merges into the "main" branch on this repo are currently paused!'
|
||||
exit 1
|
||||
|
||||
4
.github/workflows/repo-freeze-reminders.yml
vendored
@@ -1,5 +1,9 @@
|
||||
name: Repo Freeze Reminders
|
||||
|
||||
# **What it does**: This reminds us that the repository is frozen for deploys.
|
||||
# **Why we have it**: To remind us to turn off the freeze after the freeze period is over.
|
||||
# **Who does it impact**: Docs engineering.
|
||||
|
||||
on:
|
||||
schedule:
|
||||
- cron: '00 11 * * *' # once per day around 11:00am UTC
|
||||
|
||||
23
.github/workflows/repo-sync-stalls.yml
vendored
@@ -1,24 +1,15 @@
|
||||
name: Repo Sync Stalls
|
||||
|
||||
# **What it does**: This lets us know in Slack if repo-sync doesn't happen in a timely manner.
|
||||
# **Why we have it**: We want repo-sync to keep the two repositories in sync with each other.
|
||||
# **Who does it impact**: Open-source contributors, docs engineering.
|
||||
|
||||
on:
|
||||
workflow_dispatch:
|
||||
schedule:
|
||||
- cron: '0 */2 * * *'
|
||||
|
||||
env:
|
||||
FREEZE: ${{ secrets.FREEZE }}
|
||||
|
||||
jobs:
|
||||
check-freezer:
|
||||
name: Check for deployment freezes
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: Exit if repo is frozen
|
||||
if: ${{ env.FREEZE == 'true' }}
|
||||
run: |
|
||||
echo 'The repo is currently frozen! Exiting this workflow.'
|
||||
exit 1 # prevents further steps from running
|
||||
|
||||
repo-sync-stalls:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
@@ -43,7 +34,7 @@ jobs:
|
||||
return
|
||||
}
|
||||
|
||||
// Remove all pull requests that don't have the
|
||||
// Remove all pull requests that don't have the
|
||||
// 'automated-reposync-pr' label
|
||||
pulls.data = pulls.data.filter(pr =>
|
||||
pr.labels.some(label => label.name === 'automated-reposync-pr')
|
||||
@@ -55,12 +46,12 @@ jobs:
|
||||
const minutesOpen = timeDelta / 1000 / 60;
|
||||
|
||||
if (minutesOpen > 180) {
|
||||
core.setFailed('Repo sync appears to be stalled')
|
||||
core.setFailed('Repo sync appears to be stalled')
|
||||
}
|
||||
})
|
||||
- name: Send Slack notification if workflow fails
|
||||
uses: someimportantcompany/github-actions-slack-message@0b470c14b39da4260ed9e3f9a4f1298a74ccdefd
|
||||
if: failure()
|
||||
if: ${{ failure() }}
|
||||
with:
|
||||
channel: ${{ secrets.DOCS_ALERTS_SLACK_CHANNEL_ID }}
|
||||
bot-token: ${{ secrets.SLACK_DOCS_BOT_TOKEN }}
|
||||
|
||||
18
.github/workflows/repo-sync.yml
vendored
@@ -6,29 +6,19 @@
|
||||
|
||||
name: Repo Sync
|
||||
|
||||
# **What it does**: Syncs docs and docs-internal.
|
||||
# **Why we have it**: To keep the open-source repository up-to-date, while still having an internal repository for sensitive work.
|
||||
# **Who does it impact**: Open-source.
|
||||
|
||||
on:
|
||||
workflow_dispatch:
|
||||
schedule:
|
||||
- cron: '*/15 * * * *' # every 15 minutes
|
||||
|
||||
env:
|
||||
FREEZE: ${{ secrets.FREEZE }}
|
||||
|
||||
jobs:
|
||||
check-freezer:
|
||||
name: Check for deployment freezes
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: Exit if repo is frozen
|
||||
if: ${{ env.FREEZE == 'true' }}
|
||||
run: |
|
||||
echo 'The repo is currently frozen! Exiting this workflow.'
|
||||
exit 1 # prevents further steps from running
|
||||
|
||||
repo-sync:
|
||||
if: github.repository == 'github/docs-internal' || github.repository == 'github/docs'
|
||||
name: Repo Sync
|
||||
needs: check-freezer
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: Check out repo
|
||||
|
||||
38
.github/workflows/send-crowdin-prs-to-boards.yml
vendored
Normal file
@@ -0,0 +1,38 @@
|
||||
name: Send Crowdin PRs to boards
|
||||
|
||||
on:
|
||||
pull_request:
|
||||
types:
|
||||
- opened
|
||||
|
||||
jobs:
|
||||
triage:
|
||||
if: github.repository == 'github/docs-internal' && github.event.pull_request.head.ref == 'translations'
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/github-script@626af12fe9a53dc2972b48385e7fe7dec79145c9
|
||||
with:
|
||||
github-token: ${{ secrets.DOCUBOT_READORG_REPO_WORKFLOW_SCOPES }}
|
||||
script: |
|
||||
var squadBoardColumnId = 13447153; // Add to the team backlog/squad board
|
||||
|
||||
try {
|
||||
await github.projects.createCard({
|
||||
column_id: squadBoardColumnId,
|
||||
content_id: context.payload.pull_request.id,
|
||||
content_type: "PullRequest"
|
||||
});
|
||||
} catch (error) {
|
||||
console.log(error);
|
||||
}
|
||||
|
||||
var prBoardColumnId = 10095775; // Add to the pull requests board
|
||||
try {
|
||||
await github.projects.createCard({
|
||||
column_id: prBoardColumnId,
|
||||
content_id: context.payload.pull_request.id,
|
||||
content_type: "PullRequest"
|
||||
});
|
||||
} catch (error) {
|
||||
console.log(error);
|
||||
}
|
||||
30
.github/workflows/send-eng-issues-to-backlog.yml
vendored
@@ -1,30 +0,0 @@
|
||||
name: Send Issue to EPD backlog
|
||||
|
||||
on:
|
||||
issues:
|
||||
types:
|
||||
- labeled
|
||||
- reopened
|
||||
|
||||
jobs:
|
||||
triage:
|
||||
if: github.repository == 'github/docs-internal'
|
||||
runs-on: ubuntu-latest
|
||||
continue-on-error: true
|
||||
steps:
|
||||
- name: Add issues with engineering label to project board
|
||||
if: contains(github.event.issue.labels.*.name, 'engineering') || contains(github.event.issue.labels.*.name, 'design') || contains(github.event.issue.labels.*.name, 'Design')
|
||||
uses: actions/github-script@626af12fe9a53dc2972b48385e7fe7dec79145c9
|
||||
with:
|
||||
github-token: ${{ secrets.DOCUBOT_FR_PROJECT_BOARD_WORKFLOWS_REPO_ORG_READ_SCOPES }}
|
||||
script: |
|
||||
var column_id = 9659080;
|
||||
try {
|
||||
github.projects.createCard({
|
||||
column_id: column_id,
|
||||
content_id: context.payload.issue.id,
|
||||
content_type: "Issue"
|
||||
});
|
||||
} catch (error) {
|
||||
console.log(error);
|
||||
}
|
||||
63
.github/workflows/send-issues-to-how-how-we-work-boards.yml
vendored
Normal file
@@ -0,0 +1,63 @@
|
||||
name: Send Issue to How We Work Boards
|
||||
|
||||
# **What it does**:
|
||||
# **Why we have it**:
|
||||
# **Who does it impact**:
|
||||
|
||||
on:
|
||||
issues:
|
||||
types:
|
||||
- labeled
|
||||
- opened
|
||||
- reopened
|
||||
|
||||
jobs:
|
||||
triage:
|
||||
runs-on: ubuntu-latest
|
||||
continue-on-error: true
|
||||
steps:
|
||||
- if: contains(github.event.issue.labels.*.name, 'engineering') && !contains(github.event.issue.labels.*.name, 'feature') && !contains(github.event.issue.labels.*.name, 'epic')
|
||||
uses: actions/github-script@626af12fe9a53dc2972b48385e7fe7dec79145c9
|
||||
with:
|
||||
github-token: ${{ secrets.DOCUBOT_READORG_REPO_WORKFLOW_SCOPES }}
|
||||
script: |
|
||||
var column_id = 9659080;
|
||||
try {
|
||||
github.projects.createCard({
|
||||
column_id: column_id,
|
||||
content_id: context.payload.issue.id,
|
||||
content_type: "Issue"
|
||||
});
|
||||
} catch (error) {
|
||||
console.log(error);
|
||||
}
|
||||
- if: contains(github.event.issue.labels.*.name, 'engineering') && contains(github.event.issue.labels.*.name, 'feature')
|
||||
uses: actions/github-script@626af12fe9a53dc2972b48385e7fe7dec79145c9
|
||||
with:
|
||||
github-token: ${{ secrets.DOCUBOT_READORG_REPO_WORKFLOW_SCOPES }}
|
||||
script: |
|
||||
var column_id = 13445681;
|
||||
try {
|
||||
github.projects.createCard({
|
||||
column_id: column_id,
|
||||
content_id: context.payload.issue.id,
|
||||
content_type: "Issue"
|
||||
});
|
||||
} catch (error) {
|
||||
console.log(error);
|
||||
}
|
||||
- if: contains(github.event.issue.labels.*.name, 'engineering') && contains(github.event.issue.labels.*.name, 'epic')
|
||||
uses: actions/github-script@626af12fe9a53dc2972b48385e7fe7dec79145c9
|
||||
with:
|
||||
github-token: ${{ secrets.DOCUBOT_READORG_REPO_WORKFLOW_SCOPES }}
|
||||
script: |
|
||||
var column_id = 13445932;
|
||||
try {
|
||||
github.projects.createCard({
|
||||
column_id: column_id,
|
||||
content_id: context.payload.issue.id,
|
||||
content_type: "Issue"
|
||||
});
|
||||
} catch (error) {
|
||||
console.log(error);
|
||||
}
|
||||
6
.github/workflows/site-policy-sync.yml
vendored
@@ -1,5 +1,9 @@
|
||||
name: site-policy-sync
|
||||
|
||||
# **What it does**: Updates our site policy docs when changes happen to site policy.
|
||||
# **Why we have it**: We want up to date site policy docs.
|
||||
# **Who does it impact**: Site policy team.
|
||||
|
||||
# Controls when the action will run.
|
||||
on:
|
||||
# Triggers the workflow pull requests merged to the main branch
|
||||
@@ -18,7 +22,7 @@ on:
|
||||
jobs:
|
||||
# This workflow contains a single job called "build"
|
||||
copy-file:
|
||||
if: github.repository == 'github/docs-internal' || github.repository == 'github/docs'
|
||||
if: github.repository == 'github/docs-internal'
|
||||
# The type of runner that the job will run on
|
||||
runs-on: ubuntu-latest
|
||||
|
||||
|
||||
@@ -1,5 +1,9 @@
|
||||
name: Start new engineering PR workflow
|
||||
|
||||
# **What it does**:
|
||||
# **Why we have it**:
|
||||
# **Who does it impact**:
|
||||
|
||||
on:
|
||||
pull_request_target:
|
||||
types:
|
||||
|
||||
@@ -1,5 +1,9 @@
|
||||
name: Algolia
|
||||
|
||||
# **What it does**: This updates our search indexes after each deployment.
|
||||
# **Why we have it**: We want our search indexes kept up to date.
|
||||
# **Who does it impact**: Anyone using search on docs.
|
||||
|
||||
on:
|
||||
workflow_dispatch:
|
||||
push:
|
||||
|
||||
@@ -1,5 +1,9 @@
|
||||
name: Algolia Sync Single English Index
|
||||
|
||||
# **What it does**:
|
||||
# **Why we have it**:
|
||||
# **Who does it impact**:
|
||||
|
||||
on:
|
||||
pull_request:
|
||||
types:
|
||||
|
||||
23
.github/workflows/test-windows.yml
vendored
@@ -1,17 +1,25 @@
|
||||
# NOTE: Changes to this file should also be applied to './test.yml' and './test-translations.yml'
|
||||
# NOTE: Changes to this file should also be applied to './test.yml'
|
||||
|
||||
name: Node.js Tests - Windows
|
||||
|
||||
# **What it does**: This runs our tests on Windows.
|
||||
# **Why we have it**: We want to support Windows contributors to docs.
|
||||
# **Who does it impact**: Anyone working on docs on a Windows device.
|
||||
|
||||
on:
|
||||
workflow_dispatch:
|
||||
pull_request:
|
||||
schedule:
|
||||
- cron: '50 19 * * *' # once a day at 19:50 UTC / 11:50 PST
|
||||
|
||||
env:
|
||||
CI: true
|
||||
|
||||
jobs:
|
||||
test:
|
||||
runs-on: windows-latest
|
||||
if: (github.event_name != 'pull_request') || (github.event_name == 'pull_request' && (contains(github.event.pull_request.labels.*.name, 'Windows') || contains(github.event.pull_request.labels.*.name, 'windows')))
|
||||
timeout-minutes: 60
|
||||
strategy:
|
||||
fail-fast: false
|
||||
matrix:
|
||||
@@ -19,6 +27,9 @@ jobs:
|
||||
steps:
|
||||
- name: Check out repo
|
||||
uses: actions/checkout@5a4ac9002d0be2fb38bd78e4b4dbde5606d7042f
|
||||
with:
|
||||
# Enables cloning the Early Access repo later with the relevant PAT
|
||||
persist-credentials: 'false'
|
||||
|
||||
- name: Setup node
|
||||
uses: actions/setup-node@c46424eee26de4078d34105d3de3cc4992202b1e
|
||||
@@ -41,7 +52,15 @@ jobs:
|
||||
- name: Install dependencies
|
||||
run: npm ci
|
||||
|
||||
- name: Run build script
|
||||
- if: ${{ github.repository == 'github/docs-internal' }}
|
||||
name: Clone early access
|
||||
run: npm run heroku-postbuild
|
||||
env:
|
||||
DOCUBOT_REPO_PAT: ${{ secrets.DOCUBOT_REPO_PAT }}
|
||||
GIT_BRANCH: ${{ github.head_ref || github.ref }}
|
||||
|
||||
- if: ${{ github.repository != 'github/docs-internal' }}
|
||||
name: Run build script
|
||||
run: npm run build
|
||||
|
||||
- name: Run tests
|
||||
|
||||
6
.github/workflows/test.yml
vendored
@@ -2,6 +2,10 @@
|
||||
|
||||
name: Node.js Tests
|
||||
|
||||
# **What it does**: Runs our tests.
|
||||
# **Why we have it**: We want our tests to pass before merging code.
|
||||
# **Who does it impact**: Docs engineering, open-source engineering contributors.
|
||||
|
||||
on:
|
||||
workflow_dispatch:
|
||||
push:
|
||||
@@ -77,7 +81,7 @@ jobs:
|
||||
run: npm run heroku-postbuild
|
||||
env:
|
||||
DOCUBOT_REPO_PAT: ${{ secrets.DOCUBOT_REPO_PAT }}
|
||||
GIT_BRANCH: ${{ github.ref }}
|
||||
GIT_BRANCH: ${{ github.head_ref || github.ref }}
|
||||
|
||||
- if: ${{ needs.see_if_should_skip.outputs.should_skip != 'true' && github.repository != 'github/docs-internal' }}
|
||||
name: Run build script
|
||||
|
||||
4
.github/workflows/translations.yml
vendored
@@ -1,5 +1,9 @@
|
||||
name: Translations
|
||||
|
||||
# **What it does**:
|
||||
# **Why we have it**:
|
||||
# **Who does it impact**: Docs localization
|
||||
|
||||
on:
|
||||
schedule:
|
||||
- cron: '20 19 * * *' # once a day at 19:20 UTC / 11:20 PST
|
||||
|
||||
5
.github/workflows/triage-issue-comments.yml
vendored
@@ -1,4 +1,9 @@
|
||||
name: Triage new issue comments
|
||||
|
||||
# **What it does**:
|
||||
# **Why we have it**:
|
||||
# **Who does it impact**:
|
||||
|
||||
on:
|
||||
issue_comment:
|
||||
types:
|
||||
|
||||
5
.github/workflows/triage-issues.yml
vendored
@@ -1,4 +1,9 @@
|
||||
name: Triage new issues
|
||||
|
||||
# **What it does**:
|
||||
# **Why we have it**:
|
||||
# **Who does it impact**:
|
||||
|
||||
on:
|
||||
issues:
|
||||
types:
|
||||
|
||||
9
.github/workflows/triage-pull-requests.yml
vendored
@@ -1,13 +1,18 @@
|
||||
name: Triage new pull requests
|
||||
|
||||
# **What it does**:
|
||||
# **Why we have it**:
|
||||
# **Who does it impact**:
|
||||
|
||||
on:
|
||||
pull_request:
|
||||
pull_request_target:
|
||||
types:
|
||||
- reopened
|
||||
- opened
|
||||
|
||||
jobs:
|
||||
triage_pulls:
|
||||
if: github.repository == 'github/docs'
|
||||
if: github.repository != 'github/docs-internal'
|
||||
runs-on: ubuntu-latest
|
||||
|
||||
steps:
|
||||
|
||||
10
.github/workflows/triage-stale-check.yml
vendored
@@ -1,4 +1,9 @@
|
||||
name: Public Repo Stale Check
|
||||
|
||||
# **What it does**: Provides more aggressive stale checks in the open repo.
|
||||
# **Why we have it**: In the open repo, we want more aggressive stale checking.
|
||||
# **Who does it impact**: Anyone working in the open repo.
|
||||
|
||||
on:
|
||||
schedule:
|
||||
- cron: '45 16 * * *' # Run each day at 16:45 UTC / 8:45 PST
|
||||
@@ -16,7 +21,7 @@ jobs:
|
||||
days-before-pr-stale: 7
|
||||
days-before-pr-close: 3
|
||||
stale-pr-label: 'stale'
|
||||
exempt-pr-labels: 'waiting for review'
|
||||
exempt-pr-labels: 'waiting for review,never-stale'
|
||||
stale_staff:
|
||||
if: github.repository == 'github/docs'
|
||||
runs-on: ubuntu-latest
|
||||
@@ -27,9 +32,12 @@ jobs:
|
||||
stale-pr-message: 'This is a gentle bump for the docs team that this PR is waiting for review.'
|
||||
days-before-pr-stale: 14
|
||||
days-before-pr-close: -1 # Never close
|
||||
remove-stale-when-updated: false
|
||||
operations-per-run: 100
|
||||
only-labels: 'waiting for review'
|
||||
# The hope is that by setting the stale-pr-label to the same label
|
||||
# as the label that the stale check looks for, this will result in
|
||||
# a comment being posted every 14 days as an infinite loop, which is what
|
||||
# we want
|
||||
stale-pr-label: 'waiting for review'
|
||||
exempt-pr-labels: 'never-stale'
|
||||
|
||||
@@ -1,5 +1,9 @@
|
||||
name: Check unallowed file changes
|
||||
|
||||
# **What it does**: If someone changes some files in the open repo, we prevent the pull request from merging.
|
||||
# **Why we have it**: Some files can only be changed in the internal repository for security and workflow reasons.
|
||||
# **Who does it impact**: Open source contributors.
|
||||
|
||||
on:
|
||||
pull_request_target:
|
||||
paths:
|
||||
|
||||
6
.github/workflows/update-graphql-files.yml
vendored
@@ -1,5 +1,9 @@
|
||||
name: Update GraphQL files
|
||||
|
||||
# **What it does**: This updates our GraphQL schemas.
|
||||
# **Why we have it**: We want our GraphQL docs up to date.
|
||||
# **Who does it impact**: Docs engineering, people reading GraphQL docs.
|
||||
|
||||
on:
|
||||
workflow_dispatch:
|
||||
schedule:
|
||||
@@ -56,7 +60,7 @@ jobs:
|
||||
If CI does not pass or other problems arise, contact #docs-engineering on slack."
|
||||
labels: automerge,autoupdate
|
||||
branch: graphql-schema-update
|
||||
- if: ${{ failure() }}
|
||||
- if: ${{ failure() && env.FREEZE != 'true'}}
|
||||
name: Delete remote branch (if previous steps failed)
|
||||
uses: dawidd6/action-delete-branch@47743101a121ad657031e6704086271ca81b1911
|
||||
with:
|
||||
|
||||
4
.github/workflows/workflow-lint.yml
vendored
@@ -1,5 +1,9 @@
|
||||
name: Lint workflows
|
||||
|
||||
# **What it does**: This lints our workflow files.
|
||||
# **Why we have it**: We want some level of consistency in our workflow files.
|
||||
# **Who does it impact**: Docs engineering.
|
||||
|
||||
on:
|
||||
workflow_dispatch:
|
||||
push:
|
||||
|
||||
4
.github/workflows/yml-lint.yml
vendored
@@ -1,5 +1,9 @@
|
||||
name: Lint Yaml
|
||||
|
||||
# **What it does**: This lints our yaml files in the docs repository.
|
||||
# **Why we have it**: We want some level of consistent formatting for YAML files.
|
||||
# **Who does it impact**: Docs engineering, docs content.
|
||||
|
||||
on:
|
||||
workflow_dispatch:
|
||||
push:
|
||||
|
||||
16
.pa11yci
@@ -13,17 +13,16 @@
|
||||
"http://localhost:4001/en/actions",
|
||||
"http://localhost:4001/en/github/authenticating-to-github/creating-a-personal-access-token",
|
||||
"http://localhost:4001/en/github/authenticating-to-github/checking-for-existing-ssh-keys",
|
||||
"http://localhost:4001/en/github/using-git/changing-a-remotes-url",
|
||||
"http://localhost:4001/en/github/getting-started-with-github/managing-remote-repositories",
|
||||
"http://localhost:4001/en/github/getting-started-with-github/set-up-git",
|
||||
"http://localhost:4001/en/github/creating-cloning-and-archiving-repositories/cloning-a-repository",
|
||||
"http://localhost:4001/en/github/writing-on-github/basic-writing-and-formatting-syntax",
|
||||
"http://localhost:4001/en/actions/reference/workflow-syntax-for-github-actions",
|
||||
"http://localhost:4001/en/github/using-git/which-remote-url-should-i-use",
|
||||
"http://localhost:4001/en/github/getting-started-with-github/about-remote-repositories",
|
||||
"http://localhost:4001/en/github/collaborating-with-issues-and-pull-requests/resolving-a-merge-conflict-using-the-command-line",
|
||||
"http://localhost:4001/en/github/using-git/setting-your-username-in-git",
|
||||
"http://localhost:4001/en/github/getting-started-with-github/setting-your-username-in-git",
|
||||
"http://localhost:4001/en/github/setting-up-and-managing-your-github-user-account/setting-your-commit-email-address",
|
||||
"http://localhost:4001/en/github/authenticating-to-github/configuring-two-factor-authentication",
|
||||
"http://localhost:4001/en/github/using-git/adding-a-remote",
|
||||
"http://localhost:4001/en/rest",
|
||||
"http://localhost:4001/en/github/working-with-github-pages/configuring-a-custom-domain-for-your-github-pages-site",
|
||||
"http://localhost:4001/en/github/collaborating-with-issues-and-pull-requests/about-pull-requests",
|
||||
@@ -55,7 +54,7 @@
|
||||
"http://localhost:4001/en/actions/getting-started-with-github-actions",
|
||||
"http://localhost:4001/en/actions/reference/events-that-trigger-workflows",
|
||||
"http://localhost:4001/en/desktop/getting-started-with-github-desktop/installing-github-desktop",
|
||||
"http://localhost:4001/en/github/using-git/ignoring-files",
|
||||
"http://localhost:4001/en/github/getting-started-with-github/ignoring-files",
|
||||
"http://localhost:4001/en/desktop",
|
||||
"http://localhost:4001/en/packages",
|
||||
"http://localhost:4001/en/actions/configuring-and-managing-workflows/configuring-a-workflow",
|
||||
@@ -71,7 +70,7 @@
|
||||
"http://localhost:4001/en/actions/reference/context-and-expression-syntax-for-github-actions",
|
||||
"http://localhost:4001/en/github/managing-files-in-a-repository/navigating-code-on-github",
|
||||
"http://localhost:4001/en/github/teaching-and-learning-with-github-education/applying-for-a-student-developer-pack",
|
||||
"http://localhost:4001/en/github/using-git/caching-your-github-credentials-in-git",
|
||||
"http://localhost:4001/en/github/getting-started-with-github/caching-your-github-credentials-in-git",
|
||||
"http://localhost:4001/en/github/collaborating-with-issues-and-pull-requests/creating-a-pull-request",
|
||||
"http://localhost:4001/en/github/setting-up-and-managing-your-github-user-account/inviting-collaborators-to-a-personal-repository",
|
||||
"http://localhost:4001/en/github/setting-up-and-managing-your-github-user-account/changing-your-github-username",
|
||||
@@ -81,7 +80,6 @@
|
||||
"http://localhost:4001/en/actions/configuring-and-managing-workflows/using-environment-variables",
|
||||
"http://localhost:4001/en/actions/configuring-and-managing-workflows/creating-and-storing-encrypted-secrets",
|
||||
"http://localhost:4001/en/github/authenticating-to-github/removing-sensitive-data-from-a-repository",
|
||||
"http://localhost:4001/en/github/using-git/removing-a-remote",
|
||||
"http://localhost:4001/en/github/authenticating-to-github/creating-a-personal-access-token-for-the-command-line",
|
||||
"http://localhost:4001/en/github/setting-up-and-managing-billing-and-payments-on-github/setting-your-billing-email",
|
||||
"http://localhost:4001/en/github/setting-up-and-managing-your-github-user-account",
|
||||
@@ -90,8 +88,8 @@
|
||||
"http://localhost:4001/en/github/authenticating-to-github/about-two-factor-authentication",
|
||||
"http://localhost:4001/en/github/working-with-github-pages/about-custom-domains-and-github-pages",
|
||||
"http://localhost:4001/en/github/searching-for-information-on-github/searching-code",
|
||||
"http://localhost:4001/en/github/using-git/configuring-git-to-handle-line-endings",
|
||||
"http://localhost:4001/en/github/using-git/getting-changes-from-a-remote-repository",
|
||||
"http://localhost:4001/en/github/getting-started-with-github/configuring-git-to-handle-line-endings",
|
||||
"http://localhost:4001/en/github/getting-started-with-github/getting-changes-from-a-remote-repository",
|
||||
"http://localhost:4001/en/github/authenticating-to-github/generating-a-new-gpg-key",
|
||||
"http://localhost:4001/en/github/authenticating-to-github/accessing-github-using-two-factor-authentication",
|
||||
"http://localhost:4001/en/github/creating-cloning-and-archiving-repositories/licensing-a-repository",
|
||||
|
||||
5
app.json
@@ -3,7 +3,8 @@
|
||||
"env": {
|
||||
"NODE_ENV": "production",
|
||||
"NPM_CONFIG_PRODUCTION": "true",
|
||||
"ENABLED_LANGUAGES": "en"
|
||||
"ENABLED_LANGUAGES": "en",
|
||||
"WEB_CONCURRENCY": "1"
|
||||
},
|
||||
"buildpacks": [
|
||||
{ "url": "heroku/nodejs" }
|
||||
@@ -11,7 +12,7 @@
|
||||
"formation": {
|
||||
"web": {
|
||||
"quantity": 1,
|
||||
"size": "standard-2x"
|
||||
"size": "standard-1x"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
BIN
assets/images/enterprise/configuration/ae-discard-email.png
Normal file
|
After Width: | Height: | Size: 61 KiB |
BIN
assets/images/enterprise/configuration/ae-email-configure.png
Normal file
|
After Width: | Height: | Size: 36 KiB |
|
After Width: | Height: | Size: 42 KiB |
BIN
assets/images/enterprise/configuration/ae-send-test-email.png
Normal file
|
After Width: | Height: | Size: 70 KiB |
BIN
assets/images/enterprise/configuration/ae-test-email.png
Normal file
|
After Width: | Height: | Size: 61 KiB |
|
After Width: | Height: | Size: 55 KiB |
|
After Width: | Height: | Size: 47 KiB |
|
After Width: | Height: | Size: 47 KiB |
|
After Width: | Height: | Size: 22 KiB |
|
After Width: | Height: | Size: 19 KiB |
|
After Width: | Height: | Size: 38 KiB |
|
After Width: | Height: | Size: 40 KiB |
|
After Width: | Height: | Size: 38 KiB |
|
After Width: | Height: | Size: 18 KiB |
|
After Width: | Height: | Size: 34 KiB |
|
After Width: | Height: | Size: 25 KiB |
|
After Width: | Height: | Size: 46 KiB |
|
After Width: | Height: | Size: 15 KiB |
|
After Width: | Height: | Size: 174 KiB |
BIN
assets/images/enterprise/github-ae/teams/choose-an-idp-group.png
Normal file
|
After Width: | Height: | Size: 33 KiB |
BIN
assets/images/enterprise/github-ae/teams/unselect-idp-group.png
Normal file
|
After Width: | Height: | Size: 61 KiB |
|
Before Width: | Height: | Size: 15 KiB |
|
Before Width: | Height: | Size: 12 KiB |
|
Before Width: | Height: | Size: 12 KiB |
|
Before Width: | Height: | Size: 26 KiB |
|
Before Width: | Height: | Size: 13 KiB |
|
Before Width: | Height: | Size: 3.0 KiB |
|
Before Width: | Height: | Size: 56 KiB |
|
Before Width: | Height: | Size: 20 KiB |
|
Before Width: | Height: | Size: 3.4 KiB |
|
Before Width: | Height: | Size: 4.5 KiB |
|
Before Width: | Height: | Size: 20 KiB |
|
Before Width: | Height: | Size: 68 KiB |
|
Before Width: | Height: | Size: 35 KiB |
|
Before Width: | Height: | Size: 44 KiB |
|
Before Width: | Height: | Size: 57 KiB |
|
Before Width: | Height: | Size: 19 KiB |
|
Before Width: | Height: | Size: 5.0 KiB |