chore: Add Prettier for Yaml formatting
Related to #128 - Prettier to fix indenting/quoting across files - Manually adjust list styles to "-" style - Ignore all translated files from automated formatting - Drop redundant CI env variable
This commit is contained in:
27
.github/workflows/60-days-stale-check.yml
vendored
27
.github/workflows/60-days-stale-check.yml
vendored
@@ -1,22 +1,21 @@
|
|||||||
name: 60 Days Stale Check
|
name: 60 Days Stale Check
|
||||||
on:
|
on:
|
||||||
schedule:
|
schedule:
|
||||||
- cron: "40 16 * * *" # Run each day at 16:40 UTC / 8:40 PST
|
- cron: '40 16 * * *' # Run each day at 16:40 UTC / 8:40 PST
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
stale:
|
stale:
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/stale@af4072615903a8b031f986d25b1ae3bf45ec44d4
|
- uses: actions/stale@af4072615903a8b031f986d25b1ae3bf45ec44d4
|
||||||
with:
|
with:
|
||||||
repo-token: ${{ secrets.GITHUB_TOKEN }}
|
repo-token: ${{ secrets.GITHUB_TOKEN }}
|
||||||
stale-issue-message: 'This issue is stale because it has been open 60 days with no activity.'
|
stale-issue-message: 'This issue is stale because it has been open 60 days with no activity.'
|
||||||
stale-pr-message: 'This PR is stale because it has been open 60 days with no activity.'
|
stale-pr-message: 'This PR is stale because it has been open 60 days with no activity.'
|
||||||
days-before-stale: 60
|
days-before-stale: 60
|
||||||
days-before-close: -1
|
days-before-close: -1
|
||||||
only-labels: 'engineering'
|
only-labels: 'engineering'
|
||||||
stale-issue-label: 'stale'
|
stale-issue-label: 'stale'
|
||||||
stale-pr-label: 'stale'
|
stale-pr-label: 'stale'
|
||||||
exempt-pr-labels: 'never-stale'
|
exempt-pr-labels: 'never-stale'
|
||||||
exempt-issue-labels: 'never-stale'
|
exempt-issue-labels: 'never-stale'
|
||||||
|
|
||||||
|
|||||||
8
.github/workflows/auto-label-prs.yml
vendored
8
.github/workflows/auto-label-prs.yml
vendored
@@ -1,12 +1,12 @@
|
|||||||
name: Auto label Pull Requests
|
name: Auto label Pull Requests
|
||||||
on:
|
on:
|
||||||
- pull_request
|
pull_request:
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
triage:
|
triage:
|
||||||
if: github.repository == 'github/docs-internal'
|
if: github.repository == 'github/docs-internal'
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/labeler@5f867a63be70efff62b767459b009290364495eb
|
- uses: actions/labeler@5f867a63be70efff62b767459b009290364495eb
|
||||||
with:
|
with:
|
||||||
repo-token: "${{ secrets.GITHUB_TOKEN }}"
|
repo-token: '${{ secrets.GITHUB_TOKEN }}'
|
||||||
|
|||||||
8
.github/workflows/automerge-dependencies.yml
vendored
8
.github/workflows/automerge-dependencies.yml
vendored
@@ -3,10 +3,10 @@ name: Auto Merge Dependency Updates
|
|||||||
on:
|
on:
|
||||||
pull_request:
|
pull_request:
|
||||||
paths:
|
paths:
|
||||||
- "package*.json"
|
- 'package*.json'
|
||||||
- "Gemfile*"
|
- 'Gemfile*'
|
||||||
- "Dockerfile"
|
- 'Dockerfile'
|
||||||
- ".github/workflows/**"
|
- '.github/workflows/**'
|
||||||
pull_request_review:
|
pull_request_review:
|
||||||
types:
|
types:
|
||||||
- edited
|
- edited
|
||||||
|
|||||||
20
.github/workflows/automerge.yml
vendored
20
.github/workflows/automerge.yml
vendored
@@ -23,14 +23,14 @@ jobs:
|
|||||||
if: contains(github.event.pull_request.labels.*.name, 'automerge') || contains(github.event.pull_request.labels.*.name, 'autosquash')
|
if: contains(github.event.pull_request.labels.*.name, 'automerge') || contains(github.event.pull_request.labels.*.name, 'autosquash')
|
||||||
steps:
|
steps:
|
||||||
- name: automerge
|
- name: automerge
|
||||||
uses: "pascalgn/automerge-action@c9bd182"
|
uses: 'pascalgn/automerge-action@c9bd182'
|
||||||
env:
|
env:
|
||||||
GITHUB_TOKEN: "${{ secrets.OCTOMERGER_PAT_WITH_REPO_AND_WORKFLOW_SCOPE }}"
|
GITHUB_TOKEN: '${{ secrets.OCTOMERGER_PAT_WITH_REPO_AND_WORKFLOW_SCOPE }}'
|
||||||
MERGE_METHOD_LABELS: "automerge=merge,autosquash=squash"
|
MERGE_METHOD_LABELS: 'automerge=merge,autosquash=squash'
|
||||||
MERGE_COMMIT_MESSAGE: "pull-request-title"
|
MERGE_COMMIT_MESSAGE: 'pull-request-title'
|
||||||
MERGE_METHOD: "merge"
|
MERGE_METHOD: 'merge'
|
||||||
MERGE_FORKS: "true"
|
MERGE_FORKS: 'true'
|
||||||
MERGE_RETRIES: "50"
|
MERGE_RETRIES: '50'
|
||||||
MERGE_RETRY_SLEEP: "10000" # ten seconds
|
MERGE_RETRY_SLEEP: '10000' # ten seconds
|
||||||
UPDATE_LABELS: "automerge,autosquash"
|
UPDATE_LABELS: 'automerge,autosquash'
|
||||||
UPDATE_METHOD: "merge"
|
UPDATE_METHOD: 'merge'
|
||||||
|
|||||||
40
.github/workflows/check-all-english-links.yml
vendored
40
.github/workflows/check-all-english-links.yml
vendored
@@ -3,7 +3,7 @@ name: Check all English links
|
|||||||
on:
|
on:
|
||||||
workflow_dispatch:
|
workflow_dispatch:
|
||||||
schedule:
|
schedule:
|
||||||
- cron: "40 19 * * *" # once a day at 19:40 UTC / 11:40 PST
|
- cron: '40 19 * * *' # once a day at 19:40 UTC / 11:40 PST
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
check_all_english_links:
|
check_all_english_links:
|
||||||
@@ -11,22 +11,22 @@ jobs:
|
|||||||
if: github.repository == 'github/docs-internal'
|
if: github.repository == 'github/docs-internal'
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@5a4ac9002d0be2fb38bd78e4b4dbde5606d7042f
|
- uses: actions/checkout@5a4ac9002d0be2fb38bd78e4b4dbde5606d7042f
|
||||||
- name: npm ci
|
- name: npm ci
|
||||||
run: npm ci
|
run: npm ci
|
||||||
- name: npm run build
|
- name: npm run build
|
||||||
run: npm run build
|
run: npm run build
|
||||||
- name: Run script
|
- name: Run script
|
||||||
run: script/check-english-links.js > broken_links.md
|
run: script/check-english-links.js > broken_links.md
|
||||||
- if: ${{ failure() }}
|
- if: ${{ failure() }}
|
||||||
name: Get title for issue
|
name: Get title for issue
|
||||||
id: check
|
id: check
|
||||||
run: echo "::set-output name=title::$(head -1 broken_links.md)"
|
run: echo "::set-output name=title::$(head -1 broken_links.md)"
|
||||||
- if: ${{ failure() }}
|
- if: ${{ failure() }}
|
||||||
name: Create issue from file
|
name: Create issue from file
|
||||||
uses: peter-evans/create-issue-from-file@35e304e2a12caac08c568247a2cb46ecd0c3ecc5
|
uses: peter-evans/create-issue-from-file@35e304e2a12caac08c568247a2cb46ecd0c3ecc5
|
||||||
with:
|
with:
|
||||||
token: ${{ secrets.DOCUBOT_FR_PROJECT_BOARD_WORKFLOWS_REPO_ORG_READ_SCOPES }}
|
token: ${{ secrets.DOCUBOT_FR_PROJECT_BOARD_WORKFLOWS_REPO_ORG_READ_SCOPES }}
|
||||||
title: ${{ steps.check.outputs.title }}
|
title: ${{ steps.check.outputs.title }}
|
||||||
content-filepath: ./broken_links.md
|
content-filepath: ./broken_links.md
|
||||||
labels: broken link report
|
labels: broken link report
|
||||||
|
|||||||
20
.github/workflows/codeql.yml
vendored
20
.github/workflows/codeql.yml
vendored
@@ -1,19 +1,19 @@
|
|||||||
name: "CodeQL analysis"
|
name: CodeQL analysis
|
||||||
|
|
||||||
on:
|
on:
|
||||||
push:
|
push:
|
||||||
paths:
|
paths:
|
||||||
- '**/*.js'
|
- '**/*.js'
|
||||||
- '.github/workflows/codeql.yml'
|
- '.github/workflows/codeql.yml'
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
build:
|
build:
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
|
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@5a4ac9002d0be2fb38bd78e4b4dbde5606d7042f
|
- uses: actions/checkout@5a4ac9002d0be2fb38bd78e4b4dbde5606d7042f
|
||||||
- uses: github/codeql-action/init@v1
|
- uses: github/codeql-action/init@v1
|
||||||
with:
|
with:
|
||||||
languages: javascript # comma separated list of values from {go, python, javascript, java, cpp, csharp} (not YET ruby, sorry!)
|
languages: javascript # comma separated list of values from {go, python, javascript, java, cpp, csharp} (not YET ruby, sorry!)
|
||||||
- uses: github/codeql-action/analyze@v1
|
- uses: github/codeql-action/analyze@v1
|
||||||
continue-on-error: true
|
continue-on-error: true
|
||||||
|
|||||||
10
.github/workflows/crowdin.yml
vendored
10
.github/workflows/crowdin.yml
vendored
@@ -3,7 +3,7 @@ name: Crowdin Sync
|
|||||||
on:
|
on:
|
||||||
workflow_dispatch:
|
workflow_dispatch:
|
||||||
schedule:
|
schedule:
|
||||||
- cron: "33 2 * * *" # every day at 2:33 UTC at least until automerge is working
|
- cron: '33 2 * * *' # every day at 2:33 UTC at least until automerge is working
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
sync_with_crowdin:
|
sync_with_crowdin:
|
||||||
@@ -20,7 +20,7 @@ jobs:
|
|||||||
upload_translations: false
|
upload_translations: false
|
||||||
download_translations: true
|
download_translations: true
|
||||||
create_pull_request: true
|
create_pull_request: true
|
||||||
|
|
||||||
# Using a custom config temporarily to avoid clobbering the existing crowdin.yml
|
# Using a custom config temporarily to avoid clobbering the existing crowdin.yml
|
||||||
# that is used by the github-help-docs OAuth integration.
|
# that is used by the github-help-docs OAuth integration.
|
||||||
config: 'crowdin.yml'
|
config: 'crowdin.yml'
|
||||||
@@ -35,17 +35,15 @@ jobs:
|
|||||||
crowdin_branch_name: main
|
crowdin_branch_name: main
|
||||||
|
|
||||||
env:
|
env:
|
||||||
# Using an @octoglot token instead of the default Actions-provided GITHUB_TOKEN here
|
# Using an @octoglot token instead of the default Actions-provided GITHUB_TOKEN here
|
||||||
# so that subsequent workflows will be able to run on the pull request created by this workflow.
|
# so that subsequent workflows will be able to run on the pull request created by this workflow.
|
||||||
GITHUB_TOKEN: ${{ secrets.OCTOGLOT_PAT_WITH_REPO_AND_WORKFLOW_SCOPE }}
|
GITHUB_TOKEN: ${{ secrets.OCTOGLOT_PAT_WITH_REPO_AND_WORKFLOW_SCOPE }}
|
||||||
|
|
||||||
# This is a numeric id, not to be confused with Crowdin API v1 "project identifier" string
|
# This is a numeric id, not to be confused with Crowdin API v1 "project identifier" string
|
||||||
# See "API v2" on https://crowdin.com/project/<your-project>/settings#api
|
# See "API v2" on https://crowdin.com/project/<your-project>/settings#api
|
||||||
CROWDIN_PROJECT_ID: ${{ secrets.CROWDIN_PROJECT_ID }}
|
CROWDIN_PROJECT_ID: ${{ secrets.CROWDIN_PROJECT_ID }}
|
||||||
|
|
||||||
# A personal access token, not to be confused with Crowdin API v1 "API key"
|
# A personal access token, not to be confused with Crowdin API v1 "API key"
|
||||||
# See https://crowdin.com/settings#api-key to generate a token
|
# See https://crowdin.com/settings#api-key to generate a token
|
||||||
# This token was created by logging into Crowdin with the octoglot user
|
# This token was created by logging into Crowdin with the octoglot user
|
||||||
CROWDIN_PERSONAL_TOKEN: ${{ secrets.CROWDIN_PERSONAL_TOKEN }}
|
CROWDIN_PERSONAL_TOKEN: ${{ secrets.CROWDIN_PERSONAL_TOKEN }}
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -9,23 +9,23 @@ jobs:
|
|||||||
if: github.repository == 'github/docs-internal'
|
if: github.repository == 'github/docs-internal'
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
steps:
|
steps:
|
||||||
- name: checkout
|
- name: checkout
|
||||||
uses: actions/checkout@5a4ac9002d0be2fb38bd78e4b4dbde5606d7042f
|
uses: actions/checkout@5a4ac9002d0be2fb38bd78e4b4dbde5606d7042f
|
||||||
- uses: actions/setup-node@56899e050abffc08c2b3b61f3ec6a79a9dc3223d
|
- uses: actions/setup-node@56899e050abffc08c2b3b61f3ec6a79a9dc3223d
|
||||||
with:
|
with:
|
||||||
node-version: 14.x
|
node-version: 14.x
|
||||||
- name: cache node modules
|
- name: cache node modules
|
||||||
uses: actions/cache@0781355a23dac32fd3bac414512f4b903437991a
|
uses: actions/cache@0781355a23dac32fd3bac414512f4b903437991a
|
||||||
with:
|
with:
|
||||||
path: ~/.npm
|
path: ~/.npm
|
||||||
key: ${{ runner.os }}-node-${{ hashFiles('**/package-lock.json') }}
|
key: ${{ runner.os }}-node-${{ hashFiles('**/package-lock.json') }}
|
||||||
restore-keys: |
|
restore-keys: |
|
||||||
${{ runner.os }}-node-
|
${{ runner.os }}-node-
|
||||||
- name: npm ci
|
- name: npm ci
|
||||||
run: npm ci
|
run: npm ci
|
||||||
- name: (Dry run) sync indices
|
- name: (Dry run) sync indices
|
||||||
env:
|
env:
|
||||||
ALGOLIA_APPLICATION_ID: ${{ secrets.ALGOLIA_APPLICATION_ID }}
|
ALGOLIA_APPLICATION_ID: ${{ secrets.ALGOLIA_APPLICATION_ID }}
|
||||||
ALGOLIA_API_KEY: ${{ secrets.ALGOLIA_API_KEY }}
|
ALGOLIA_API_KEY: ${{ secrets.ALGOLIA_API_KEY }}
|
||||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||||
run: npm run sync-search-dry-run
|
run: npm run sync-search-dry-run
|
||||||
|
|||||||
137
.github/workflows/first-responder-docs-content.yml
vendored
137
.github/workflows/first-responder-docs-content.yml
vendored
@@ -1,7 +1,12 @@
|
|||||||
name: First responder docs-content
|
name: First responder docs-content
|
||||||
on:
|
on:
|
||||||
pull_request:
|
pull_request:
|
||||||
types: [reopened, opened, ready_for_review, closed, unlabeled]
|
types:
|
||||||
|
- reopened
|
||||||
|
- opened
|
||||||
|
- ready_for_review
|
||||||
|
- closed
|
||||||
|
- unlabeled
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
first-responder-triage-pr:
|
first-responder-triage-pr:
|
||||||
@@ -10,46 +15,46 @@ jobs:
|
|||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
|
|
||||||
steps:
|
steps:
|
||||||
- name: Check if the event originated from a team member
|
- name: Check if the event originated from a team member
|
||||||
uses: actions/github-script@626af12fe9a53dc2972b48385e7fe7dec79145c9
|
uses: actions/github-script@626af12fe9a53dc2972b48385e7fe7dec79145c9
|
||||||
id: set-result
|
id: set-result
|
||||||
with:
|
with:
|
||||||
github-token: ${{secrets.DOCUBOT_FR_PROJECT_BOARD_WORKFLOWS_REPO_ORG_READ_SCOPES}}
|
github-token: ${{secrets.DOCUBOT_FR_PROJECT_BOARD_WORKFLOWS_REPO_ORG_READ_SCOPES}}
|
||||||
result-encoding: string
|
result-encoding: string
|
||||||
script: |
|
script: |
|
||||||
const repoName = context.payload.repository.name
|
const repoName = context.payload.repository.name
|
||||||
const ownerName = context.payload.repository.owner.login
|
const ownerName = context.payload.repository.owner.login
|
||||||
const issueNumber = (context.eventName === "issues") ? context.payload.issue.number : context.payload.number
|
const issueNumber = (context.eventName === "issues") ? context.payload.issue.number : context.payload.number
|
||||||
const updatedIssueInformation = await github.issues.get({
|
const updatedIssueInformation = await github.issues.get({
|
||||||
owner: ownerName,
|
owner: ownerName,
|
||||||
repo: repoName,
|
repo: repoName,
|
||||||
issue_number: issueNumber
|
issue_number: issueNumber
|
||||||
})
|
})
|
||||||
const teamMembers = await github.request(
|
const teamMembers = await github.request(
|
||||||
`/orgs/github/teams/docs/members`
|
`/orgs/github/teams/docs/members`
|
||||||
)
|
)
|
||||||
const logins = teamMembers.data.map(member => member.login)
|
const logins = teamMembers.data.map(member => member.login)
|
||||||
// ignore PRs opened by docs bot accounts
|
// ignore PRs opened by docs bot accounts
|
||||||
logins.push('Octomerger', 'octoglot')
|
logins.push('Octomerger', 'octoglot')
|
||||||
if (logins.some(login => login === updatedIssueInformation.data.user.login)) {
|
if (logins.some(login => login === updatedIssueInformation.data.user.login)) {
|
||||||
console.log(`This issue or pull request was authored by a member of the github/docs team.`)
|
console.log(`This issue or pull request was authored by a member of the github/docs team.`)
|
||||||
return 'true'
|
return 'true'
|
||||||
}
|
}
|
||||||
console.log(`This issue or pull request was authored by an external contributor.`)
|
console.log(`This issue or pull request was authored by an external contributor.`)
|
||||||
return 'false'
|
return 'false'
|
||||||
- name: Label external contributor pull requests with docs-content-fr
|
- name: Label external contributor pull requests with docs-content-fr
|
||||||
uses: rachmari/labeler@832d42ec5523f3c6d46e8168de71cd54363e3e2e
|
uses: rachmari/labeler@832d42ec5523f3c6d46e8168de71cd54363e3e2e
|
||||||
if: steps.set-result.outputs.result == 'false'
|
if: steps.set-result.outputs.result == 'false'
|
||||||
with:
|
with:
|
||||||
repo-token: "${{ secrets.DOCUBOT_FR_PROJECT_BOARD_WORKFLOWS_REPO_ORG_READ_SCOPES }}"
|
repo-token: '${{ secrets.DOCUBOT_FR_PROJECT_BOARD_WORKFLOWS_REPO_ORG_READ_SCOPES }}'
|
||||||
add-labels: "docs-content-fr"
|
add-labels: 'docs-content-fr'
|
||||||
- name: Triage to FR PR project column
|
- name: Triage to FR PR project column
|
||||||
uses: rachmari/actions-add-new-issue-to-column@1a459ef92308ba7c9c9dc2fcdd72f232495574a9
|
uses: rachmari/actions-add-new-issue-to-column@1a459ef92308ba7c9c9dc2fcdd72f232495574a9
|
||||||
if: steps.set-result.outputs.result == 'false'
|
if: steps.set-result.outputs.result == 'false'
|
||||||
with:
|
with:
|
||||||
action-token: ${{ secrets.DOCUBOT_FR_PROJECT_BOARD_WORKFLOWS_REPO_ORG_READ_SCOPES }}
|
action-token: ${{ secrets.DOCUBOT_FR_PROJECT_BOARD_WORKFLOWS_REPO_ORG_READ_SCOPES }}
|
||||||
project-url: "https://github.com/orgs/github/projects/1367"
|
project-url: 'https://github.com/orgs/github/projects/1367'
|
||||||
column-name: "Docs-internal external contributor PRs"
|
column-name: 'Docs-internal external contributor PRs'
|
||||||
|
|
||||||
first-responder-remove-pr:
|
first-responder-remove-pr:
|
||||||
name: Remove PR from FR project board
|
name: Remove PR from FR project board
|
||||||
@@ -57,29 +62,29 @@ jobs:
|
|||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
|
|
||||||
steps:
|
steps:
|
||||||
- name: Remove card from project
|
- name: Remove card from project
|
||||||
uses: actions/github-script@626af12fe9a53dc2972b48385e7fe7dec79145c9
|
uses: actions/github-script@626af12fe9a53dc2972b48385e7fe7dec79145c9
|
||||||
with:
|
with:
|
||||||
github-token: ${{secrets.DOCUBOT_FR_PROJECT_BOARD_WORKFLOWS_REPO_ORG_READ_SCOPES}}
|
github-token: ${{secrets.DOCUBOT_FR_PROJECT_BOARD_WORKFLOWS_REPO_ORG_READ_SCOPES}}
|
||||||
result-encoding: string
|
result-encoding: string
|
||||||
script: |
|
script: |
|
||||||
const issueToRemove = context.payload.number
|
const issueToRemove = context.payload.number
|
||||||
const cards = await github.projects.listCards({
|
const cards = await github.projects.listCards({
|
||||||
column_id: 11130889
|
column_id: 11130889
|
||||||
})
|
})
|
||||||
cards.data.forEach(card => {
|
cards.data.forEach(card => {
|
||||||
if (card.content_url) {
|
if (card.content_url) {
|
||||||
const cardIssueNumber = parseInt(card.content_url.split('/').pop(), 10)
|
const cardIssueNumber = parseInt(card.content_url.split('/').pop(), 10)
|
||||||
if (cardIssueNumber === issueToRemove) {
|
if (cardIssueNumber === issueToRemove) {
|
||||||
const cards = github.projects.deleteCard({
|
const cards = github.projects.deleteCard({
|
||||||
card_id: card.id
|
card_id: card.id
|
||||||
})
|
})
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
})
|
||||||
})
|
- name: Remove docs-content-fr label if not already removed
|
||||||
- name: Remove docs-content-fr label if not already removed
|
if: github.event.action == 'closed'
|
||||||
if: github.event.action == 'closed'
|
uses: rachmari/labeler@832d42ec5523f3c6d46e8168de71cd54363e3e2e
|
||||||
uses: rachmari/labeler@832d42ec5523f3c6d46e8168de71cd54363e3e2e
|
with:
|
||||||
with:
|
repo-token: '${{ secrets.DOCUBOT_FR_PROJECT_BOARD_WORKFLOWS_REPO_ORG_READ_SCOPES }}'
|
||||||
repo-token: "${{ secrets.DOCUBOT_FR_PROJECT_BOARD_WORKFLOWS_REPO_ORG_READ_SCOPES }}"
|
remove-labels: 'docs-content-fr'
|
||||||
remove-labels: "docs-content-fr"
|
|
||||||
|
|||||||
3
.github/workflows/merged-notification.yml
vendored
3
.github/workflows/merged-notification.yml
vendored
@@ -1,7 +1,8 @@
|
|||||||
name: Merged notification
|
name: Merged notification
|
||||||
on:
|
on:
|
||||||
pull_request_target:
|
pull_request_target:
|
||||||
types: ['closed']
|
types:
|
||||||
|
- 'closed'
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
comment:
|
comment:
|
||||||
|
|||||||
4
.github/workflows/pa11y.yml
vendored
4
.github/workflows/pa11y.yml
vendored
@@ -1,8 +1,8 @@
|
|||||||
name: "Pa11y"
|
name: Pa11y
|
||||||
on:
|
on:
|
||||||
workflow_dispatch:
|
workflow_dispatch:
|
||||||
schedule:
|
schedule:
|
||||||
- cron: "25 17 * * *" # once a day at 17:25 UTC / 11:50 PST
|
- cron: '25 17 * * *' # once a day at 17:25 UTC / 11:50 PST
|
||||||
jobs:
|
jobs:
|
||||||
test:
|
test:
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
|
|||||||
16
.github/workflows/ping-staging-apps.yml
vendored
16
.github/workflows/ping-staging-apps.yml
vendored
@@ -2,7 +2,7 @@ name: Ping staging apps
|
|||||||
|
|
||||||
on:
|
on:
|
||||||
schedule:
|
schedule:
|
||||||
- cron: "*/20 * * * *" # every twenty minutes
|
- cron: '*/20 * * * *' # every twenty minutes
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
ping_staging_apps:
|
ping_staging_apps:
|
||||||
@@ -12,10 +12,10 @@ jobs:
|
|||||||
env:
|
env:
|
||||||
HEROKU_API_TOKEN: ${{ secrets.HEROKU_API_TOKEN }}
|
HEROKU_API_TOKEN: ${{ secrets.HEROKU_API_TOKEN }}
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@5a4ac9002d0be2fb38bd78e4b4dbde5606d7042f
|
- uses: actions/checkout@5a4ac9002d0be2fb38bd78e4b4dbde5606d7042f
|
||||||
- name: npm ci
|
- name: npm ci
|
||||||
run: npm ci
|
run: npm ci
|
||||||
- name: npm run build
|
- name: npm run build
|
||||||
run: npm run build
|
run: npm run build
|
||||||
- name: Run script
|
- name: Run script
|
||||||
run: script/ping-staging-apps.js
|
run: script/ping-staging-apps.js
|
||||||
|
|||||||
81
.github/workflows/remove-unused-assets.yml
vendored
81
.github/workflows/remove-unused-assets.yml
vendored
@@ -5,7 +5,7 @@ env:
|
|||||||
|
|
||||||
on:
|
on:
|
||||||
schedule:
|
schedule:
|
||||||
- cron: "20 15 * * 0" # run every Sunday at 20:15 UTC / 12:15 PST
|
- cron: '20 15 * * 0' # run every Sunday at 20:15 UTC / 12:15 PST
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
remove_unused_assets:
|
remove_unused_assets:
|
||||||
@@ -13,42 +13,43 @@ jobs:
|
|||||||
if: github.repository == 'github/docs-internal'
|
if: github.repository == 'github/docs-internal'
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
steps:
|
steps:
|
||||||
- if: ${{ env.FREEZE == 'true' }}
|
- if: ${{ env.FREEZE == 'true' }}
|
||||||
run: |
|
run: |
|
||||||
echo 'The repo is currently frozen! Exiting this workflow.'
|
echo 'The repo is currently frozen! Exiting this workflow.'
|
||||||
exit 1 # prevents further steps from running
|
exit 1 # prevents further steps from running
|
||||||
- name: Checkout
|
- name: Checkout
|
||||||
uses: actions/checkout@5a4ac9002d0be2fb38bd78e4b4dbde5606d7042f
|
uses: actions/checkout@5a4ac9002d0be2fb38bd78e4b4dbde5606d7042f
|
||||||
- name: npm ci
|
- name: npm ci
|
||||||
run: npm ci
|
run: npm ci
|
||||||
- name: Run scripts
|
- name: Run scripts
|
||||||
run: |
|
run: |
|
||||||
script/remove-unused-assets.js > results.md
|
script/remove-unused-assets.js > results.md
|
||||||
script/remove-extraneous-translation-files.js
|
script/remove-extraneous-translation-files.js
|
||||||
- name: Get script results to use in PR body
|
- name: Get script results to use in PR body
|
||||||
id: results
|
id: results
|
||||||
uses: juliangruber/read-file-action@e0a316da496006ffd19142f0fd594a1783f3b512
|
uses: juliangruber/read-file-action@e0a316da496006ffd19142f0fd594a1783f3b512
|
||||||
with:
|
with:
|
||||||
path: ./results.md
|
path: ./results.md
|
||||||
- name: Remove script results file
|
- name: Remove script results file
|
||||||
run: rm -rf ./results.md
|
run: rm -rf ./results.md
|
||||||
- name: Create pull request
|
- name: Create pull request
|
||||||
uses: peter-evans/create-pull-request@938e6aea6f8dbdaced2064e948cb806c77fe87b8
|
uses: peter-evans/create-pull-request@938e6aea6f8dbdaced2064e948cb806c77fe87b8
|
||||||
with:
|
with:
|
||||||
# need to use a token with repo and workflow scopes for this step
|
# need to use a token with repo and workflow scopes for this step
|
||||||
token: ${{ secrets.OCTOMERGER_PAT_WITH_REPO_AND_WORKFLOW_SCOPE }}
|
token: ${{ secrets.OCTOMERGER_PAT_WITH_REPO_AND_WORKFLOW_SCOPE }}
|
||||||
commit-message: Action ran script/remove-unused-assets.js
|
commit-message: Action ran script/remove-unused-assets.js
|
||||||
title: Remove unused assets
|
title: Remove unused assets
|
||||||
body: "Hello! This PR removes some files that exist in the repo but are not used in content or data files:\n\n
|
body:
|
||||||
${{ steps.results.outputs.content }}
|
"Hello! This PR removes some files that exist in the repo but are not used in content or data files:\n\n
|
||||||
\n\nIf you have any questions, please contact @github/docs-engineering."
|
${{ steps.results.outputs.content }}
|
||||||
labels: unused assets
|
\n\nIf you have any questions, please contact @github/docs-engineering."
|
||||||
project: Core docs work for the current week
|
labels: unused assets
|
||||||
project-column: Should do
|
project: Core docs work for the current week
|
||||||
branch: remove-unused-assets
|
project-column: Should do
|
||||||
- if: ${{ failure() }}
|
branch: remove-unused-assets
|
||||||
name: Delete remote branch (if previous steps failed)
|
- if: ${{ failure() }}
|
||||||
uses: dawidd6/action-delete-branch@47743101a121ad657031e6704086271ca81b1911
|
name: Delete remote branch (if previous steps failed)
|
||||||
with:
|
uses: dawidd6/action-delete-branch@47743101a121ad657031e6704086271ca81b1911
|
||||||
github_token: ${{ secrets.GITHUB_TOKEN }}
|
with:
|
||||||
branches: remove-unused-assets
|
github_token: ${{ secrets.GITHUB_TOKEN }}
|
||||||
|
branches: remove-unused-assets
|
||||||
|
|||||||
11
.github/workflows/repo-freeze-check.yml
vendored
11
.github/workflows/repo-freeze-check.yml
vendored
@@ -19,9 +19,8 @@ jobs:
|
|||||||
name: Prevent merging during deployment freezes
|
name: Prevent merging during deployment freezes
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
steps:
|
steps:
|
||||||
|
- name: Fail if repo merges are paused
|
||||||
- name: Fail if repo merges are paused
|
if: ${{ env.FREEZE == 'true' }}
|
||||||
if: ${{ env.FREEZE == 'true' }}
|
run: |
|
||||||
run: |
|
echo 'Merges into the "main" branch on this repo are currently paused!'
|
||||||
echo 'Merges into the "main" branch on this repo are currently paused!'
|
exit 1
|
||||||
exit 1
|
|
||||||
|
|||||||
21
.github/workflows/repo-freeze-reminders.yml
vendored
21
.github/workflows/repo-freeze-reminders.yml
vendored
@@ -2,7 +2,7 @@ name: Repo Freeze Reminders
|
|||||||
|
|
||||||
on:
|
on:
|
||||||
schedule:
|
schedule:
|
||||||
- cron: "00 11 * * *" # once per day around 11:00am UTC
|
- cron: '00 11 * * *' # once per day around 11:00am UTC
|
||||||
|
|
||||||
env:
|
env:
|
||||||
FREEZE: ${{ secrets.FREEZE }}
|
FREEZE: ${{ secrets.FREEZE }}
|
||||||
@@ -13,13 +13,12 @@ jobs:
|
|||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
if: github.repository == 'github/docs-internal'
|
if: github.repository == 'github/docs-internal'
|
||||||
steps:
|
steps:
|
||||||
|
- name: Send Slack notification if repo is frozen
|
||||||
- name: Send Slack notification if repo is frozen
|
if: ${{ env.FREEZE == 'true' }}
|
||||||
if: ${{ env.FREEZE == 'true' }}
|
uses: rtCamp/action-slack-notify@e17352feaf9aee300bf0ebc1dfbf467d80438815
|
||||||
uses: rtCamp/action-slack-notify@e17352feaf9aee300bf0ebc1dfbf467d80438815
|
env:
|
||||||
env:
|
SLACK_WEBHOOK: ${{ secrets.DOCS_ALERTS_SLACK_WEBHOOK }}
|
||||||
SLACK_WEBHOOK: ${{ secrets.DOCS_ALERTS_SLACK_WEBHOOK }}
|
SLACK_USERNAME: docs-repo-sync
|
||||||
SLACK_USERNAME: docs-repo-sync
|
SLACK_ICON_EMOJI: ':freezing_face:'
|
||||||
SLACK_ICON_EMOJI: ':freezing_face:'
|
SLACK_COLOR: '#51A0D5' # Carolina Blue
|
||||||
SLACK_COLOR: '#51A0D5' # Carolina Blue
|
SLACK_MESSAGE: All repo-sync runs will fail for ${{ github.repository }} because the repo is currently frozen!
|
||||||
SLACK_MESSAGE: All repo-sync runs will fail for ${{ github.repository }} because the repo is currently frozen!
|
|
||||||
|
|||||||
106
.github/workflows/repo-sync.yml
vendored
106
.github/workflows/repo-sync.yml
vendored
@@ -1,14 +1,14 @@
|
|||||||
# The docs.github.com project has two repositories: github/docs (public) and github/docs-internal (private)
|
# The docs.github.com project has two repositories: github/docs (public) and github/docs-internal (private)
|
||||||
#
|
#
|
||||||
# This GitHub Actions workflow keeps the main branch of those two repos in sync.
|
# This GitHub Actions workflow keeps the main branch of those two repos in sync.
|
||||||
#
|
#
|
||||||
# For more details, see https://github.com/repo-sync/repo-sync#how-it-works
|
# For more details, see https://github.com/repo-sync/repo-sync#how-it-works
|
||||||
|
|
||||||
name: Repo Sync
|
name: Repo Sync
|
||||||
|
|
||||||
on:
|
on:
|
||||||
schedule:
|
schedule:
|
||||||
- cron: "*/15 * * * *" # every 15 minutes
|
- cron: '*/15 * * * *' # every 15 minutes
|
||||||
|
|
||||||
env:
|
env:
|
||||||
FREEZE: ${{ secrets.FREEZE }}
|
FREEZE: ${{ secrets.FREEZE }}
|
||||||
@@ -18,65 +18,63 @@ jobs:
|
|||||||
name: Check for deployment freezes
|
name: Check for deployment freezes
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
steps:
|
steps:
|
||||||
|
- name: Exit if repo is frozen
|
||||||
- name: Exit if repo is frozen
|
if: ${{ env.FREEZE == 'true' }}
|
||||||
if: ${{ env.FREEZE == 'true' }}
|
run: |
|
||||||
run: |
|
echo 'The repo is currently frozen! Exiting this workflow.'
|
||||||
echo 'The repo is currently frozen! Exiting this workflow.'
|
exit 1 # prevents further steps from running
|
||||||
exit 1 # prevents further steps from running
|
|
||||||
|
|
||||||
repo-sync:
|
repo-sync:
|
||||||
name: Repo Sync
|
name: Repo Sync
|
||||||
needs: check-freezer
|
needs: check-freezer
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
steps:
|
steps:
|
||||||
|
- name: Check out repo
|
||||||
|
uses: actions/checkout@5a4ac9002d0be2fb38bd78e4b4dbde5606d7042f
|
||||||
|
|
||||||
- name: Check out repo
|
- name: Sync repo to branch
|
||||||
uses: actions/checkout@5a4ac9002d0be2fb38bd78e4b4dbde5606d7042f
|
uses: repo-sync/github-sync@3832fe8e2be32372e1b3970bbae8e7079edeec88
|
||||||
|
env:
|
||||||
|
GITHUB_TOKEN: ${{ secrets.OCTOMERGER_PAT_WITH_REPO_AND_WORKFLOW_SCOPE }}
|
||||||
|
with:
|
||||||
|
source_repo: ${{ secrets.SOURCE_REPO }} # https://${access_token}@github.com/github/the-other-repo.git
|
||||||
|
source_branch: main
|
||||||
|
destination_branch: repo-sync
|
||||||
|
github_token: ${{ secrets.OCTOMERGER_PAT_WITH_REPO_AND_WORKFLOW_SCOPE }}
|
||||||
|
|
||||||
- name: Sync repo to branch
|
- name: Create pull request
|
||||||
uses: repo-sync/github-sync@3832fe8e2be32372e1b3970bbae8e7079edeec88
|
uses: repo-sync/pull-request@33777245b1aace1a58c87a29c90321aa7a74bd7d
|
||||||
env:
|
env:
|
||||||
GITHUB_TOKEN: ${{ secrets.OCTOMERGER_PAT_WITH_REPO_AND_WORKFLOW_SCOPE }}
|
GITHUB_TOKEN: ${{ secrets.OCTOMERGER_PAT_WITH_REPO_AND_WORKFLOW_SCOPE }}
|
||||||
with:
|
with:
|
||||||
source_repo: ${{ secrets.SOURCE_REPO }} # https://${access_token}@github.com/github/the-other-repo.git
|
source_branch: repo-sync
|
||||||
source_branch: main
|
destination_branch: main
|
||||||
destination_branch: repo-sync
|
pr_title: 'repo sync'
|
||||||
github_token: ${{ secrets.OCTOMERGER_PAT_WITH_REPO_AND_WORKFLOW_SCOPE }}
|
pr_body: "This is an automated pull request to sync changes between the public and private repos.\n\n:robot: This pull request should be merged (not squashed) to preserve continuity across repos, so please let a bot do the merging!"
|
||||||
|
pr_label: automerge,autoupdate
|
||||||
|
github_token: ${{ secrets.OCTOMERGER_PAT_WITH_REPO_AND_WORKFLOW_SCOPE }}
|
||||||
|
|
||||||
- name: Create pull request
|
- name: Find pull request
|
||||||
uses: repo-sync/pull-request@33777245b1aace1a58c87a29c90321aa7a74bd7d
|
uses: juliangruber/find-pull-request-action@64d55773c959748ad30a4184f4dc102af1669f7b
|
||||||
env:
|
id: find-pull-request
|
||||||
GITHUB_TOKEN: ${{ secrets.OCTOMERGER_PAT_WITH_REPO_AND_WORKFLOW_SCOPE }}
|
with:
|
||||||
with:
|
github-token: ${{ secrets.GITHUB_TOKEN }}
|
||||||
source_branch: repo-sync
|
branch: repo-sync
|
||||||
destination_branch: main
|
base: main
|
||||||
pr_title: "repo sync"
|
|
||||||
pr_body: "This is an automated pull request to sync changes between the public and private repos.\n\n:robot: This pull request should be merged (not squashed) to preserve continuity across repos, so please let a bot do the merging!"
|
|
||||||
pr_label: automerge,autoupdate
|
|
||||||
github_token: ${{ secrets.OCTOMERGER_PAT_WITH_REPO_AND_WORKFLOW_SCOPE }}
|
|
||||||
|
|
||||||
- name: Find pull request
|
- name: Approve pull request
|
||||||
uses: juliangruber/find-pull-request-action@64d55773c959748ad30a4184f4dc102af1669f7b
|
if: ${{ steps.find-pull-request.outputs.number }}
|
||||||
id: find-pull-request
|
uses: juliangruber/approve-pull-request-action@c530832d4d346c597332e20e03605aa94fa150a8
|
||||||
with:
|
with:
|
||||||
github-token: ${{ secrets.GITHUB_TOKEN }}
|
github-token: ${{ secrets.GITHUB_TOKEN }}
|
||||||
branch: repo-sync
|
number: ${{ steps.find-pull-request.outputs.number }}
|
||||||
base: main
|
|
||||||
|
|
||||||
- name: Approve pull request
|
- name: Send Slack notification if workflow fails
|
||||||
if: ${{ steps.find-pull-request.outputs.number }}
|
uses: rtCamp/action-slack-notify@e17352feaf9aee300bf0ebc1dfbf467d80438815
|
||||||
uses: juliangruber/approve-pull-request-action@c530832d4d346c597332e20e03605aa94fa150a8
|
if: ${{ failure() }}
|
||||||
with:
|
env:
|
||||||
github-token: ${{ secrets.GITHUB_TOKEN }}
|
SLACK_WEBHOOK: ${{ secrets.DOCS_ALERTS_SLACK_WEBHOOK }}
|
||||||
number: ${{ steps.find-pull-request.outputs.number }}
|
SLACK_USERNAME: docs-repo-sync
|
||||||
|
SLACK_ICON_EMOJI: ':ohno:'
|
||||||
- name: Send Slack notification if workflow fails
|
SLACK_COLOR: '#B90E0A' # Crimson
|
||||||
uses: rtCamp/action-slack-notify@e17352feaf9aee300bf0ebc1dfbf467d80438815
|
SLACK_MESSAGE: The last repo-sync run for ${{github.repository}} failed. See https://github.com/${{github.repository}}/actions?query=workflow%3A%22Repo+Sync%22
|
||||||
if: ${{ failure() }}
|
|
||||||
env:
|
|
||||||
SLACK_WEBHOOK: ${{ secrets.DOCS_ALERTS_SLACK_WEBHOOK }}
|
|
||||||
SLACK_USERNAME: docs-repo-sync
|
|
||||||
SLACK_ICON_EMOJI: ':ohno:'
|
|
||||||
SLACK_COLOR: '#B90E0A' # Crimson
|
|
||||||
SLACK_MESSAGE: The last repo-sync run for ${{github.repository}} failed. See https://github.com/${{github.repository}}/actions?query=workflow%3A%22Repo+Sync%22
|
|
||||||
|
|||||||
20
.github/workflows/send-eng-issues-to-backlog.yml
vendored
20
.github/workflows/send-eng-issues-to-backlog.yml
vendored
@@ -1,20 +1,22 @@
|
|||||||
name: Send Issue to EPD backlog
|
name: Send Issue to EPD backlog
|
||||||
|
|
||||||
on:
|
on:
|
||||||
issues:
|
issues:
|
||||||
types: [labeled, reopened]
|
types:
|
||||||
|
- labeled
|
||||||
|
- reopened
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
triage:
|
triage:
|
||||||
if: github.repository == 'github/docs-internal'
|
if: github.repository == 'github/docs-internal'
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
continue-on-error: true
|
continue-on-error: true
|
||||||
steps:
|
steps:
|
||||||
- name: Add issues with engineering label to project board
|
- 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')
|
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
|
uses: actions/github-script@626af12fe9a53dc2972b48385e7fe7dec79145c9
|
||||||
with:
|
with:
|
||||||
github-token: ${{ secrets.DOCUBOT_FR_PROJECT_BOARD_WORKFLOWS_REPO_ORG_READ_SCOPES }}
|
github-token: ${{ secrets.DOCUBOT_FR_PROJECT_BOARD_WORKFLOWS_REPO_ORG_READ_SCOPES }}
|
||||||
script: |
|
script: |
|
||||||
var column_id = 9659080;
|
var column_id = 9659080;
|
||||||
try {
|
try {
|
||||||
|
|||||||
@@ -1,9 +1,11 @@
|
|||||||
name: Start new engineering PR workflow
|
name: Start new engineering PR workflow
|
||||||
|
|
||||||
on:
|
on:
|
||||||
pull_request_target:
|
pull_request_target:
|
||||||
types: [opened, reopened]
|
types:
|
||||||
|
- opened
|
||||||
|
- reopened
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
triage:
|
triage:
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
@@ -12,52 +14,52 @@ jobs:
|
|||||||
DRAFT_COLUMN_ID: 10095775
|
DRAFT_COLUMN_ID: 10095775
|
||||||
REGULAR_COLUMN_ID: 10095779
|
REGULAR_COLUMN_ID: 10095779
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/github-script@626af12fe9a53dc2972b48385e7fe7dec79145c9
|
- uses: actions/github-script@626af12fe9a53dc2972b48385e7fe7dec79145c9
|
||||||
continue-on-error: true
|
continue-on-error: true
|
||||||
with:
|
with:
|
||||||
github-token: ${{ secrets.DOCUBOT_FR_PROJECT_BOARD_WORKFLOWS_REPO_ORG_READ_SCOPES }}
|
github-token: ${{ secrets.DOCUBOT_FR_PROJECT_BOARD_WORKFLOWS_REPO_ORG_READ_SCOPES }}
|
||||||
script: |
|
script: |
|
||||||
// Only assign the engineering folks
|
// Only assign the engineering folks
|
||||||
try {
|
try {
|
||||||
await github.teams.getMembershipForUserInOrg({
|
await github.teams.getMembershipForUserInOrg({
|
||||||
org: 'github',
|
org: 'github',
|
||||||
team_slug: 'docs-engineering',
|
team_slug: 'docs-engineering',
|
||||||
username: context.payload.sender.login,
|
username: context.payload.sender.login,
|
||||||
});
|
});
|
||||||
} catch(err) {
|
} catch(err) {
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
// Set column ID
|
// Set column ID
|
||||||
const column_id = context.payload.pull_request.draft
|
const column_id = context.payload.pull_request.draft
|
||||||
? process.env.DRAFT_COLUMN_ID
|
? process.env.DRAFT_COLUMN_ID
|
||||||
: process.env.REGULAR_COLUMN_ID
|
: process.env.REGULAR_COLUMN_ID
|
||||||
|
|
||||||
// Try to create the card on the GitHub Project
|
// Try to create the card on the GitHub Project
|
||||||
try {
|
try {
|
||||||
await github.projects.createCard({
|
await github.projects.createCard({
|
||||||
column_id: column_id,
|
column_id: column_id,
|
||||||
content_type: 'PullRequest',
|
content_type: 'PullRequest',
|
||||||
content_id: context.payload.pull_request.id
|
content_id: context.payload.pull_request.id
|
||||||
});
|
});
|
||||||
} catch(error) {
|
} catch(error) {
|
||||||
console.log(error);
|
console.log(error);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
// Try to set the author as the assignee
|
// Try to set the author as the assignee
|
||||||
const owner = context.payload.repository.owner.login
|
const owner = context.payload.repository.owner.login
|
||||||
const repo = context.payload.repository.name
|
const repo = context.payload.repository.name
|
||||||
|
|
||||||
try {
|
try {
|
||||||
await github.issues.addAssignees({
|
await github.issues.addAssignees({
|
||||||
owner: owner,
|
owner: owner,
|
||||||
repo: repo,
|
repo: repo,
|
||||||
issue_number: context.payload.pull_request.number,
|
issue_number: context.payload.pull_request.number,
|
||||||
assignees: [
|
assignees: [
|
||||||
context.payload.sender.login
|
context.payload.sender.login
|
||||||
]
|
]
|
||||||
});
|
});
|
||||||
} catch(error) {
|
} catch(error) {
|
||||||
console.log(error);
|
console.log(error);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -4,7 +4,7 @@ on:
|
|||||||
workflow_dispatch:
|
workflow_dispatch:
|
||||||
push:
|
push:
|
||||||
branches:
|
branches:
|
||||||
- main
|
- main
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
updateIndices:
|
updateIndices:
|
||||||
@@ -12,29 +12,29 @@ jobs:
|
|||||||
if: github.repository == 'github/docs-internal'
|
if: github.repository == 'github/docs-internal'
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
steps:
|
steps:
|
||||||
- name: checkout
|
- name: checkout
|
||||||
uses: actions/checkout@5a4ac9002d0be2fb38bd78e4b4dbde5606d7042f
|
uses: actions/checkout@5a4ac9002d0be2fb38bd78e4b4dbde5606d7042f
|
||||||
- uses: actions/setup-node@56899e050abffc08c2b3b61f3ec6a79a9dc3223d
|
- uses: actions/setup-node@56899e050abffc08c2b3b61f3ec6a79a9dc3223d
|
||||||
with:
|
with:
|
||||||
node-version: 14.x
|
node-version: 14.x
|
||||||
- name: cache node modules
|
- name: cache node modules
|
||||||
uses: actions/cache@0781355a23dac32fd3bac414512f4b903437991a
|
uses: actions/cache@0781355a23dac32fd3bac414512f4b903437991a
|
||||||
with:
|
with:
|
||||||
path: ~/.npm
|
path: ~/.npm
|
||||||
key: ${{ runner.os }}-node-${{ hashFiles('**/package-lock.json') }}
|
key: ${{ runner.os }}-node-${{ hashFiles('**/package-lock.json') }}
|
||||||
restore-keys: |
|
restore-keys: |
|
||||||
${{ runner.os }}-node-
|
${{ runner.os }}-node-
|
||||||
- name: npm ci
|
- name: npm ci
|
||||||
run: npm ci
|
run: npm ci
|
||||||
- name: sync indices
|
- name: sync indices
|
||||||
env:
|
env:
|
||||||
ALGOLIA_APPLICATION_ID: ${{ secrets.ALGOLIA_APPLICATION_ID }}
|
ALGOLIA_APPLICATION_ID: ${{ secrets.ALGOLIA_APPLICATION_ID }}
|
||||||
ALGOLIA_API_KEY: ${{ secrets.ALGOLIA_API_KEY }}
|
ALGOLIA_API_KEY: ${{ secrets.ALGOLIA_API_KEY }}
|
||||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||||
run: npm run sync-search
|
run: npm run sync-search
|
||||||
- name: Send slack notification if workflow run fails
|
- name: Send slack notification if workflow run fails
|
||||||
uses: rtCamp/action-slack-notify@e17352feaf9aee300bf0ebc1dfbf467d80438815
|
uses: rtCamp/action-slack-notify@e17352feaf9aee300bf0ebc1dfbf467d80438815
|
||||||
if: failure()
|
if: failure()
|
||||||
env:
|
env:
|
||||||
SLACK_WEBHOOK: ${{ secrets.DOCS_ALERTS_SLACK_WEBHOOK }}
|
SLACK_WEBHOOK: ${{ secrets.DOCS_ALERTS_SLACK_WEBHOOK }}
|
||||||
SLACK_MESSAGE: The last Algolia workflow run for ${{github.repository}} failed. See https://github.com/github/docs-internal/actions?query=workflow%3AAlgolia
|
SLACK_MESSAGE: The last Algolia workflow run for ${{github.repository}} failed. See https://github.com/github/docs-internal/actions?query=workflow%3AAlgolia
|
||||||
|
|||||||
4
.github/workflows/test-translations.yml
vendored
4
.github/workflows/test-translations.yml
vendored
@@ -4,7 +4,7 @@ name: Node.js Tests - Translations
|
|||||||
|
|
||||||
on:
|
on:
|
||||||
schedule:
|
schedule:
|
||||||
- cron: "10 20 * * *" # once a day at 20:10 UTC / 12:10 PST
|
- cron: '10 20 * * *' # once a day at 20:10 UTC / 12:10 PST
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
lint:
|
lint:
|
||||||
@@ -78,4 +78,4 @@ jobs:
|
|||||||
- name: Run tests
|
- name: Run tests
|
||||||
run: npx jest tests/${{ matrix.test-group }}/
|
run: npx jest tests/${{ matrix.test-group }}/
|
||||||
env:
|
env:
|
||||||
NODE_OPTIONS: "--max_old_space_size=4096"
|
NODE_OPTIONS: '--max_old_space_size=4096'
|
||||||
|
|||||||
7
.github/workflows/test-windows.yml
vendored
7
.github/workflows/test-windows.yml
vendored
@@ -5,10 +5,7 @@ name: Node.js Tests - Windows
|
|||||||
on:
|
on:
|
||||||
workflow_dispatch:
|
workflow_dispatch:
|
||||||
schedule:
|
schedule:
|
||||||
- cron: "50 19 * * *" # once a day at 19:50 UTC / 11:50 PST
|
- cron: '50 19 * * *' # once a day at 19:50 UTC / 11:50 PST
|
||||||
|
|
||||||
env:
|
|
||||||
CI: true
|
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
test:
|
test:
|
||||||
@@ -48,4 +45,4 @@ jobs:
|
|||||||
- name: Run tests
|
- name: Run tests
|
||||||
run: npx jest tests/${{ matrix.test-group }}/
|
run: npx jest tests/${{ matrix.test-group }}/
|
||||||
env:
|
env:
|
||||||
NODE_OPTIONS: "--max_old_space_size=4096"
|
NODE_OPTIONS: '--max_old_space_size=4096'
|
||||||
|
|||||||
4
.github/workflows/test.yml
vendored
4
.github/workflows/test.yml
vendored
@@ -77,11 +77,11 @@ jobs:
|
|||||||
name: Run tests
|
name: Run tests
|
||||||
run: npx jest tests/${{ matrix.test-group }}/
|
run: npx jest tests/${{ matrix.test-group }}/
|
||||||
env:
|
env:
|
||||||
NODE_OPTIONS: "--max_old_space_size=4096"
|
NODE_OPTIONS: '--max_old_space_size=4096'
|
||||||
|
|
||||||
- name: Send Slack notification if workflow fails
|
- name: Send Slack notification if workflow fails
|
||||||
uses: rtCamp/action-slack-notify@e17352feaf9aee300bf0ebc1dfbf467d80438815
|
uses: rtCamp/action-slack-notify@e17352feaf9aee300bf0ebc1dfbf467d80438815
|
||||||
if: failure() && github.ref == 'early-access'
|
if: failure() && github.ref == 'early-access'
|
||||||
env:
|
env:
|
||||||
SLACK_WEBHOOK: ${{ secrets.DOCS_ALERTS_SLACK_WEBHOOK }}
|
SLACK_WEBHOOK: ${{ secrets.DOCS_ALERTS_SLACK_WEBHOOK }}
|
||||||
SLACK_MESSAGE: "Tests are failing on the `early-access` branch. https://github.com/github/docs-internal/tree/early-access"
|
SLACK_MESSAGE: 'Tests are failing on the `early-access` branch. https://github.com/github/docs-internal/tree/early-access'
|
||||||
|
|||||||
86
.github/workflows/translations.yml
vendored
86
.github/workflows/translations.yml
vendored
@@ -2,7 +2,7 @@ name: Translations
|
|||||||
|
|
||||||
on:
|
on:
|
||||||
schedule:
|
schedule:
|
||||||
- cron: "20 19 * * *" # once a day at 19:20 UTC / 11:20 PST
|
- cron: '20 19 * * *' # once a day at 19:20 UTC / 11:20 PST
|
||||||
|
|
||||||
env:
|
env:
|
||||||
FREEZE: ${{ secrets.FREEZE }}
|
FREEZE: ${{ secrets.FREEZE }}
|
||||||
@@ -12,45 +12,45 @@ jobs:
|
|||||||
if: github.repository == 'github/docs-internal'
|
if: github.repository == 'github/docs-internal'
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
steps:
|
steps:
|
||||||
- if: ${{ env.FREEZE == 'true' }}
|
- if: ${{ env.FREEZE == 'true' }}
|
||||||
run: |
|
run: |
|
||||||
echo 'The repo is currently frozen! Exiting this workflow.'
|
echo 'The repo is currently frozen! Exiting this workflow.'
|
||||||
exit 1 # prevents further steps from running
|
exit 1 # prevents further steps from running
|
||||||
- name: Find original Pull Request
|
- name: Find original Pull Request
|
||||||
uses: juliangruber/find-pull-request-action@64d55773c959748ad30a4184f4dc102af1669f7b
|
uses: juliangruber/find-pull-request-action@64d55773c959748ad30a4184f4dc102af1669f7b
|
||||||
id: pr
|
id: pr
|
||||||
with:
|
with:
|
||||||
github-token: ${{ secrets.GITHUB_TOKEN }}
|
github-token: ${{ secrets.GITHUB_TOKEN }}
|
||||||
branch: translations
|
branch: translations
|
||||||
- if: ${{ steps.pr.outputs.number }}
|
- if: ${{ steps.pr.outputs.number }}
|
||||||
name: Check if already labeled
|
name: Check if already labeled
|
||||||
uses: actions/github-script@626af12fe9a53dc2972b48385e7fe7dec79145c9
|
uses: actions/github-script@626af12fe9a53dc2972b48385e7fe7dec79145c9
|
||||||
id: has-label
|
id: has-label
|
||||||
with:
|
with:
|
||||||
script: |
|
script: |
|
||||||
const { data: labels } = await github.issues.listLabelsOnIssue({
|
const { data: labels } = await github.issues.listLabelsOnIssue({
|
||||||
owner: context.repo.owner,
|
owner: context.repo.owner,
|
||||||
repo: context.repo.repo,
|
repo: context.repo.repo,
|
||||||
issue_number: ${{ steps.pr.outputs.number }}
|
issue_number: ${{ steps.pr.outputs.number }}
|
||||||
})
|
})
|
||||||
if (labels.find(label => label.name === 'automerge')) {
|
if (labels.find(label => label.name === 'automerge')) {
|
||||||
return 'ok'
|
return 'ok'
|
||||||
}
|
}
|
||||||
- if: ${{ !steps.has-label.outputs.result }}
|
- if: ${{ !steps.has-label.outputs.result }}
|
||||||
name: Approve Pull Request
|
name: Approve Pull Request
|
||||||
uses: juliangruber/approve-pull-request-action@c530832d4d346c597332e20e03605aa94fa150a8
|
uses: juliangruber/approve-pull-request-action@c530832d4d346c597332e20e03605aa94fa150a8
|
||||||
with:
|
with:
|
||||||
github-token: ${{ secrets.GITHUB_TOKEN }}
|
github-token: ${{ secrets.GITHUB_TOKEN }}
|
||||||
number: ${{ steps.pr.outputs.number }}
|
number: ${{ steps.pr.outputs.number }}
|
||||||
- if: ${{ !steps.has-label.outputs.result }}
|
- if: ${{ !steps.has-label.outputs.result }}
|
||||||
name: Add automerge label
|
name: Add automerge label
|
||||||
uses: actions/github-script@626af12fe9a53dc2972b48385e7fe7dec79145c9
|
uses: actions/github-script@626af12fe9a53dc2972b48385e7fe7dec79145c9
|
||||||
with:
|
with:
|
||||||
github-token: ${{ secrets.GITHUB_TOKEN }}
|
github-token: ${{ secrets.GITHUB_TOKEN }}
|
||||||
script: |
|
script: |
|
||||||
github.issues.addLabels({
|
github.issues.addLabels({
|
||||||
owner: context.repo.owner,
|
owner: context.repo.owner,
|
||||||
repo: context.repo.repo,
|
repo: context.repo.repo,
|
||||||
issue_number: ${{ steps.pr.outputs.number }},
|
issue_number: ${{ steps.pr.outputs.number }},
|
||||||
labels: ['automerge']
|
labels: ['automerge']
|
||||||
})
|
})
|
||||||
|
|||||||
73
.github/workflows/triage-issue-comments.yml
vendored
73
.github/workflows/triage-issue-comments.yml
vendored
@@ -1,7 +1,8 @@
|
|||||||
name: Triage new issue comments
|
name: Triage new issue comments
|
||||||
on:
|
on:
|
||||||
issue_comment:
|
issue_comment:
|
||||||
types: [created]
|
types:
|
||||||
|
- created
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
triage-issue-comments:
|
triage-issue-comments:
|
||||||
@@ -9,38 +10,38 @@ jobs:
|
|||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
|
|
||||||
steps:
|
steps:
|
||||||
- name: Check if the event originated from a team member
|
- name: Check if the event originated from a team member
|
||||||
uses: actions/github-script@626af12fe9a53dc2972b48385e7fe7dec79145c9
|
uses: actions/github-script@626af12fe9a53dc2972b48385e7fe7dec79145c9
|
||||||
id: is-internal-contributor
|
id: is-internal-contributor
|
||||||
with:
|
with:
|
||||||
github-token: ${{secrets.GITHUB_TOKEN}}
|
github-token: ${{secrets.GITHUB_TOKEN}}
|
||||||
result-encoding: string
|
result-encoding: string
|
||||||
script: |
|
script: |
|
||||||
const repo = context.payload.repository.name
|
const repo = context.payload.repository.name
|
||||||
const org = context.payload.repository.owner.login
|
const org = context.payload.repository.owner.login
|
||||||
const actor = context.actor
|
const actor = context.actor
|
||||||
let collaboratorStatus = ''
|
let collaboratorStatus = ''
|
||||||
try {
|
try {
|
||||||
collaboratorStatus = await github.request('GET /repos/{owner}/{repo}/collaborators/{username}', {
|
collaboratorStatus = await github.request('GET /repos/{owner}/{repo}/collaborators/{username}', {
|
||||||
owner: org,
|
owner: org,
|
||||||
repo: repo,
|
repo: repo,
|
||||||
username: actor
|
username: actor
|
||||||
})
|
})
|
||||||
console.log(`This issue was commented on by a Hubber.`)
|
console.log(`This issue was commented on by a Hubber.`)
|
||||||
return 'true'
|
return 'true'
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
console.log(`This issue was commented on by an external contributor.`)
|
console.log(`This issue was commented on by an external contributor.`)
|
||||||
return 'false'
|
return 'false'
|
||||||
}
|
}
|
||||||
- name: Label issues with new comments with 'triage'
|
- name: Label issues with new comments with 'triage'
|
||||||
uses: rachmari/labeler@832d42ec5523f3c6d46e8168de71cd54363e3e2e
|
uses: rachmari/labeler@832d42ec5523f3c6d46e8168de71cd54363e3e2e
|
||||||
if: (steps.is-internal-contributor.outputs.result == 'false')
|
if: (steps.is-internal-contributor.outputs.result == 'false')
|
||||||
with:
|
with:
|
||||||
repo-token: "${{ secrets.GITHUB_TOKEN }}"
|
repo-token: '${{ secrets.GITHUB_TOKEN }}'
|
||||||
add-labels: "triage"
|
add-labels: 'triage'
|
||||||
- name: Triage to project board
|
- name: Triage to project board
|
||||||
uses: rachmari/actions-add-new-issue-to-column@1a459ef92308ba7c9c9dc2fcdd72f232495574a9
|
uses: rachmari/actions-add-new-issue-to-column@1a459ef92308ba7c9c9dc2fcdd72f232495574a9
|
||||||
with:
|
with:
|
||||||
action-token: ${{ secrets.GITHUB_TOKEN }}
|
action-token: ${{ secrets.GITHUB_TOKEN }}
|
||||||
project-url: "https://github.com/github/docs/projects/1"
|
project-url: 'https://github.com/github/docs/projects/1'
|
||||||
column-name: "Triage"
|
column-name: 'Triage'
|
||||||
|
|||||||
26
.github/workflows/triage-issues.yml
vendored
26
.github/workflows/triage-issues.yml
vendored
@@ -1,7 +1,9 @@
|
|||||||
name: Triage new issues
|
name: Triage new issues
|
||||||
on:
|
on:
|
||||||
issues:
|
issues:
|
||||||
types: [reopened, opened]
|
types:
|
||||||
|
- reopened
|
||||||
|
- opened
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
triage_issues:
|
triage_issues:
|
||||||
@@ -9,14 +11,14 @@ jobs:
|
|||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
|
|
||||||
steps:
|
steps:
|
||||||
- name: Label new issues with 'triage'
|
- name: Label new issues with 'triage'
|
||||||
uses: rachmari/labeler@832d42ec5523f3c6d46e8168de71cd54363e3e2e
|
uses: rachmari/labeler@832d42ec5523f3c6d46e8168de71cd54363e3e2e
|
||||||
with:
|
with:
|
||||||
repo-token: "${{ secrets.GITHUB_TOKEN }}"
|
repo-token: '${{ secrets.GITHUB_TOKEN }}'
|
||||||
add-labels: "triage"
|
add-labels: 'triage'
|
||||||
- name: Triage to project board
|
- name: Triage to project board
|
||||||
uses: rachmari/actions-add-new-issue-to-column@1a459ef92308ba7c9c9dc2fcdd72f232495574a9
|
uses: rachmari/actions-add-new-issue-to-column@1a459ef92308ba7c9c9dc2fcdd72f232495574a9
|
||||||
with:
|
with:
|
||||||
action-token: ${{ secrets.GITHUB_TOKEN }}
|
action-token: ${{ secrets.GITHUB_TOKEN }}
|
||||||
project-url: "https://github.com/github/docs/projects/1"
|
project-url: 'https://github.com/github/docs/projects/1'
|
||||||
column-name: "Triage"
|
column-name: 'Triage'
|
||||||
|
|||||||
26
.github/workflows/triage-pull-requests.yml
vendored
26
.github/workflows/triage-pull-requests.yml
vendored
@@ -1,7 +1,9 @@
|
|||||||
name: Triage new pull requests
|
name: Triage new pull requests
|
||||||
on:
|
on:
|
||||||
pull_request:
|
pull_request:
|
||||||
types: [reopened, opened]
|
types:
|
||||||
|
- reopened
|
||||||
|
- opened
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
triage_pulls:
|
triage_pulls:
|
||||||
@@ -9,14 +11,14 @@ jobs:
|
|||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
|
|
||||||
steps:
|
steps:
|
||||||
- name: Label new pull requests with 'triage'
|
- name: Label new pull requests with 'triage'
|
||||||
uses: rachmari/labeler@832d42ec5523f3c6d46e8168de71cd54363e3e2e
|
uses: rachmari/labeler@832d42ec5523f3c6d46e8168de71cd54363e3e2e
|
||||||
with:
|
with:
|
||||||
repo-token: "${{ secrets.GITHUB_TOKEN }}"
|
repo-token: '${{ secrets.GITHUB_TOKEN }}'
|
||||||
add-labels: "triage"
|
add-labels: 'triage'
|
||||||
- name: Triage to project board
|
- name: Triage to project board
|
||||||
uses: rachmari/actions-add-new-issue-to-column@1a459ef92308ba7c9c9dc2fcdd72f232495574a9
|
uses: rachmari/actions-add-new-issue-to-column@1a459ef92308ba7c9c9dc2fcdd72f232495574a9
|
||||||
with:
|
with:
|
||||||
action-token: ${{ secrets.GITHUB_TOKEN }}
|
action-token: ${{ secrets.GITHUB_TOKEN }}
|
||||||
project-url: "https://github.com/github/docs/projects/1"
|
project-url: 'https://github.com/github/docs/projects/1'
|
||||||
column-name: "Triage"
|
column-name: 'Triage'
|
||||||
|
|||||||
20
.github/workflows/triage-stale-check.yml
vendored
20
.github/workflows/triage-stale-check.yml
vendored
@@ -1,7 +1,7 @@
|
|||||||
name: Public Repo Stale Check
|
name: Public Repo Stale Check
|
||||||
on:
|
on:
|
||||||
schedule:
|
schedule:
|
||||||
- cron: "45 16 * * *" # Run each day at 16:45 UTC / 8:45 PST
|
- cron: '45 16 * * *' # Run each day at 16:45 UTC / 8:45 PST
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
stale:
|
stale:
|
||||||
@@ -9,12 +9,12 @@ jobs:
|
|||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
|
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/stale@af4072615903a8b031f986d25b1ae3bf45ec44d4
|
- uses: actions/stale@af4072615903a8b031f986d25b1ae3bf45ec44d4
|
||||||
with:
|
with:
|
||||||
repo-token: ${{ secrets.GITHUB_TOKEN }}
|
repo-token: ${{ secrets.GITHUB_TOKEN }}
|
||||||
stale-pr-message: 'This PR is stale because it has been open 7 days with no activity and will be automatically closed in 3 days. To keep this PR open, update the PR by adding a comment or pushing a commit.'
|
stale-pr-message: 'This PR is stale because it has been open 7 days with no activity and will be automatically closed in 3 days. To keep this PR open, update the PR by adding a comment or pushing a commit.'
|
||||||
days-before-stale: 7
|
days-before-stale: 7
|
||||||
days-before-close: 10
|
days-before-close: 10
|
||||||
stale-pr-label: 'stale'
|
stale-pr-label: 'stale'
|
||||||
exempt-pr-labels: 'never-stale'
|
exempt-pr-labels: 'never-stale'
|
||||||
exempt-issue-labels: 'never-stale'
|
exempt-issue-labels: 'never-stale'
|
||||||
|
|||||||
109
.github/workflows/update-graphql-files.yml
vendored
109
.github/workflows/update-graphql-files.yml
vendored
@@ -10,63 +10,64 @@ env:
|
|||||||
|
|
||||||
on:
|
on:
|
||||||
schedule:
|
schedule:
|
||||||
- cron: "20 16 * * *" # run every day at 16:20 UTC / 8:20 PST
|
- cron: '20 16 * * *' # run every day at 16:20 UTC / 8:20 PST
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
update_graphql_files:
|
update_graphql_files:
|
||||||
if: github.repository == 'github/docs-internal'
|
if: github.repository == 'github/docs-internal'
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
steps:
|
steps:
|
||||||
- if: ${{ env.FREEZE == 'true' }}
|
- if: ${{ env.FREEZE == 'true' }}
|
||||||
run: |
|
run: |
|
||||||
echo 'The repo is currently frozen! Exiting this workflow.'
|
echo 'The repo is currently frozen! Exiting this workflow.'
|
||||||
exit 1 # prevents further steps from running
|
exit 1 # prevents further steps from running
|
||||||
- name: Checkout
|
- name: Checkout
|
||||||
uses: actions/checkout@5a4ac9002d0be2fb38bd78e4b4dbde5606d7042f
|
uses: actions/checkout@5a4ac9002d0be2fb38bd78e4b4dbde5606d7042f
|
||||||
- name: Set up Ruby
|
- name: Set up Ruby
|
||||||
uses: actions/setup-ruby@5f29a1cd8dfebf420691c4c9a0e832e2fae5a526
|
uses: actions/setup-ruby@5f29a1cd8dfebf420691c4c9a0e832e2fae5a526
|
||||||
with:
|
with:
|
||||||
ruby-version: '2.4'
|
ruby-version: '2.4'
|
||||||
- name: Install Ruby dependencies
|
- name: Install Ruby dependencies
|
||||||
run: |
|
run: |
|
||||||
gem install bundler
|
gem install bundler
|
||||||
bundle install
|
bundle install
|
||||||
- name: Install Node.js dependencies
|
- name: Install Node.js dependencies
|
||||||
run: npm ci
|
run: npm ci
|
||||||
- name: Run updater scripts
|
- name: Run updater scripts
|
||||||
env:
|
env:
|
||||||
# need to use a token from a user with access to github/github for this step
|
# need to use a token from a user with access to github/github for this step
|
||||||
GITHUB_TOKEN: ${{ secrets.ZEKE_PAT_WITH_REPO_AND_WORKFLOW_SCOPE_FOR_REPO_SYNC }}
|
GITHUB_TOKEN: ${{ secrets.ZEKE_PAT_WITH_REPO_AND_WORKFLOW_SCOPE_FOR_REPO_SYNC }}
|
||||||
# technically the changelog should only be updated once per day, but we can safely
|
# technically the changelog should only be updated once per day, but we can safely
|
||||||
# run build-changelog-from-markdown.js in its current form once per hour; when we
|
# run build-changelog-from-markdown.js in its current form once per hour; when we
|
||||||
# rewrite the changelog script, we may need to run it in a separate workflow on a
|
# rewrite the changelog script, we may need to run it in a separate workflow on a
|
||||||
# once-per-day schedule; see details in https://github.com/github/docs-internal/issues/12722.
|
# once-per-day schedule; see details in https://github.com/github/docs-internal/issues/12722.
|
||||||
run: |
|
run: |
|
||||||
script/graphql/update-files.js
|
script/graphql/update-files.js
|
||||||
script/graphql/build-changelog-from-markdown.js
|
script/graphql/build-changelog-from-markdown.js
|
||||||
- name: Create pull request
|
- name: Create pull request
|
||||||
id: create-pull-request
|
id: create-pull-request
|
||||||
uses: peter-evans/create-pull-request@938e6aea6f8dbdaced2064e948cb806c77fe87b8
|
uses: peter-evans/create-pull-request@938e6aea6f8dbdaced2064e948cb806c77fe87b8
|
||||||
with:
|
with:
|
||||||
# need to use a token with repo and workflow scopes for this step
|
# need to use a token with repo and workflow scopes for this step
|
||||||
token: ${{ secrets.OCTOMERGER_PAT_WITH_REPO_AND_WORKFLOW_SCOPE }}
|
token: ${{ secrets.OCTOMERGER_PAT_WITH_REPO_AND_WORKFLOW_SCOPE }}
|
||||||
commit-message: 'Action ran graphql scripts "update-files" and "build-changelog-from-markdown"'
|
commit-message: 'Action ran graphql scripts "update-files" and "build-changelog-from-markdown"'
|
||||||
title: GraphQL schema update
|
title: GraphQL schema update
|
||||||
body: "Hello! Some GraphQL data in github/github was updated recently. This PR
|
body:
|
||||||
syncs up the GraphQL data in this repo.\n\n
|
"Hello! Some GraphQL data in github/github was updated recently. This PR
|
||||||
If CI passes, this PR will be auto-merged. :green_heart:\n\n
|
syncs up the GraphQL data in this repo.\n\n
|
||||||
If CI does not pass or other problems arise, contact #docs-engineering on slack."
|
If CI passes, this PR will be auto-merged. :green_heart:\n\n
|
||||||
labels: automerge
|
If CI does not pass or other problems arise, contact #docs-engineering on slack."
|
||||||
branch: graphql-schema-update
|
labels: automerge
|
||||||
- if: ${{ failure() }}
|
branch: graphql-schema-update
|
||||||
name: Delete remote branch (if previous steps failed)
|
- if: ${{ failure() }}
|
||||||
uses: dawidd6/action-delete-branch@47743101a121ad657031e6704086271ca81b1911
|
name: Delete remote branch (if previous steps failed)
|
||||||
with:
|
uses: dawidd6/action-delete-branch@47743101a121ad657031e6704086271ca81b1911
|
||||||
github_token: ${{ secrets.GITHUB_TOKEN }}
|
with:
|
||||||
branches: graphql-schema-update
|
github_token: ${{ secrets.GITHUB_TOKEN }}
|
||||||
- if: ${{ steps.create-pull-request.outputs.pr_number }}
|
branches: graphql-schema-update
|
||||||
name: Approve
|
- if: ${{ steps.create-pull-request.outputs.pr_number }}
|
||||||
uses: juliangruber/approve-pull-request-action@c530832d4d346c597332e20e03605aa94fa150a8
|
name: Approve
|
||||||
with:
|
uses: juliangruber/approve-pull-request-action@c530832d4d346c597332e20e03605aa94fa150a8
|
||||||
github-token: ${{ secrets.GITHUB_TOKEN }}
|
with:
|
||||||
number: ${{ steps.create-pull-request.outputs.pr_number }}
|
github-token: ${{ secrets.GITHUB_TOKEN }}
|
||||||
|
number: ${{ steps.create-pull-request.outputs.pr_number }}
|
||||||
|
|||||||
56
.github/workflows/yml-lint.yml
vendored
Normal file
56
.github/workflows/yml-lint.yml
vendored
Normal file
@@ -0,0 +1,56 @@
|
|||||||
|
name: Lint Yaml
|
||||||
|
|
||||||
|
on:
|
||||||
|
workflow_dispatch:
|
||||||
|
push:
|
||||||
|
branches:
|
||||||
|
- main
|
||||||
|
pull_request:
|
||||||
|
branches-ignore:
|
||||||
|
- translations
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
see_if_should_skip:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
|
||||||
|
outputs:
|
||||||
|
should_skip: ${{ steps.skip_check.outputs.should_skip }}
|
||||||
|
steps:
|
||||||
|
- id: skip_check
|
||||||
|
uses: fkirc/skip-duplicate-actions@36feb0d8d062137530c2e00bd278d138fe191289
|
||||||
|
with:
|
||||||
|
cancel_others: 'false'
|
||||||
|
github_token: ${{ github.token }}
|
||||||
|
paths: '["**/*.yml", "**/*.yaml", "package*.json", ".github/workflows/yml-lint.yml"]'
|
||||||
|
|
||||||
|
lint:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
needs: see_if_should_skip
|
||||||
|
if: ${{ needs.see_if_should_skip.outputs.should_skip != 'true' }}
|
||||||
|
steps:
|
||||||
|
- name: Check out repo
|
||||||
|
uses: actions/checkout@5a4ac9002d0be2fb38bd78e4b4dbde5606d7042f
|
||||||
|
|
||||||
|
- name: Setup node
|
||||||
|
uses: actions/setup-node@56899e050abffc08c2b3b61f3ec6a79a9dc3223d
|
||||||
|
with:
|
||||||
|
node-version: 14.x
|
||||||
|
|
||||||
|
- name: Get npm cache directory
|
||||||
|
id: npm-cache
|
||||||
|
run: |
|
||||||
|
echo "::set-output name=dir::$(npm config get cache)"
|
||||||
|
|
||||||
|
- name: Cache node modules
|
||||||
|
uses: actions/cache@0781355a23dac32fd3bac414512f4b903437991a
|
||||||
|
with:
|
||||||
|
path: ${{ steps.npm-cache.outputs.dir }}
|
||||||
|
key: ${{ runner.os }}-node-${{ hashFiles('**/package-lock.json') }}
|
||||||
|
restore-keys: |
|
||||||
|
${{ runner.os }}-node-
|
||||||
|
|
||||||
|
- name: Install dependencies
|
||||||
|
run: npm ci
|
||||||
|
|
||||||
|
- name: Run linter
|
||||||
|
run: npx prettier -c "**/*.{yml,yaml}"
|
||||||
1
.prettierignore
Normal file
1
.prettierignore
Normal file
@@ -0,0 +1 @@
|
|||||||
|
translations/
|
||||||
12
.prettierrc.json
Normal file
12
.prettierrc.json
Normal file
@@ -0,0 +1,12 @@
|
|||||||
|
{
|
||||||
|
"overrides": [
|
||||||
|
{
|
||||||
|
"files":[
|
||||||
|
"**/*.{yml,yaml}"
|
||||||
|
],
|
||||||
|
"options": {
|
||||||
|
"singleQuote": true
|
||||||
|
}
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
22
crowdin.yml
22
crowdin.yml
@@ -1,25 +1,23 @@
|
|||||||
files:
|
files:
|
||||||
- source: /content/**/*.md
|
- source: /content/**/*.md
|
||||||
translation: /translations/%locale%/%original_path%/%original_file_name%
|
translation: /translations/%locale%/%original_path%/%original_file_name%
|
||||||
ignore: [
|
ignore:
|
||||||
"/content/README.md"
|
- '/content/README.md'
|
||||||
]
|
|
||||||
- source: /data/**/*.yml
|
- source: /data/**/*.yml
|
||||||
translation: /translations/%locale%/%original_path%/%original_file_name%
|
translation: /translations/%locale%/%original_path%/%original_file_name%
|
||||||
- source: /data/**/*.md
|
- source: /data/**/*.md
|
||||||
translation: /translations/%locale%/%original_path%/%original_file_name%
|
translation: /translations/%locale%/%original_path%/%original_file_name%
|
||||||
ignore: [
|
ignore:
|
||||||
"data/README.md",
|
- 'data/README.md'
|
||||||
"data/reusables/README.md",
|
- 'data/reusables/README.md'
|
||||||
"data/variables/product.yml",
|
- 'data/variables/product.yml'
|
||||||
"data/variables/README.md",
|
- 'data/variables/README.md'
|
||||||
"data/graphql",
|
- 'data/graphql'
|
||||||
"data/products.yml"
|
- 'data/products.yml'
|
||||||
]
|
|
||||||
|
|
||||||
# These end up as env vars used by the GitHub Actions workflow
|
# These end up as env vars used by the GitHub Actions workflow
|
||||||
project_id_env: CROWDIN_PROJECT_ID
|
project_id_env: CROWDIN_PROJECT_ID
|
||||||
api_token_env: CROWDIN_PERSONAL_TOKEN
|
api_token_env: CROWDIN_PERSONAL_TOKEN
|
||||||
|
|
||||||
# https://support.crowdin.com/configuration-file-v3/#saving-directory-structure-on-server
|
# https://support.crowdin.com/configuration-file-v3/#saving-directory-structure-on-server
|
||||||
preserve_hierarchy: true
|
preserve_hierarchy: true
|
||||||
|
|||||||
@@ -1,5 +1,6 @@
|
|||||||
- term: '@mention'
|
- term: '@mention'
|
||||||
description: to notify a person on GitHub by using `@` before their username. Users in an organization on GitHub can also be a part of a team that can be
|
description:
|
||||||
|
to notify a person on GitHub by using `@` before their username. Users in an organization on GitHub can also be a part of a team that can be
|
||||||
mentioned.
|
mentioned.
|
||||||
- term: access token
|
- term: access token
|
||||||
description: >-
|
description: >-
|
||||||
@@ -26,7 +27,8 @@
|
|||||||
with 2FA via the browser. This code is either generated by an application or delivered to
|
with 2FA via the browser. This code is either generated by an application or delivered to
|
||||||
your phone via text message. Also called a "2FA authentication code."
|
your phone via text message. Also called a "2FA authentication code."
|
||||||
- term: base branch
|
- term: base branch
|
||||||
description: The branch into which changes are combined when you merge a pull request.
|
description:
|
||||||
|
The branch into which changes are combined when you merge a pull request.
|
||||||
When you create a pull request, you can change the base branch from the repository's default branch to another branch if required.
|
When you create a pull request, you can change the base branch from the repository's default branch to another branch if required.
|
||||||
- term: basic authentication
|
- term: basic authentication
|
||||||
description: >-
|
description: >-
|
||||||
@@ -300,7 +302,7 @@
|
|||||||
description: A defined commit of a branch, usually the most recent commit at the tip of the branch.
|
description: A defined commit of a branch, usually the most recent commit at the tip of the branch.
|
||||||
- term: head branch
|
- term: head branch
|
||||||
description: The branch whose changes are combined into the base branch
|
description: The branch whose changes are combined into the base branch
|
||||||
when you merge a pull request.
|
when you merge a pull request.
|
||||||
Also known as the "compare branch."
|
Also known as the "compare branch."
|
||||||
- term: 'Hello, World'
|
- term: 'Hello, World'
|
||||||
description: >-
|
description: >-
|
||||||
|
|||||||
@@ -1,106 +1,114 @@
|
|||||||
---
|
---
|
||||||
upcoming_changes:
|
upcoming_changes:
|
||||||
- location: Migration.uploadUrlTemplate
|
- location: Migration.uploadUrlTemplate
|
||||||
description: "`uploadUrlTemplate` will be removed. Use `uploadUrl` instead."
|
description: '`uploadUrlTemplate` will be removed. Use `uploadUrl` instead.'
|
||||||
reason: "`uploadUrlTemplate` is being removed because it is not a standard URL and
|
reason:
|
||||||
adds an extra user step."
|
'`uploadUrlTemplate` is being removed because it is not a standard URL and
|
||||||
date: '2019-04-01T00:00:00+00:00'
|
adds an extra user step.'
|
||||||
criticality: breaking
|
date: '2019-04-01T00:00:00+00:00'
|
||||||
owner: tambling
|
criticality: breaking
|
||||||
- location: AssignedEvent.user
|
owner: tambling
|
||||||
description: "`user` will be removed. Use the `assignee` field instead."
|
- location: AssignedEvent.user
|
||||||
reason: Assignees can now be mannequins.
|
description: '`user` will be removed. Use the `assignee` field instead.'
|
||||||
date: '2020-01-01T00:00:00+00:00'
|
reason: Assignees can now be mannequins.
|
||||||
criticality: breaking
|
date: '2020-01-01T00:00:00+00:00'
|
||||||
owner: tambling
|
criticality: breaking
|
||||||
- location: EnterpriseBillingInfo.availableSeats
|
owner: tambling
|
||||||
description: "`availableSeats` will be removed. Use EnterpriseBillingInfo.totalAvailableLicenses
|
- location: EnterpriseBillingInfo.availableSeats
|
||||||
instead."
|
description:
|
||||||
reason: "`availableSeats` will be replaced with `totalAvailableLicenses` to provide
|
'`availableSeats` will be removed. Use EnterpriseBillingInfo.totalAvailableLicenses
|
||||||
more clarity on the value being returned"
|
instead.'
|
||||||
date: '2020-01-01T00:00:00+00:00'
|
reason:
|
||||||
criticality: breaking
|
'`availableSeats` will be replaced with `totalAvailableLicenses` to provide
|
||||||
owner: BlakeWilliams
|
more clarity on the value being returned'
|
||||||
- location: EnterpriseBillingInfo.seats
|
date: '2020-01-01T00:00:00+00:00'
|
||||||
description: "`seats` will be removed. Use EnterpriseBillingInfo.totalLicenses instead."
|
criticality: breaking
|
||||||
reason: "`seats` will be replaced with `totalLicenses` to provide more clarity on
|
owner: BlakeWilliams
|
||||||
the value being returned"
|
- location: EnterpriseBillingInfo.seats
|
||||||
date: '2020-01-01T00:00:00+00:00'
|
description: '`seats` will be removed. Use EnterpriseBillingInfo.totalLicenses instead.'
|
||||||
criticality: breaking
|
reason:
|
||||||
owner: BlakeWilliams
|
'`seats` will be replaced with `totalLicenses` to provide more clarity on
|
||||||
- location: UnassignedEvent.user
|
the value being returned'
|
||||||
description: "`user` will be removed. Use the `assignee` field instead."
|
date: '2020-01-01T00:00:00+00:00'
|
||||||
reason: Assignees can now be mannequins.
|
criticality: breaking
|
||||||
date: '2020-01-01T00:00:00+00:00'
|
owner: BlakeWilliams
|
||||||
criticality: breaking
|
- location: UnassignedEvent.user
|
||||||
owner: tambling
|
description: '`user` will be removed. Use the `assignee` field instead.'
|
||||||
- location: Sponsorship.maintainer
|
reason: Assignees can now be mannequins.
|
||||||
description: "`maintainer` will be removed. Use `Sponsorship.sponsorable` instead."
|
date: '2020-01-01T00:00:00+00:00'
|
||||||
reason: "`Sponsorship.maintainer` will be removed."
|
criticality: breaking
|
||||||
date: '2020-04-01T00:00:00+00:00'
|
owner: tambling
|
||||||
criticality: breaking
|
- location: Sponsorship.maintainer
|
||||||
owner: antn
|
description: '`maintainer` will be removed. Use `Sponsorship.sponsorable` instead.'
|
||||||
- location: EnterprisePendingMemberInvitationEdge.isUnlicensed
|
reason: '`Sponsorship.maintainer` will be removed.'
|
||||||
description: "`isUnlicensed` will be removed."
|
date: '2020-04-01T00:00:00+00:00'
|
||||||
reason: All pending members consume a license
|
criticality: breaking
|
||||||
date: '2020-07-01T00:00:00+00:00'
|
owner: antn
|
||||||
criticality: breaking
|
- location: EnterprisePendingMemberInvitationEdge.isUnlicensed
|
||||||
owner: BrentWheeldon
|
description: '`isUnlicensed` will be removed.'
|
||||||
- location: EnterpriseOwnerInfo.pendingCollaborators
|
reason: All pending members consume a license
|
||||||
description: "`pendingCollaborators` will be removed. Use the `pendingCollaboratorInvitations`
|
date: '2020-07-01T00:00:00+00:00'
|
||||||
field instead."
|
criticality: breaking
|
||||||
reason: Repository invitations can now be associated with an email, not only an
|
owner: BrentWheeldon
|
||||||
invitee.
|
- location: EnterpriseOwnerInfo.pendingCollaborators
|
||||||
date: '2020-10-01T00:00:00+00:00'
|
description:
|
||||||
criticality: breaking
|
'`pendingCollaborators` will be removed. Use the `pendingCollaboratorInvitations`
|
||||||
owner: jdennes
|
field instead.'
|
||||||
- location: Issue.timeline
|
reason:
|
||||||
description: "`timeline` will be removed. Use Issue.timelineItems instead."
|
Repository invitations can now be associated with an email, not only an
|
||||||
reason: "`timeline` will be removed"
|
invitee.
|
||||||
date: '2020-10-01T00:00:00+00:00'
|
date: '2020-10-01T00:00:00+00:00'
|
||||||
criticality: breaking
|
criticality: breaking
|
||||||
owner: mikesea
|
owner: jdennes
|
||||||
- location: PullRequest.timeline
|
- location: Issue.timeline
|
||||||
description: "`timeline` will be removed. Use PullRequest.timelineItems instead."
|
description: '`timeline` will be removed. Use Issue.timelineItems instead.'
|
||||||
reason: "`timeline` will be removed"
|
reason: '`timeline` will be removed'
|
||||||
date: '2020-10-01T00:00:00+00:00'
|
date: '2020-10-01T00:00:00+00:00'
|
||||||
criticality: breaking
|
criticality: breaking
|
||||||
owner: mikesea
|
owner: mikesea
|
||||||
- location: RepositoryInvitationOrderField.INVITEE_LOGIN
|
- location: PullRequest.timeline
|
||||||
description: "`INVITEE_LOGIN` will be removed."
|
description: '`timeline` will be removed. Use PullRequest.timelineItems instead.'
|
||||||
reason: "`INVITEE_LOGIN` is no longer a valid field value. Repository invitations
|
reason: '`timeline` will be removed'
|
||||||
can now be associated with an email, not only an invitee."
|
date: '2020-10-01T00:00:00+00:00'
|
||||||
date: '2020-10-01T00:00:00+00:00'
|
criticality: breaking
|
||||||
criticality: breaking
|
owner: mikesea
|
||||||
owner: jdennes
|
- location: RepositoryInvitationOrderField.INVITEE_LOGIN
|
||||||
- location: Sponsorship.sponsor
|
description: '`INVITEE_LOGIN` will be removed.'
|
||||||
description: "`sponsor` will be removed. Use `Sponsorship.sponsorEntity` instead."
|
reason:
|
||||||
reason: "`Sponsorship.sponsor` will be removed."
|
'`INVITEE_LOGIN` is no longer a valid field value. Repository invitations
|
||||||
date: '2020-10-01T00:00:00+00:00'
|
can now be associated with an email, not only an invitee.'
|
||||||
criticality: breaking
|
date: '2020-10-01T00:00:00+00:00'
|
||||||
owner: nholden
|
criticality: breaking
|
||||||
- location: EnterpriseMemberEdge.isUnlicensed
|
owner: jdennes
|
||||||
description: "`isUnlicensed` will be removed."
|
- location: Sponsorship.sponsor
|
||||||
reason: All members consume a license
|
description: '`sponsor` will be removed. Use `Sponsorship.sponsorEntity` instead.'
|
||||||
date: '2021-01-01T00:00:00+00:00'
|
reason: '`Sponsorship.sponsor` will be removed.'
|
||||||
criticality: breaking
|
date: '2020-10-01T00:00:00+00:00'
|
||||||
owner: BrentWheeldon
|
criticality: breaking
|
||||||
- location: EnterpriseOutsideCollaboratorEdge.isUnlicensed
|
owner: nholden
|
||||||
description: "`isUnlicensed` will be removed."
|
- location: EnterpriseMemberEdge.isUnlicensed
|
||||||
reason: All outside collaborators consume a license
|
description: '`isUnlicensed` will be removed.'
|
||||||
date: '2021-01-01T00:00:00+00:00'
|
reason: All members consume a license
|
||||||
criticality: breaking
|
date: '2021-01-01T00:00:00+00:00'
|
||||||
owner: BrentWheeldon
|
criticality: breaking
|
||||||
- location: EnterprisePendingCollaboratorEdge.isUnlicensed
|
owner: BrentWheeldon
|
||||||
description: "`isUnlicensed` will be removed."
|
- location: EnterpriseOutsideCollaboratorEdge.isUnlicensed
|
||||||
reason: All pending collaborators consume a license
|
description: '`isUnlicensed` will be removed.'
|
||||||
date: '2021-01-01T00:00:00+00:00'
|
reason: All outside collaborators consume a license
|
||||||
criticality: breaking
|
date: '2021-01-01T00:00:00+00:00'
|
||||||
owner: BrentWheeldon
|
criticality: breaking
|
||||||
- location: MergeStateStatus.DRAFT
|
owner: BrentWheeldon
|
||||||
description: "`DRAFT` will be removed. Use PullRequest.isDraft instead."
|
- location: EnterprisePendingCollaboratorEdge.isUnlicensed
|
||||||
reason: DRAFT state will be removed from this enum and `isDraft` should be used
|
description: '`isUnlicensed` will be removed.'
|
||||||
instead
|
reason: All pending collaborators consume a license
|
||||||
date: '2021-01-01T00:00:00+00:00'
|
date: '2021-01-01T00:00:00+00:00'
|
||||||
criticality: breaking
|
criticality: breaking
|
||||||
owner: nplasterer
|
owner: BrentWheeldon
|
||||||
|
- location: MergeStateStatus.DRAFT
|
||||||
|
description: '`DRAFT` will be removed. Use PullRequest.isDraft instead.'
|
||||||
|
reason:
|
||||||
|
DRAFT state will be removed from this enum and `isDraft` should be used
|
||||||
|
instead
|
||||||
|
date: '2021-01-01T00:00:00+00:00'
|
||||||
|
criticality: breaking
|
||||||
|
owner: nplasterer
|
||||||
|
|||||||
@@ -1,60 +1,64 @@
|
|||||||
---
|
---
|
||||||
upcoming_changes:
|
upcoming_changes:
|
||||||
- location: Migration.uploadUrlTemplate
|
- location: Migration.uploadUrlTemplate
|
||||||
description: "`uploadUrlTemplate` will be removed. Use `uploadUrl` instead."
|
description: '`uploadUrlTemplate` will be removed. Use `uploadUrl` instead.'
|
||||||
reason: "`uploadUrlTemplate` is being removed because it is not a standard URL and
|
reason:
|
||||||
adds an extra user step."
|
'`uploadUrlTemplate` is being removed because it is not a standard URL and
|
||||||
date: '2019-04-01T00:00:00+00:00'
|
adds an extra user step.'
|
||||||
criticality: breaking
|
date: '2019-04-01T00:00:00+00:00'
|
||||||
owner: tambling
|
criticality: breaking
|
||||||
- location: ContributionOrder.field
|
owner: tambling
|
||||||
description: "`field` will be removed. Only one order field is supported."
|
- location: ContributionOrder.field
|
||||||
reason: "`field` will be removed."
|
description: '`field` will be removed. Only one order field is supported.'
|
||||||
date: '2019-10-01T00:00:00+00:00'
|
reason: '`field` will be removed.'
|
||||||
criticality: breaking
|
date: '2019-10-01T00:00:00+00:00'
|
||||||
owner: dinahshi
|
criticality: breaking
|
||||||
- location: Issue.timeline
|
owner: dinahshi
|
||||||
description: "`timeline` will be removed. Use Issue.timelineItems instead."
|
- location: Issue.timeline
|
||||||
reason: "`timeline` will be removed"
|
description: '`timeline` will be removed. Use Issue.timelineItems instead.'
|
||||||
date: '2019-10-01T00:00:00+00:00'
|
reason: '`timeline` will be removed'
|
||||||
criticality: breaking
|
date: '2019-10-01T00:00:00+00:00'
|
||||||
owner: mikesea
|
criticality: breaking
|
||||||
- location: Organization.pinnedRepositories
|
owner: mikesea
|
||||||
description: "`pinnedRepositories` will be removed. Use ProfileOwner.pinnedItems
|
- location: Organization.pinnedRepositories
|
||||||
instead."
|
description:
|
||||||
reason: pinnedRepositories will be removed
|
'`pinnedRepositories` will be removed. Use ProfileOwner.pinnedItems
|
||||||
date: '2019-10-01T00:00:00+00:00'
|
instead.'
|
||||||
criticality: breaking
|
reason: pinnedRepositories will be removed
|
||||||
owner: cheshire137
|
date: '2019-10-01T00:00:00+00:00'
|
||||||
- location: PullRequest.timeline
|
criticality: breaking
|
||||||
description: "`timeline` will be removed. Use PullRequest.timelineItems instead."
|
owner: cheshire137
|
||||||
reason: "`timeline` will be removed"
|
- location: PullRequest.timeline
|
||||||
date: '2019-10-01T00:00:00+00:00'
|
description: '`timeline` will be removed. Use PullRequest.timelineItems instead.'
|
||||||
criticality: breaking
|
reason: '`timeline` will be removed'
|
||||||
owner: mikesea
|
date: '2019-10-01T00:00:00+00:00'
|
||||||
- location: RepositoryOwner.pinnedRepositories
|
criticality: breaking
|
||||||
description: "`pinnedRepositories` will be removed. Use ProfileOwner.pinnedItems
|
owner: mikesea
|
||||||
instead."
|
- location: RepositoryOwner.pinnedRepositories
|
||||||
reason: pinnedRepositories will be removed
|
description:
|
||||||
date: '2019-10-01T00:00:00+00:00'
|
'`pinnedRepositories` will be removed. Use ProfileOwner.pinnedItems
|
||||||
criticality: breaking
|
instead.'
|
||||||
owner: cheshire137
|
reason: pinnedRepositories will be removed
|
||||||
- location: User.pinnedRepositories
|
date: '2019-10-01T00:00:00+00:00'
|
||||||
description: "`pinnedRepositories` will be removed. Use ProfileOwner.pinnedItems
|
criticality: breaking
|
||||||
instead."
|
owner: cheshire137
|
||||||
reason: pinnedRepositories will be removed
|
- location: User.pinnedRepositories
|
||||||
date: '2019-10-01T00:00:00+00:00'
|
description:
|
||||||
criticality: breaking
|
'`pinnedRepositories` will be removed. Use ProfileOwner.pinnedItems
|
||||||
owner: cheshire137
|
instead.'
|
||||||
- location: AssignedEvent.user
|
reason: pinnedRepositories will be removed
|
||||||
description: "`user` will be removed. Use the `assignee` field instead."
|
date: '2019-10-01T00:00:00+00:00'
|
||||||
reason: Assignees can now be mannequins.
|
criticality: breaking
|
||||||
date: '2020-01-01T00:00:00+00:00'
|
owner: cheshire137
|
||||||
criticality: breaking
|
- location: AssignedEvent.user
|
||||||
owner: tambling
|
description: '`user` will be removed. Use the `assignee` field instead.'
|
||||||
- location: UnassignedEvent.user
|
reason: Assignees can now be mannequins.
|
||||||
description: "`user` will be removed. Use the `assignee` field instead."
|
date: '2020-01-01T00:00:00+00:00'
|
||||||
reason: Assignees can now be mannequins.
|
criticality: breaking
|
||||||
date: '2020-01-01T00:00:00+00:00'
|
owner: tambling
|
||||||
criticality: breaking
|
- location: UnassignedEvent.user
|
||||||
owner: tambling
|
description: '`user` will be removed. Use the `assignee` field instead.'
|
||||||
|
reason: Assignees can now be mannequins.
|
||||||
|
date: '2020-01-01T00:00:00+00:00'
|
||||||
|
criticality: breaking
|
||||||
|
owner: tambling
|
||||||
|
|||||||
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@@ -1,117 +1,124 @@
|
|||||||
---
|
---
|
||||||
upcoming_changes:
|
upcoming_changes:
|
||||||
- location: Migration.uploadUrlTemplate
|
- location: Migration.uploadUrlTemplate
|
||||||
description: "`uploadUrlTemplate` will be removed. Use `uploadUrl` instead."
|
description: '`uploadUrlTemplate` will be removed. Use `uploadUrl` instead.'
|
||||||
reason: "`uploadUrlTemplate` is being removed because it is not a standard URL and
|
reason:
|
||||||
adds an extra user step."
|
'`uploadUrlTemplate` is being removed because it is not a standard URL and
|
||||||
date: '2019-04-01T00:00:00+00:00'
|
adds an extra user step.'
|
||||||
criticality: breaking
|
date: '2019-04-01T00:00:00+00:00'
|
||||||
owner: tambling
|
criticality: breaking
|
||||||
- location: AssignedEvent.user
|
owner: tambling
|
||||||
description: "`user` will be removed. Use the `assignee` field instead."
|
- location: AssignedEvent.user
|
||||||
reason: Assignees can now be mannequins.
|
description: '`user` will be removed. Use the `assignee` field instead.'
|
||||||
date: '2020-01-01T00:00:00+00:00'
|
reason: Assignees can now be mannequins.
|
||||||
criticality: breaking
|
date: '2020-01-01T00:00:00+00:00'
|
||||||
owner: tambling
|
criticality: breaking
|
||||||
- location: EnterpriseBillingInfo.availableSeats
|
owner: tambling
|
||||||
description: "`availableSeats` will be removed. Use EnterpriseBillingInfo.totalAvailableLicenses
|
- location: EnterpriseBillingInfo.availableSeats
|
||||||
instead."
|
description:
|
||||||
reason: "`availableSeats` will be replaced with `totalAvailableLicenses` to provide
|
'`availableSeats` will be removed. Use EnterpriseBillingInfo.totalAvailableLicenses
|
||||||
more clarity on the value being returned"
|
instead.'
|
||||||
date: '2020-01-01T00:00:00+00:00'
|
reason:
|
||||||
criticality: breaking
|
'`availableSeats` will be replaced with `totalAvailableLicenses` to provide
|
||||||
owner: BlakeWilliams
|
more clarity on the value being returned'
|
||||||
- location: EnterpriseBillingInfo.seats
|
date: '2020-01-01T00:00:00+00:00'
|
||||||
description: "`seats` will be removed. Use EnterpriseBillingInfo.totalLicenses instead."
|
criticality: breaking
|
||||||
reason: "`seats` will be replaced with `totalLicenses` to provide more clarity on
|
owner: BlakeWilliams
|
||||||
the value being returned"
|
- location: EnterpriseBillingInfo.seats
|
||||||
date: '2020-01-01T00:00:00+00:00'
|
description: '`seats` will be removed. Use EnterpriseBillingInfo.totalLicenses instead.'
|
||||||
criticality: breaking
|
reason:
|
||||||
owner: BlakeWilliams
|
'`seats` will be replaced with `totalLicenses` to provide more clarity on
|
||||||
- location: UnassignedEvent.user
|
the value being returned'
|
||||||
description: "`user` will be removed. Use the `assignee` field instead."
|
date: '2020-01-01T00:00:00+00:00'
|
||||||
reason: Assignees can now be mannequins.
|
criticality: breaking
|
||||||
date: '2020-01-01T00:00:00+00:00'
|
owner: BlakeWilliams
|
||||||
criticality: breaking
|
- location: UnassignedEvent.user
|
||||||
owner: tambling
|
description: '`user` will be removed. Use the `assignee` field instead.'
|
||||||
- location: Sponsorship.maintainer
|
reason: Assignees can now be mannequins.
|
||||||
description: "`maintainer` will be removed. Use `Sponsorship.sponsorable` instead."
|
date: '2020-01-01T00:00:00+00:00'
|
||||||
reason: "`Sponsorship.maintainer` will be removed."
|
criticality: breaking
|
||||||
date: '2020-04-01T00:00:00+00:00'
|
owner: tambling
|
||||||
criticality: breaking
|
- location: Sponsorship.maintainer
|
||||||
owner: antn
|
description: '`maintainer` will be removed. Use `Sponsorship.sponsorable` instead.'
|
||||||
- location: EnterprisePendingMemberInvitationEdge.isUnlicensed
|
reason: '`Sponsorship.maintainer` will be removed.'
|
||||||
description: "`isUnlicensed` will be removed."
|
date: '2020-04-01T00:00:00+00:00'
|
||||||
reason: All pending members consume a license
|
criticality: breaking
|
||||||
date: '2020-07-01T00:00:00+00:00'
|
owner: antn
|
||||||
criticality: breaking
|
- location: EnterprisePendingMemberInvitationEdge.isUnlicensed
|
||||||
owner: BrentWheeldon
|
description: '`isUnlicensed` will be removed.'
|
||||||
- location: EnterpriseOwnerInfo.pendingCollaborators
|
reason: All pending members consume a license
|
||||||
description: "`pendingCollaborators` will be removed. Use the `pendingCollaboratorInvitations`
|
date: '2020-07-01T00:00:00+00:00'
|
||||||
field instead."
|
criticality: breaking
|
||||||
reason: Repository invitations can now be associated with an email, not only an
|
owner: BrentWheeldon
|
||||||
invitee.
|
- location: EnterpriseOwnerInfo.pendingCollaborators
|
||||||
date: '2020-10-01T00:00:00+00:00'
|
description:
|
||||||
criticality: breaking
|
'`pendingCollaborators` will be removed. Use the `pendingCollaboratorInvitations`
|
||||||
owner: jdennes
|
field instead.'
|
||||||
- location: Issue.timeline
|
reason:
|
||||||
description: "`timeline` will be removed. Use Issue.timelineItems instead."
|
Repository invitations can now be associated with an email, not only an
|
||||||
reason: "`timeline` will be removed"
|
invitee.
|
||||||
date: '2020-10-01T00:00:00+00:00'
|
date: '2020-10-01T00:00:00+00:00'
|
||||||
criticality: breaking
|
criticality: breaking
|
||||||
owner: mikesea
|
owner: jdennes
|
||||||
- location: PullRequest.timeline
|
- location: Issue.timeline
|
||||||
description: "`timeline` will be removed. Use PullRequest.timelineItems instead."
|
description: '`timeline` will be removed. Use Issue.timelineItems instead.'
|
||||||
reason: "`timeline` will be removed"
|
reason: '`timeline` will be removed'
|
||||||
date: '2020-10-01T00:00:00+00:00'
|
date: '2020-10-01T00:00:00+00:00'
|
||||||
criticality: breaking
|
criticality: breaking
|
||||||
owner: mikesea
|
owner: mikesea
|
||||||
- location: RepositoryCollaboratorEdge.permission
|
- location: PullRequest.timeline
|
||||||
description: Type for `permission` will change from `RepositoryPermission!` to `String`.
|
description: '`timeline` will be removed. Use PullRequest.timelineItems instead.'
|
||||||
reason: This field may return additional values
|
reason: '`timeline` will be removed'
|
||||||
date: '2020-10-01T00:00:00+00:00'
|
date: '2020-10-01T00:00:00+00:00'
|
||||||
criticality: breaking
|
criticality: breaking
|
||||||
owner: oneill38
|
owner: mikesea
|
||||||
- location: RepositoryInvitation.permission
|
- location: RepositoryCollaboratorEdge.permission
|
||||||
description: Type for `permission` will change from `RepositoryPermission!` to `String`.
|
description: Type for `permission` will change from `RepositoryPermission!` to `String`.
|
||||||
reason: This field may return additional values
|
reason: This field may return additional values
|
||||||
date: '2020-10-01T00:00:00+00:00'
|
date: '2020-10-01T00:00:00+00:00'
|
||||||
criticality: breaking
|
criticality: breaking
|
||||||
owner: oneill38
|
owner: oneill38
|
||||||
- location: RepositoryInvitationOrderField.INVITEE_LOGIN
|
- location: RepositoryInvitation.permission
|
||||||
description: "`INVITEE_LOGIN` will be removed."
|
description: Type for `permission` will change from `RepositoryPermission!` to `String`.
|
||||||
reason: "`INVITEE_LOGIN` is no longer a valid field value. Repository invitations
|
reason: This field may return additional values
|
||||||
can now be associated with an email, not only an invitee."
|
date: '2020-10-01T00:00:00+00:00'
|
||||||
date: '2020-10-01T00:00:00+00:00'
|
criticality: breaking
|
||||||
criticality: breaking
|
owner: oneill38
|
||||||
owner: jdennes
|
- location: RepositoryInvitationOrderField.INVITEE_LOGIN
|
||||||
- location: Sponsorship.sponsor
|
description: '`INVITEE_LOGIN` will be removed.'
|
||||||
description: "`sponsor` will be removed. Use `Sponsorship.sponsorEntity` instead."
|
reason:
|
||||||
reason: "`Sponsorship.sponsor` will be removed."
|
'`INVITEE_LOGIN` is no longer a valid field value. Repository invitations
|
||||||
date: '2020-10-01T00:00:00+00:00'
|
can now be associated with an email, not only an invitee.'
|
||||||
criticality: breaking
|
date: '2020-10-01T00:00:00+00:00'
|
||||||
owner: nholden
|
criticality: breaking
|
||||||
- location: TeamRepositoryEdge.permission
|
owner: jdennes
|
||||||
description: Type for `permission` will change from `RepositoryPermission!` to `String`.
|
- location: Sponsorship.sponsor
|
||||||
reason: This field may return additional values
|
description: '`sponsor` will be removed. Use `Sponsorship.sponsorEntity` instead.'
|
||||||
date: '2020-10-01T00:00:00+00:00'
|
reason: '`Sponsorship.sponsor` will be removed.'
|
||||||
criticality: breaking
|
date: '2020-10-01T00:00:00+00:00'
|
||||||
owner: oneill38
|
criticality: breaking
|
||||||
- location: EnterpriseMemberEdge.isUnlicensed
|
owner: nholden
|
||||||
description: "`isUnlicensed` will be removed."
|
- location: TeamRepositoryEdge.permission
|
||||||
reason: All members consume a license
|
description: Type for `permission` will change from `RepositoryPermission!` to `String`.
|
||||||
date: '2021-01-01T00:00:00+00:00'
|
reason: This field may return additional values
|
||||||
criticality: breaking
|
date: '2020-10-01T00:00:00+00:00'
|
||||||
owner: BrentWheeldon
|
criticality: breaking
|
||||||
- location: EnterpriseOutsideCollaboratorEdge.isUnlicensed
|
owner: oneill38
|
||||||
description: "`isUnlicensed` will be removed."
|
- location: EnterpriseMemberEdge.isUnlicensed
|
||||||
reason: All outside collaborators consume a license
|
description: '`isUnlicensed` will be removed.'
|
||||||
date: '2021-01-01T00:00:00+00:00'
|
reason: All members consume a license
|
||||||
criticality: breaking
|
date: '2021-01-01T00:00:00+00:00'
|
||||||
owner: BrentWheeldon
|
criticality: breaking
|
||||||
- location: EnterprisePendingCollaboratorEdge.isUnlicensed
|
owner: BrentWheeldon
|
||||||
description: "`isUnlicensed` will be removed."
|
- location: EnterpriseOutsideCollaboratorEdge.isUnlicensed
|
||||||
reason: All pending collaborators consume a license
|
description: '`isUnlicensed` will be removed.'
|
||||||
date: '2021-01-01T00:00:00+00:00'
|
reason: All outside collaborators consume a license
|
||||||
criticality: breaking
|
date: '2021-01-01T00:00:00+00:00'
|
||||||
owner: BrentWheeldon
|
criticality: breaking
|
||||||
|
owner: BrentWheeldon
|
||||||
|
- location: EnterprisePendingCollaboratorEdge.isUnlicensed
|
||||||
|
description: '`isUnlicensed` will be removed.'
|
||||||
|
reason: All pending collaborators consume a license
|
||||||
|
date: '2021-01-01T00:00:00+00:00'
|
||||||
|
criticality: breaking
|
||||||
|
owner: BrentWheeldon
|
||||||
|
|||||||
@@ -1,113 +1,122 @@
|
|||||||
---
|
---
|
||||||
upcoming_changes:
|
upcoming_changes:
|
||||||
- location: Migration.uploadUrlTemplate
|
- location: Migration.uploadUrlTemplate
|
||||||
description: "`uploadUrlTemplate` will be removed. Use `uploadUrl` instead."
|
description: '`uploadUrlTemplate` will be removed. Use `uploadUrl` instead.'
|
||||||
reason: "`uploadUrlTemplate` is being removed because it is not a standard URL and
|
reason:
|
||||||
adds an extra user step."
|
'`uploadUrlTemplate` is being removed because it is not a standard URL and
|
||||||
date: '2019-04-01T00:00:00+00:00'
|
adds an extra user step.'
|
||||||
criticality: breaking
|
date: '2019-04-01T00:00:00+00:00'
|
||||||
owner: tambling
|
criticality: breaking
|
||||||
- location: AssignedEvent.user
|
owner: tambling
|
||||||
description: "`user` will be removed. Use the `assignee` field instead."
|
- location: AssignedEvent.user
|
||||||
reason: Assignees can now be mannequins.
|
description: '`user` will be removed. Use the `assignee` field instead.'
|
||||||
date: '2020-01-01T00:00:00+00:00'
|
reason: Assignees can now be mannequins.
|
||||||
criticality: breaking
|
date: '2020-01-01T00:00:00+00:00'
|
||||||
owner: tambling
|
criticality: breaking
|
||||||
- location: EnterpriseBillingInfo.availableSeats
|
owner: tambling
|
||||||
description: "`availableSeats` will be removed. Use EnterpriseBillingInfo.totalAvailableLicenses
|
- location: EnterpriseBillingInfo.availableSeats
|
||||||
instead."
|
description:
|
||||||
reason: "`availableSeats` will be replaced with `totalAvailableLicenses` to provide
|
'`availableSeats` will be removed. Use EnterpriseBillingInfo.totalAvailableLicenses
|
||||||
more clarity on the value being returned"
|
instead.'
|
||||||
date: '2020-01-01T00:00:00+00:00'
|
reason:
|
||||||
criticality: breaking
|
'`availableSeats` will be replaced with `totalAvailableLicenses` to provide
|
||||||
owner: BlakeWilliams
|
more clarity on the value being returned'
|
||||||
- location: EnterpriseBillingInfo.seats
|
date: '2020-01-01T00:00:00+00:00'
|
||||||
description: "`seats` will be removed. Use EnterpriseBillingInfo.totalLicenses instead."
|
criticality: breaking
|
||||||
reason: "`seats` will be replaced with `totalLicenses` to provide more clarity on
|
owner: BlakeWilliams
|
||||||
the value being returned"
|
- location: EnterpriseBillingInfo.seats
|
||||||
date: '2020-01-01T00:00:00+00:00'
|
description: '`seats` will be removed. Use EnterpriseBillingInfo.totalLicenses instead.'
|
||||||
criticality: breaking
|
reason:
|
||||||
owner: BlakeWilliams
|
'`seats` will be replaced with `totalLicenses` to provide more clarity on
|
||||||
- location: UnassignedEvent.user
|
the value being returned'
|
||||||
description: "`user` will be removed. Use the `assignee` field instead."
|
date: '2020-01-01T00:00:00+00:00'
|
||||||
reason: Assignees can now be mannequins.
|
criticality: breaking
|
||||||
date: '2020-01-01T00:00:00+00:00'
|
owner: BlakeWilliams
|
||||||
criticality: breaking
|
- location: UnassignedEvent.user
|
||||||
owner: tambling
|
description: '`user` will be removed. Use the `assignee` field instead.'
|
||||||
- location: Query.sponsorsListing
|
reason: Assignees can now be mannequins.
|
||||||
description: "`sponsorsListing` will be removed. Use `Sponsorable.sponsorsListing`
|
date: '2020-01-01T00:00:00+00:00'
|
||||||
instead."
|
criticality: breaking
|
||||||
reason: "`Query.sponsorsListing` will be removed."
|
owner: tambling
|
||||||
date: '2020-04-01T00:00:00+00:00'
|
- location: Query.sponsorsListing
|
||||||
criticality: breaking
|
description:
|
||||||
owner: antn
|
'`sponsorsListing` will be removed. Use `Sponsorable.sponsorsListing`
|
||||||
- location: Sponsorship.maintainer
|
instead.'
|
||||||
description: "`maintainer` will be removed. Use `Sponsorship.sponsorable` instead."
|
reason: '`Query.sponsorsListing` will be removed.'
|
||||||
reason: "`Sponsorship.maintainer` will be removed."
|
date: '2020-04-01T00:00:00+00:00'
|
||||||
date: '2020-04-01T00:00:00+00:00'
|
criticality: breaking
|
||||||
criticality: breaking
|
owner: antn
|
||||||
owner: antn
|
- location: Sponsorship.maintainer
|
||||||
- location: EnterprisePendingMemberInvitationEdge.isUnlicensed
|
description: '`maintainer` will be removed. Use `Sponsorship.sponsorable` instead.'
|
||||||
description: "`isUnlicensed` will be removed."
|
reason: '`Sponsorship.maintainer` will be removed.'
|
||||||
reason: All pending members consume a license
|
date: '2020-04-01T00:00:00+00:00'
|
||||||
date: '2020-07-01T00:00:00+00:00'
|
criticality: breaking
|
||||||
criticality: breaking
|
owner: antn
|
||||||
owner: BrentWheeldon
|
- location: EnterprisePendingMemberInvitationEdge.isUnlicensed
|
||||||
- location: EnterpriseOwnerInfo.pendingCollaborators
|
description: '`isUnlicensed` will be removed.'
|
||||||
description: "`pendingCollaborators` will be removed. Use the `pendingCollaboratorInvitations`
|
reason: All pending members consume a license
|
||||||
field instead."
|
date: '2020-07-01T00:00:00+00:00'
|
||||||
reason: Repository invitations can now be associated with an email, not only an
|
criticality: breaking
|
||||||
invitee.
|
owner: BrentWheeldon
|
||||||
date: '2020-10-01T00:00:00+00:00'
|
- location: EnterpriseOwnerInfo.pendingCollaborators
|
||||||
criticality: breaking
|
description:
|
||||||
owner: jdennes
|
'`pendingCollaborators` will be removed. Use the `pendingCollaboratorInvitations`
|
||||||
- location: Issue.timeline
|
field instead.'
|
||||||
description: "`timeline` will be removed. Use Issue.timelineItems instead."
|
reason:
|
||||||
reason: "`timeline` will be removed"
|
Repository invitations can now be associated with an email, not only an
|
||||||
date: '2020-10-01T00:00:00+00:00'
|
invitee.
|
||||||
criticality: breaking
|
date: '2020-10-01T00:00:00+00:00'
|
||||||
owner: mikesea
|
criticality: breaking
|
||||||
- location: PullRequest.timeline
|
owner: jdennes
|
||||||
description: "`timeline` will be removed. Use PullRequest.timelineItems instead."
|
- location: Issue.timeline
|
||||||
reason: "`timeline` will be removed"
|
description: '`timeline` will be removed. Use Issue.timelineItems instead.'
|
||||||
date: '2020-10-01T00:00:00+00:00'
|
reason: '`timeline` will be removed'
|
||||||
criticality: breaking
|
date: '2020-10-01T00:00:00+00:00'
|
||||||
owner: mikesea
|
criticality: breaking
|
||||||
- location: RepositoryInvitationOrderField.INVITEE_LOGIN
|
owner: mikesea
|
||||||
description: "`INVITEE_LOGIN` will be removed."
|
- location: PullRequest.timeline
|
||||||
reason: "`INVITEE_LOGIN` is no longer a valid field value. Repository invitations
|
description: '`timeline` will be removed. Use PullRequest.timelineItems instead.'
|
||||||
can now be associated with an email, not only an invitee."
|
reason: '`timeline` will be removed'
|
||||||
date: '2020-10-01T00:00:00+00:00'
|
date: '2020-10-01T00:00:00+00:00'
|
||||||
criticality: breaking
|
criticality: breaking
|
||||||
owner: jdennes
|
owner: mikesea
|
||||||
- location: Sponsorship.sponsor
|
- location: RepositoryInvitationOrderField.INVITEE_LOGIN
|
||||||
description: "`sponsor` will be removed. Use `Sponsorship.sponsorEntity` instead."
|
description: '`INVITEE_LOGIN` will be removed.'
|
||||||
reason: "`Sponsorship.sponsor` will be removed."
|
reason:
|
||||||
date: '2020-10-01T00:00:00+00:00'
|
'`INVITEE_LOGIN` is no longer a valid field value. Repository invitations
|
||||||
criticality: breaking
|
can now be associated with an email, not only an invitee.'
|
||||||
owner: nholden
|
date: '2020-10-01T00:00:00+00:00'
|
||||||
- location: EnterpriseMemberEdge.isUnlicensed
|
criticality: breaking
|
||||||
description: "`isUnlicensed` will be removed."
|
owner: jdennes
|
||||||
reason: All members consume a license
|
- location: Sponsorship.sponsor
|
||||||
date: '2021-01-01T00:00:00+00:00'
|
description: '`sponsor` will be removed. Use `Sponsorship.sponsorEntity` instead.'
|
||||||
criticality: breaking
|
reason: '`Sponsorship.sponsor` will be removed.'
|
||||||
owner: BrentWheeldon
|
date: '2020-10-01T00:00:00+00:00'
|
||||||
- location: EnterpriseOutsideCollaboratorEdge.isUnlicensed
|
criticality: breaking
|
||||||
description: "`isUnlicensed` will be removed."
|
owner: nholden
|
||||||
reason: All outside collaborators consume a license
|
- location: EnterpriseMemberEdge.isUnlicensed
|
||||||
date: '2021-01-01T00:00:00+00:00'
|
description: '`isUnlicensed` will be removed.'
|
||||||
criticality: breaking
|
reason: All members consume a license
|
||||||
owner: BrentWheeldon
|
date: '2021-01-01T00:00:00+00:00'
|
||||||
- location: EnterprisePendingCollaboratorEdge.isUnlicensed
|
criticality: breaking
|
||||||
description: "`isUnlicensed` will be removed."
|
owner: BrentWheeldon
|
||||||
reason: All pending collaborators consume a license
|
- location: EnterpriseOutsideCollaboratorEdge.isUnlicensed
|
||||||
date: '2021-01-01T00:00:00+00:00'
|
description: '`isUnlicensed` will be removed.'
|
||||||
criticality: breaking
|
reason: All outside collaborators consume a license
|
||||||
owner: BrentWheeldon
|
date: '2021-01-01T00:00:00+00:00'
|
||||||
- location: MergeStateStatus.DRAFT
|
criticality: breaking
|
||||||
description: "`DRAFT` will be removed. Use PullRequest.isDraft instead."
|
owner: BrentWheeldon
|
||||||
reason: DRAFT state will be removed from this enum and `isDraft` should be used
|
- location: EnterprisePendingCollaboratorEdge.isUnlicensed
|
||||||
instead
|
description: '`isUnlicensed` will be removed.'
|
||||||
date: '2021-01-01T00:00:00+00:00'
|
reason: All pending collaborators consume a license
|
||||||
criticality: breaking
|
date: '2021-01-01T00:00:00+00:00'
|
||||||
owner: nplasterer
|
criticality: breaking
|
||||||
|
owner: BrentWheeldon
|
||||||
|
- location: MergeStateStatus.DRAFT
|
||||||
|
description: '`DRAFT` will be removed. Use PullRequest.isDraft instead.'
|
||||||
|
reason:
|
||||||
|
DRAFT state will be removed from this enum and `isDraft` should be used
|
||||||
|
instead
|
||||||
|
date: '2021-01-01T00:00:00+00:00'
|
||||||
|
criticality: breaking
|
||||||
|
owner: nplasterer
|
||||||
|
|||||||
@@ -10,4 +10,4 @@ productsInOrder:
|
|||||||
- rest
|
- rest
|
||||||
- graphql
|
- graphql
|
||||||
- insights
|
- insights
|
||||||
- desktop
|
- desktop
|
||||||
|
|||||||
@@ -2,8 +2,7 @@ header:
|
|||||||
github_docs: GitHub Docs
|
github_docs: GitHub Docs
|
||||||
contact: Contact
|
contact: Contact
|
||||||
notices:
|
notices:
|
||||||
ghae_silent_launch:
|
ghae_silent_launch: GitHub AE is currently under limited release. Please <a href="https://enterprise.github.com/contact">contact our Sales Team</a> to find out more.
|
||||||
GitHub AE is currently under limited release. Please <a href="https://enterprise.github.com/contact">contact our Sales Team</a> to find out more.
|
|
||||||
release_candidate:
|
release_candidate:
|
||||||
# The version name is rendered before the below text via includes/header-notification.html
|
# The version name is rendered before the below text via includes/header-notification.html
|
||||||
' is currently under limited release as a release candidate.'
|
' is currently under limited release as a release candidate.'
|
||||||
@@ -30,7 +29,7 @@ toc:
|
|||||||
guides: Guides
|
guides: Guides
|
||||||
whats_new: What's new
|
whats_new: What's new
|
||||||
pages:
|
pages:
|
||||||
article_version: "Article version:"
|
article_version: 'Article version:'
|
||||||
miniToc: In this article
|
miniToc: In this article
|
||||||
errors:
|
errors:
|
||||||
oops: Ooops!
|
oops: Ooops!
|
||||||
|
|||||||
@@ -15,7 +15,7 @@ contact_dmca: >-
|
|||||||
contact_privacy: >-
|
contact_privacy: >-
|
||||||
{% if currentVersion == "free-pro-team@latest" %}[Privacy contact form](https://github.com/contact/privacy){% endif %}
|
{% if currentVersion == "free-pro-team@latest" %}[Privacy contact form](https://github.com/contact/privacy){% endif %}
|
||||||
|
|
||||||
contact_enterprise_sales: '[GitHub''s Sales team](https://enterprise.github.com/contact)'
|
contact_enterprise_sales: "[GitHub's Sales team](https://enterprise.github.com/contact)"
|
||||||
|
|
||||||
contact_feedback_actions: '[Feedback form for GitHub Actions](https://support.github.com/contact/feedback?contact[category]=actions)'
|
contact_feedback_actions: '[Feedback form for GitHub Actions](https://support.github.com/contact/feedback?contact[category]=actions)'
|
||||||
|
|
||||||
|
|||||||
@@ -27,7 +27,7 @@ prodname_ghe_one: 'GitHub One'
|
|||||||
## Use these variables when referring specifically to a location within a product
|
## Use these variables when referring specifically to a location within a product
|
||||||
product_location: >-
|
product_location: >-
|
||||||
{% if enterpriseServerVersions contains currentVersion %}your GitHub Enterprise Server instance{% elsif currentVersion == "github-ae@latest" %}your enterprise{% else %}GitHub{% endif %}
|
{% if enterpriseServerVersions contains currentVersion %}your GitHub Enterprise Server instance{% elsif currentVersion == "github-ae@latest" %}your enterprise{% else %}GitHub{% endif %}
|
||||||
|
|
||||||
# Used ONLY when you need to refer to a GHES instance in an article that is versioned for non-GHES versions.
|
# Used ONLY when you need to refer to a GHES instance in an article that is versioned for non-GHES versions.
|
||||||
# Do not use in other situations!
|
# Do not use in other situations!
|
||||||
product_location_enterprise: 'your GitHub Enterprise Server instance'
|
product_location_enterprise: 'your GitHub Enterprise Server instance'
|
||||||
@@ -170,8 +170,7 @@ signout_link: >-
|
|||||||
raw_github_com: >-
|
raw_github_com: >-
|
||||||
{% if currentVersion == "free-pro-team@latest" %}raw.githubusercontent.com{% else %}[hostname]/user/repo/raw{% endif %}
|
{% if currentVersion == "free-pro-team@latest" %}raw.githubusercontent.com{% else %}[hostname]/user/repo/raw{% endif %}
|
||||||
# GitHub Enterprise Server past versions
|
# GitHub Enterprise Server past versions
|
||||||
current-340-version:
|
current-340-version: '11.10.354'
|
||||||
'11.10.354'
|
|
||||||
|
|
||||||
# Developer site product variables
|
# Developer site product variables
|
||||||
# Use this inside command-line and other code blocks
|
# Use this inside command-line and other code blocks
|
||||||
@@ -194,4 +193,4 @@ graphql_url_pre: >-
|
|||||||
{% if currentVersion == "free-pro-team@latest" %}https://api.github.com/graphql{% else %}http(s)://<em>[hostname]</em>/api/graphql{% endif %}
|
{% if currentVersion == "free-pro-team@latest" %}https://api.github.com/graphql{% else %}http(s)://<em>[hostname]</em>/api/graphql{% endif %}
|
||||||
# Use this all other code blocks
|
# Use this all other code blocks
|
||||||
graphql_url_code: >-
|
graphql_url_code: >-
|
||||||
{% if currentVersion == "free-pro-team@latest" %}https://api.github.com/graphql{% else %}http(s)://[hostname]/api/graphql{% endif %}
|
{% if currentVersion == "free-pro-team@latest" %}https://api.github.com/graphql{% else %}http(s)://[hostname]/api/graphql{% endif %}
|
||||||
|
|||||||
@@ -1,23 +1,23 @@
|
|||||||
---
|
---
|
||||||
version: 1
|
version: 1
|
||||||
ownership:
|
ownership:
|
||||||
- name: docs-internal
|
- name: docs-internal
|
||||||
long_name: GitHub Help Docs
|
long_name: GitHub Help Docs
|
||||||
kind: heroku
|
kind: heroku
|
||||||
repo: https://github.com/github/docs-internal
|
repo: https://github.com/github/docs-internal
|
||||||
team: github/docs-engineering
|
team: github/docs-engineering
|
||||||
maintainer: zeke
|
maintainer: zeke
|
||||||
exec_sponsor: danaiszuul
|
exec_sponsor: danaiszuul
|
||||||
product_manager: jwargo
|
product_manager: jwargo
|
||||||
mention: github/docs-engineering
|
mention: github/docs-engineering
|
||||||
qos: critical
|
qos: critical
|
||||||
dependencies: []
|
dependencies: []
|
||||||
sev1:
|
sev1:
|
||||||
pagerduty: https://github.pagerduty.com/escalation_policies#PN57VQ1
|
pagerduty: https://github.pagerduty.com/escalation_policies#PN57VQ1
|
||||||
tta: 30 min
|
tta: 30 min
|
||||||
sev2:
|
sev2:
|
||||||
issue: https://github.com/github/docs-internal/issues
|
issue: https://github.com/github/docs-internal/issues
|
||||||
tta: 5 business days
|
tta: 5 business days
|
||||||
sev3:
|
sev3:
|
||||||
slack: docs-engineering
|
slack: docs-engineering
|
||||||
tta: 30 min
|
tta: 30 min
|
||||||
|
|||||||
6
package-lock.json
generated
6
package-lock.json
generated
@@ -17090,6 +17090,12 @@
|
|||||||
"resolved": "https://registry.npmjs.org/prepend-http/-/prepend-http-2.0.0.tgz",
|
"resolved": "https://registry.npmjs.org/prepend-http/-/prepend-http-2.0.0.tgz",
|
||||||
"integrity": "sha1-6SQ0v6XqjBn0HN/UAddBo8gZ2Jc="
|
"integrity": "sha1-6SQ0v6XqjBn0HN/UAddBo8gZ2Jc="
|
||||||
},
|
},
|
||||||
|
"prettier": {
|
||||||
|
"version": "2.1.2",
|
||||||
|
"resolved": "https://registry.npmjs.org/prettier/-/prettier-2.1.2.tgz",
|
||||||
|
"integrity": "sha512-16c7K+x4qVlJg9rEbXl7HEGmQyZlG4R9AgP+oHKRMsMsuk8s+ATStlf1NpDqyBI1HpVyfjLOeMhH2LvuNvV5Vg==",
|
||||||
|
"dev": true
|
||||||
|
},
|
||||||
"private": {
|
"private": {
|
||||||
"version": "0.1.8",
|
"version": "0.1.8",
|
||||||
"resolved": "https://registry.npmjs.org/private/-/private-0.1.8.tgz",
|
"resolved": "https://registry.npmjs.org/private/-/private-0.1.8.tgz",
|
||||||
|
|||||||
@@ -111,6 +111,7 @@
|
|||||||
"npm-merge-driver-install": "^2.0.0",
|
"npm-merge-driver-install": "^2.0.0",
|
||||||
"object-hash": "^2.0.1",
|
"object-hash": "^2.0.1",
|
||||||
"pa11y-ci": "^2.4.0",
|
"pa11y-ci": "^2.4.0",
|
||||||
|
"prettier": "^2.1.2",
|
||||||
"puppeteer": "^2.1.1",
|
"puppeteer": "^2.1.1",
|
||||||
"replace": "^1.2.0",
|
"replace": "^1.2.0",
|
||||||
"revalidator": "^0.3.1",
|
"revalidator": "^0.3.1",
|
||||||
@@ -126,8 +127,8 @@
|
|||||||
"dev": "npm start",
|
"dev": "npm start",
|
||||||
"build": "cross-env NODE_ENV=production npx webpack --mode production",
|
"build": "cross-env NODE_ENV=production npx webpack --mode production",
|
||||||
"start-all-languages": "cross-env NODE_ENV=development nodemon server.js",
|
"start-all-languages": "cross-env NODE_ENV=development nodemon server.js",
|
||||||
"lint": "standard --fix",
|
"lint": "standard --fix && prettier -w \"**/*.{yml,yaml}\"",
|
||||||
"test": "jest && standard && npm run check-deps",
|
"test": "jest && standard && prettier -c \"**/*.{yml,yaml}\" && npm run check-deps",
|
||||||
"prebrowser-test": "npm run build",
|
"prebrowser-test": "npm run build",
|
||||||
"browser-test": "start-server-and-test browser-test-server 4001 browser-test-tests",
|
"browser-test": "start-server-and-test browser-test-server 4001 browser-test-tests",
|
||||||
"browser-test-server": "cross-env NODE_ENV=production ENABLED_LANGUAGES='en,ja' PORT=4001 node server.js",
|
"browser-test-server": "cross-env NODE_ENV=production ENABLED_LANGUAGES='en,ja' PORT=4001 node server.js",
|
||||||
|
|||||||
Reference in New Issue
Block a user