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
|
||||
on:
|
||||
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:
|
||||
stale:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/stale@af4072615903a8b031f986d25b1ae3bf45ec44d4
|
||||
with:
|
||||
repo-token: ${{ secrets.GITHUB_TOKEN }}
|
||||
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.'
|
||||
days-before-stale: 60
|
||||
days-before-close: -1
|
||||
only-labels: 'engineering'
|
||||
stale-issue-label: 'stale'
|
||||
stale-pr-label: 'stale'
|
||||
exempt-pr-labels: 'never-stale'
|
||||
exempt-issue-labels: 'never-stale'
|
||||
|
||||
- uses: actions/stale@af4072615903a8b031f986d25b1ae3bf45ec44d4
|
||||
with:
|
||||
repo-token: ${{ secrets.GITHUB_TOKEN }}
|
||||
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.'
|
||||
days-before-stale: 60
|
||||
days-before-close: -1
|
||||
only-labels: 'engineering'
|
||||
stale-issue-label: 'stale'
|
||||
stale-pr-label: 'stale'
|
||||
exempt-pr-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
|
||||
on:
|
||||
- pull_request
|
||||
pull_request:
|
||||
|
||||
jobs:
|
||||
triage:
|
||||
if: github.repository == 'github/docs-internal'
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/labeler@5f867a63be70efff62b767459b009290364495eb
|
||||
with:
|
||||
repo-token: "${{ secrets.GITHUB_TOKEN }}"
|
||||
- uses: actions/labeler@5f867a63be70efff62b767459b009290364495eb
|
||||
with:
|
||||
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:
|
||||
pull_request:
|
||||
paths:
|
||||
- "package*.json"
|
||||
- "Gemfile*"
|
||||
- "Dockerfile"
|
||||
- ".github/workflows/**"
|
||||
- 'package*.json'
|
||||
- 'Gemfile*'
|
||||
- 'Dockerfile'
|
||||
- '.github/workflows/**'
|
||||
pull_request_review:
|
||||
types:
|
||||
- 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')
|
||||
steps:
|
||||
- name: automerge
|
||||
uses: "pascalgn/automerge-action@c9bd182"
|
||||
uses: 'pascalgn/automerge-action@c9bd182'
|
||||
env:
|
||||
GITHUB_TOKEN: "${{ secrets.OCTOMERGER_PAT_WITH_REPO_AND_WORKFLOW_SCOPE }}"
|
||||
MERGE_METHOD_LABELS: "automerge=merge,autosquash=squash"
|
||||
MERGE_COMMIT_MESSAGE: "pull-request-title"
|
||||
MERGE_METHOD: "merge"
|
||||
MERGE_FORKS: "true"
|
||||
MERGE_RETRIES: "50"
|
||||
MERGE_RETRY_SLEEP: "10000" # ten seconds
|
||||
UPDATE_LABELS: "automerge,autosquash"
|
||||
UPDATE_METHOD: "merge"
|
||||
GITHUB_TOKEN: '${{ secrets.OCTOMERGER_PAT_WITH_REPO_AND_WORKFLOW_SCOPE }}'
|
||||
MERGE_METHOD_LABELS: 'automerge=merge,autosquash=squash'
|
||||
MERGE_COMMIT_MESSAGE: 'pull-request-title'
|
||||
MERGE_METHOD: 'merge'
|
||||
MERGE_FORKS: 'true'
|
||||
MERGE_RETRIES: '50'
|
||||
MERGE_RETRY_SLEEP: '10000' # ten seconds
|
||||
UPDATE_LABELS: 'automerge,autosquash'
|
||||
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:
|
||||
workflow_dispatch:
|
||||
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:
|
||||
check_all_english_links:
|
||||
@@ -11,22 +11,22 @@ jobs:
|
||||
if: github.repository == 'github/docs-internal'
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@5a4ac9002d0be2fb38bd78e4b4dbde5606d7042f
|
||||
- name: npm ci
|
||||
run: npm ci
|
||||
- name: npm run build
|
||||
run: npm run build
|
||||
- name: Run script
|
||||
run: script/check-english-links.js > broken_links.md
|
||||
- if: ${{ failure() }}
|
||||
name: Get title for issue
|
||||
id: check
|
||||
run: echo "::set-output name=title::$(head -1 broken_links.md)"
|
||||
- if: ${{ failure() }}
|
||||
name: Create issue from file
|
||||
uses: peter-evans/create-issue-from-file@35e304e2a12caac08c568247a2cb46ecd0c3ecc5
|
||||
with:
|
||||
token: ${{ secrets.DOCUBOT_FR_PROJECT_BOARD_WORKFLOWS_REPO_ORG_READ_SCOPES }}
|
||||
title: ${{ steps.check.outputs.title }}
|
||||
content-filepath: ./broken_links.md
|
||||
labels: broken link report
|
||||
- uses: actions/checkout@5a4ac9002d0be2fb38bd78e4b4dbde5606d7042f
|
||||
- name: npm ci
|
||||
run: npm ci
|
||||
- name: npm run build
|
||||
run: npm run build
|
||||
- name: Run script
|
||||
run: script/check-english-links.js > broken_links.md
|
||||
- if: ${{ failure() }}
|
||||
name: Get title for issue
|
||||
id: check
|
||||
run: echo "::set-output name=title::$(head -1 broken_links.md)"
|
||||
- if: ${{ failure() }}
|
||||
name: Create issue from file
|
||||
uses: peter-evans/create-issue-from-file@35e304e2a12caac08c568247a2cb46ecd0c3ecc5
|
||||
with:
|
||||
token: ${{ secrets.DOCUBOT_FR_PROJECT_BOARD_WORKFLOWS_REPO_ORG_READ_SCOPES }}
|
||||
title: ${{ steps.check.outputs.title }}
|
||||
content-filepath: ./broken_links.md
|
||||
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:
|
||||
push:
|
||||
paths:
|
||||
- '**/*.js'
|
||||
- '.github/workflows/codeql.yml'
|
||||
- '**/*.js'
|
||||
- '.github/workflows/codeql.yml'
|
||||
|
||||
jobs:
|
||||
build:
|
||||
runs-on: ubuntu-latest
|
||||
runs-on: ubuntu-latest
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@5a4ac9002d0be2fb38bd78e4b4dbde5606d7042f
|
||||
- uses: github/codeql-action/init@v1
|
||||
with:
|
||||
languages: javascript # comma separated list of values from {go, python, javascript, java, cpp, csharp} (not YET ruby, sorry!)
|
||||
- uses: github/codeql-action/analyze@v1
|
||||
continue-on-error: true
|
||||
- uses: actions/checkout@5a4ac9002d0be2fb38bd78e4b4dbde5606d7042f
|
||||
- uses: github/codeql-action/init@v1
|
||||
with:
|
||||
languages: javascript # comma separated list of values from {go, python, javascript, java, cpp, csharp} (not YET ruby, sorry!)
|
||||
- uses: github/codeql-action/analyze@v1
|
||||
continue-on-error: true
|
||||
|
||||
10
.github/workflows/crowdin.yml
vendored
10
.github/workflows/crowdin.yml
vendored
@@ -3,7 +3,7 @@ name: Crowdin Sync
|
||||
on:
|
||||
workflow_dispatch:
|
||||
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:
|
||||
sync_with_crowdin:
|
||||
@@ -20,7 +20,7 @@ jobs:
|
||||
upload_translations: false
|
||||
download_translations: true
|
||||
create_pull_request: true
|
||||
|
||||
|
||||
# Using a custom config temporarily to avoid clobbering the existing crowdin.yml
|
||||
# that is used by the github-help-docs OAuth integration.
|
||||
config: 'crowdin.yml'
|
||||
@@ -35,17 +35,15 @@ jobs:
|
||||
crowdin_branch_name: main
|
||||
|
||||
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.
|
||||
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
|
||||
# See "API v2" on https://crowdin.com/project/<your-project>/settings#api
|
||||
CROWDIN_PROJECT_ID: ${{ secrets.CROWDIN_PROJECT_ID }}
|
||||
|
||||
|
||||
# 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
|
||||
# This token was created by logging into Crowdin with the octoglot user
|
||||
CROWDIN_PERSONAL_TOKEN: ${{ secrets.CROWDIN_PERSONAL_TOKEN }}
|
||||
|
||||
|
||||
|
||||
@@ -9,23 +9,23 @@ jobs:
|
||||
if: github.repository == 'github/docs-internal'
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: checkout
|
||||
uses: actions/checkout@5a4ac9002d0be2fb38bd78e4b4dbde5606d7042f
|
||||
- uses: actions/setup-node@56899e050abffc08c2b3b61f3ec6a79a9dc3223d
|
||||
with:
|
||||
node-version: 14.x
|
||||
- name: cache node modules
|
||||
uses: actions/cache@0781355a23dac32fd3bac414512f4b903437991a
|
||||
with:
|
||||
path: ~/.npm
|
||||
key: ${{ runner.os }}-node-${{ hashFiles('**/package-lock.json') }}
|
||||
restore-keys: |
|
||||
${{ runner.os }}-node-
|
||||
- name: npm ci
|
||||
run: npm ci
|
||||
- name: (Dry run) sync indices
|
||||
env:
|
||||
ALGOLIA_APPLICATION_ID: ${{ secrets.ALGOLIA_APPLICATION_ID }}
|
||||
ALGOLIA_API_KEY: ${{ secrets.ALGOLIA_API_KEY }}
|
||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
run: npm run sync-search-dry-run
|
||||
- name: checkout
|
||||
uses: actions/checkout@5a4ac9002d0be2fb38bd78e4b4dbde5606d7042f
|
||||
- uses: actions/setup-node@56899e050abffc08c2b3b61f3ec6a79a9dc3223d
|
||||
with:
|
||||
node-version: 14.x
|
||||
- name: cache node modules
|
||||
uses: actions/cache@0781355a23dac32fd3bac414512f4b903437991a
|
||||
with:
|
||||
path: ~/.npm
|
||||
key: ${{ runner.os }}-node-${{ hashFiles('**/package-lock.json') }}
|
||||
restore-keys: |
|
||||
${{ runner.os }}-node-
|
||||
- name: npm ci
|
||||
run: npm ci
|
||||
- name: (Dry run) sync indices
|
||||
env:
|
||||
ALGOLIA_APPLICATION_ID: ${{ secrets.ALGOLIA_APPLICATION_ID }}
|
||||
ALGOLIA_API_KEY: ${{ secrets.ALGOLIA_API_KEY }}
|
||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
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
|
||||
on:
|
||||
pull_request:
|
||||
types: [reopened, opened, ready_for_review, closed, unlabeled]
|
||||
types:
|
||||
- reopened
|
||||
- opened
|
||||
- ready_for_review
|
||||
- closed
|
||||
- unlabeled
|
||||
|
||||
jobs:
|
||||
first-responder-triage-pr:
|
||||
@@ -10,46 +15,46 @@ jobs:
|
||||
runs-on: ubuntu-latest
|
||||
|
||||
steps:
|
||||
- name: Check if the event originated from a team member
|
||||
uses: actions/github-script@626af12fe9a53dc2972b48385e7fe7dec79145c9
|
||||
id: set-result
|
||||
with:
|
||||
github-token: ${{secrets.DOCUBOT_FR_PROJECT_BOARD_WORKFLOWS_REPO_ORG_READ_SCOPES}}
|
||||
result-encoding: string
|
||||
script: |
|
||||
const repoName = context.payload.repository.name
|
||||
const ownerName = context.payload.repository.owner.login
|
||||
const issueNumber = (context.eventName === "issues") ? context.payload.issue.number : context.payload.number
|
||||
const updatedIssueInformation = await github.issues.get({
|
||||
owner: ownerName,
|
||||
repo: repoName,
|
||||
issue_number: issueNumber
|
||||
})
|
||||
const teamMembers = await github.request(
|
||||
`/orgs/github/teams/docs/members`
|
||||
)
|
||||
const logins = teamMembers.data.map(member => member.login)
|
||||
// ignore PRs opened by docs bot accounts
|
||||
logins.push('Octomerger', 'octoglot')
|
||||
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.`)
|
||||
return 'true'
|
||||
}
|
||||
console.log(`This issue or pull request was authored by an external contributor.`)
|
||||
return 'false'
|
||||
- name: Label external contributor pull requests with docs-content-fr
|
||||
uses: rachmari/labeler@832d42ec5523f3c6d46e8168de71cd54363e3e2e
|
||||
if: steps.set-result.outputs.result == 'false'
|
||||
with:
|
||||
repo-token: "${{ secrets.DOCUBOT_FR_PROJECT_BOARD_WORKFLOWS_REPO_ORG_READ_SCOPES }}"
|
||||
add-labels: "docs-content-fr"
|
||||
- name: Triage to FR PR project column
|
||||
uses: rachmari/actions-add-new-issue-to-column@1a459ef92308ba7c9c9dc2fcdd72f232495574a9
|
||||
if: steps.set-result.outputs.result == 'false'
|
||||
with:
|
||||
action-token: ${{ secrets.DOCUBOT_FR_PROJECT_BOARD_WORKFLOWS_REPO_ORG_READ_SCOPES }}
|
||||
project-url: "https://github.com/orgs/github/projects/1367"
|
||||
column-name: "Docs-internal external contributor PRs"
|
||||
- name: Check if the event originated from a team member
|
||||
uses: actions/github-script@626af12fe9a53dc2972b48385e7fe7dec79145c9
|
||||
id: set-result
|
||||
with:
|
||||
github-token: ${{secrets.DOCUBOT_FR_PROJECT_BOARD_WORKFLOWS_REPO_ORG_READ_SCOPES}}
|
||||
result-encoding: string
|
||||
script: |
|
||||
const repoName = context.payload.repository.name
|
||||
const ownerName = context.payload.repository.owner.login
|
||||
const issueNumber = (context.eventName === "issues") ? context.payload.issue.number : context.payload.number
|
||||
const updatedIssueInformation = await github.issues.get({
|
||||
owner: ownerName,
|
||||
repo: repoName,
|
||||
issue_number: issueNumber
|
||||
})
|
||||
const teamMembers = await github.request(
|
||||
`/orgs/github/teams/docs/members`
|
||||
)
|
||||
const logins = teamMembers.data.map(member => member.login)
|
||||
// ignore PRs opened by docs bot accounts
|
||||
logins.push('Octomerger', 'octoglot')
|
||||
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.`)
|
||||
return 'true'
|
||||
}
|
||||
console.log(`This issue or pull request was authored by an external contributor.`)
|
||||
return 'false'
|
||||
- name: Label external contributor pull requests with docs-content-fr
|
||||
uses: rachmari/labeler@832d42ec5523f3c6d46e8168de71cd54363e3e2e
|
||||
if: steps.set-result.outputs.result == 'false'
|
||||
with:
|
||||
repo-token: '${{ secrets.DOCUBOT_FR_PROJECT_BOARD_WORKFLOWS_REPO_ORG_READ_SCOPES }}'
|
||||
add-labels: 'docs-content-fr'
|
||||
- name: Triage to FR PR project column
|
||||
uses: rachmari/actions-add-new-issue-to-column@1a459ef92308ba7c9c9dc2fcdd72f232495574a9
|
||||
if: steps.set-result.outputs.result == 'false'
|
||||
with:
|
||||
action-token: ${{ secrets.DOCUBOT_FR_PROJECT_BOARD_WORKFLOWS_REPO_ORG_READ_SCOPES }}
|
||||
project-url: 'https://github.com/orgs/github/projects/1367'
|
||||
column-name: 'Docs-internal external contributor PRs'
|
||||
|
||||
first-responder-remove-pr:
|
||||
name: Remove PR from FR project board
|
||||
@@ -57,29 +62,29 @@ jobs:
|
||||
runs-on: ubuntu-latest
|
||||
|
||||
steps:
|
||||
- name: Remove card from project
|
||||
uses: actions/github-script@626af12fe9a53dc2972b48385e7fe7dec79145c9
|
||||
with:
|
||||
github-token: ${{secrets.DOCUBOT_FR_PROJECT_BOARD_WORKFLOWS_REPO_ORG_READ_SCOPES}}
|
||||
result-encoding: string
|
||||
script: |
|
||||
const issueToRemove = context.payload.number
|
||||
const cards = await github.projects.listCards({
|
||||
column_id: 11130889
|
||||
})
|
||||
cards.data.forEach(card => {
|
||||
if (card.content_url) {
|
||||
const cardIssueNumber = parseInt(card.content_url.split('/').pop(), 10)
|
||||
if (cardIssueNumber === issueToRemove) {
|
||||
const cards = github.projects.deleteCard({
|
||||
card_id: card.id
|
||||
})
|
||||
- name: Remove card from project
|
||||
uses: actions/github-script@626af12fe9a53dc2972b48385e7fe7dec79145c9
|
||||
with:
|
||||
github-token: ${{secrets.DOCUBOT_FR_PROJECT_BOARD_WORKFLOWS_REPO_ORG_READ_SCOPES}}
|
||||
result-encoding: string
|
||||
script: |
|
||||
const issueToRemove = context.payload.number
|
||||
const cards = await github.projects.listCards({
|
||||
column_id: 11130889
|
||||
})
|
||||
cards.data.forEach(card => {
|
||||
if (card.content_url) {
|
||||
const cardIssueNumber = parseInt(card.content_url.split('/').pop(), 10)
|
||||
if (cardIssueNumber === issueToRemove) {
|
||||
const cards = github.projects.deleteCard({
|
||||
card_id: card.id
|
||||
})
|
||||
}
|
||||
}
|
||||
}
|
||||
})
|
||||
- name: Remove docs-content-fr label if not already removed
|
||||
if: github.event.action == 'closed'
|
||||
uses: rachmari/labeler@832d42ec5523f3c6d46e8168de71cd54363e3e2e
|
||||
with:
|
||||
repo-token: "${{ secrets.DOCUBOT_FR_PROJECT_BOARD_WORKFLOWS_REPO_ORG_READ_SCOPES }}"
|
||||
remove-labels: "docs-content-fr"
|
||||
})
|
||||
- name: Remove docs-content-fr label if not already removed
|
||||
if: github.event.action == 'closed'
|
||||
uses: rachmari/labeler@832d42ec5523f3c6d46e8168de71cd54363e3e2e
|
||||
with:
|
||||
repo-token: '${{ secrets.DOCUBOT_FR_PROJECT_BOARD_WORKFLOWS_REPO_ORG_READ_SCOPES }}'
|
||||
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
|
||||
on:
|
||||
pull_request_target:
|
||||
types: ['closed']
|
||||
types:
|
||||
- 'closed'
|
||||
|
||||
jobs:
|
||||
comment:
|
||||
|
||||
4
.github/workflows/pa11y.yml
vendored
4
.github/workflows/pa11y.yml
vendored
@@ -1,8 +1,8 @@
|
||||
name: "Pa11y"
|
||||
name: Pa11y
|
||||
on:
|
||||
workflow_dispatch:
|
||||
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:
|
||||
test:
|
||||
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:
|
||||
schedule:
|
||||
- cron: "*/20 * * * *" # every twenty minutes
|
||||
- cron: '*/20 * * * *' # every twenty minutes
|
||||
|
||||
jobs:
|
||||
ping_staging_apps:
|
||||
@@ -12,10 +12,10 @@ jobs:
|
||||
env:
|
||||
HEROKU_API_TOKEN: ${{ secrets.HEROKU_API_TOKEN }}
|
||||
steps:
|
||||
- uses: actions/checkout@5a4ac9002d0be2fb38bd78e4b4dbde5606d7042f
|
||||
- name: npm ci
|
||||
run: npm ci
|
||||
- name: npm run build
|
||||
run: npm run build
|
||||
- name: Run script
|
||||
run: script/ping-staging-apps.js
|
||||
- uses: actions/checkout@5a4ac9002d0be2fb38bd78e4b4dbde5606d7042f
|
||||
- name: npm ci
|
||||
run: npm ci
|
||||
- name: npm run build
|
||||
run: npm run build
|
||||
- name: Run script
|
||||
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:
|
||||
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:
|
||||
remove_unused_assets:
|
||||
@@ -13,42 +13,43 @@ jobs:
|
||||
if: github.repository == 'github/docs-internal'
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- if: ${{ env.FREEZE == 'true' }}
|
||||
run: |
|
||||
echo 'The repo is currently frozen! Exiting this workflow.'
|
||||
exit 1 # prevents further steps from running
|
||||
- name: Checkout
|
||||
uses: actions/checkout@5a4ac9002d0be2fb38bd78e4b4dbde5606d7042f
|
||||
- name: npm ci
|
||||
run: npm ci
|
||||
- name: Run scripts
|
||||
run: |
|
||||
script/remove-unused-assets.js > results.md
|
||||
script/remove-extraneous-translation-files.js
|
||||
- name: Get script results to use in PR body
|
||||
id: results
|
||||
uses: juliangruber/read-file-action@e0a316da496006ffd19142f0fd594a1783f3b512
|
||||
with:
|
||||
path: ./results.md
|
||||
- name: Remove script results file
|
||||
run: rm -rf ./results.md
|
||||
- name: Create pull request
|
||||
uses: peter-evans/create-pull-request@938e6aea6f8dbdaced2064e948cb806c77fe87b8
|
||||
with:
|
||||
# need to use a token with repo and workflow scopes for this step
|
||||
token: ${{ secrets.OCTOMERGER_PAT_WITH_REPO_AND_WORKFLOW_SCOPE }}
|
||||
commit-message: Action ran script/remove-unused-assets.js
|
||||
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
|
||||
${{ steps.results.outputs.content }}
|
||||
\n\nIf you have any questions, please contact @github/docs-engineering."
|
||||
labels: unused assets
|
||||
project: Core docs work for the current week
|
||||
project-column: Should do
|
||||
branch: remove-unused-assets
|
||||
- if: ${{ failure() }}
|
||||
name: Delete remote branch (if previous steps failed)
|
||||
uses: dawidd6/action-delete-branch@47743101a121ad657031e6704086271ca81b1911
|
||||
with:
|
||||
github_token: ${{ secrets.GITHUB_TOKEN }}
|
||||
branches: remove-unused-assets
|
||||
- if: ${{ env.FREEZE == 'true' }}
|
||||
run: |
|
||||
echo 'The repo is currently frozen! Exiting this workflow.'
|
||||
exit 1 # prevents further steps from running
|
||||
- name: Checkout
|
||||
uses: actions/checkout@5a4ac9002d0be2fb38bd78e4b4dbde5606d7042f
|
||||
- name: npm ci
|
||||
run: npm ci
|
||||
- name: Run scripts
|
||||
run: |
|
||||
script/remove-unused-assets.js > results.md
|
||||
script/remove-extraneous-translation-files.js
|
||||
- name: Get script results to use in PR body
|
||||
id: results
|
||||
uses: juliangruber/read-file-action@e0a316da496006ffd19142f0fd594a1783f3b512
|
||||
with:
|
||||
path: ./results.md
|
||||
- name: Remove script results file
|
||||
run: rm -rf ./results.md
|
||||
- name: Create pull request
|
||||
uses: peter-evans/create-pull-request@938e6aea6f8dbdaced2064e948cb806c77fe87b8
|
||||
with:
|
||||
# need to use a token with repo and workflow scopes for this step
|
||||
token: ${{ secrets.OCTOMERGER_PAT_WITH_REPO_AND_WORKFLOW_SCOPE }}
|
||||
commit-message: Action ran script/remove-unused-assets.js
|
||||
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
|
||||
${{ steps.results.outputs.content }}
|
||||
\n\nIf you have any questions, please contact @github/docs-engineering."
|
||||
labels: unused assets
|
||||
project: Core docs work for the current week
|
||||
project-column: Should do
|
||||
branch: remove-unused-assets
|
||||
- if: ${{ failure() }}
|
||||
name: Delete remote branch (if previous steps failed)
|
||||
uses: dawidd6/action-delete-branch@47743101a121ad657031e6704086271ca81b1911
|
||||
with:
|
||||
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
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
|
||||
- name: Fail if repo merges are paused
|
||||
if: ${{ env.FREEZE == 'true' }}
|
||||
run: |
|
||||
echo 'Merges into the "main" branch on this repo are currently paused!'
|
||||
exit 1
|
||||
- name: Fail if repo merges are paused
|
||||
if: ${{ env.FREEZE == 'true' }}
|
||||
run: |
|
||||
echo 'Merges into the "main" branch on this repo are currently paused!'
|
||||
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:
|
||||
schedule:
|
||||
- cron: "00 11 * * *" # once per day around 11:00am UTC
|
||||
- cron: '00 11 * * *' # once per day around 11:00am UTC
|
||||
|
||||
env:
|
||||
FREEZE: ${{ secrets.FREEZE }}
|
||||
@@ -13,13 +13,12 @@ jobs:
|
||||
runs-on: ubuntu-latest
|
||||
if: github.repository == 'github/docs-internal'
|
||||
steps:
|
||||
|
||||
- name: Send Slack notification if repo is frozen
|
||||
if: ${{ env.FREEZE == 'true' }}
|
||||
uses: rtCamp/action-slack-notify@e17352feaf9aee300bf0ebc1dfbf467d80438815
|
||||
env:
|
||||
SLACK_WEBHOOK: ${{ secrets.DOCS_ALERTS_SLACK_WEBHOOK }}
|
||||
SLACK_USERNAME: docs-repo-sync
|
||||
SLACK_ICON_EMOJI: ':freezing_face:'
|
||||
SLACK_COLOR: '#51A0D5' # Carolina Blue
|
||||
SLACK_MESSAGE: All repo-sync runs will fail for ${{ github.repository }} because the repo is currently frozen!
|
||||
- name: Send Slack notification if repo is frozen
|
||||
if: ${{ env.FREEZE == 'true' }}
|
||||
uses: rtCamp/action-slack-notify@e17352feaf9aee300bf0ebc1dfbf467d80438815
|
||||
env:
|
||||
SLACK_WEBHOOK: ${{ secrets.DOCS_ALERTS_SLACK_WEBHOOK }}
|
||||
SLACK_USERNAME: docs-repo-sync
|
||||
SLACK_ICON_EMOJI: ':freezing_face:'
|
||||
SLACK_COLOR: '#51A0D5' # Carolina Blue
|
||||
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)
|
||||
#
|
||||
#
|
||||
# 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
|
||||
|
||||
name: Repo Sync
|
||||
|
||||
on:
|
||||
schedule:
|
||||
- cron: "*/15 * * * *" # every 15 minutes
|
||||
- cron: '*/15 * * * *' # every 15 minutes
|
||||
|
||||
env:
|
||||
FREEZE: ${{ secrets.FREEZE }}
|
||||
@@ -18,65 +18,63 @@ jobs:
|
||||
name: Check for deployment freezes
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
|
||||
- name: Exit if repo is frozen
|
||||
if: ${{ env.FREEZE == 'true' }}
|
||||
run: |
|
||||
echo 'The repo is currently frozen! Exiting this workflow.'
|
||||
exit 1 # prevents further steps from running
|
||||
- name: Exit if repo is frozen
|
||||
if: ${{ env.FREEZE == 'true' }}
|
||||
run: |
|
||||
echo 'The repo is currently frozen! Exiting this workflow.'
|
||||
exit 1 # prevents further steps from running
|
||||
|
||||
repo-sync:
|
||||
name: Repo Sync
|
||||
needs: check-freezer
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: Check out repo
|
||||
uses: actions/checkout@5a4ac9002d0be2fb38bd78e4b4dbde5606d7042f
|
||||
|
||||
- name: Check out repo
|
||||
uses: actions/checkout@5a4ac9002d0be2fb38bd78e4b4dbde5606d7042f
|
||||
- name: Sync repo to branch
|
||||
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
|
||||
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: Create pull request
|
||||
uses: repo-sync/pull-request@33777245b1aace1a58c87a29c90321aa7a74bd7d
|
||||
env:
|
||||
GITHUB_TOKEN: ${{ secrets.OCTOMERGER_PAT_WITH_REPO_AND_WORKFLOW_SCOPE }}
|
||||
with:
|
||||
source_branch: repo-sync
|
||||
destination_branch: 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: Create pull request
|
||||
uses: repo-sync/pull-request@33777245b1aace1a58c87a29c90321aa7a74bd7d
|
||||
env:
|
||||
GITHUB_TOKEN: ${{ secrets.OCTOMERGER_PAT_WITH_REPO_AND_WORKFLOW_SCOPE }}
|
||||
with:
|
||||
source_branch: repo-sync
|
||||
destination_branch: 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
|
||||
uses: juliangruber/find-pull-request-action@64d55773c959748ad30a4184f4dc102af1669f7b
|
||||
id: find-pull-request
|
||||
with:
|
||||
github-token: ${{ secrets.GITHUB_TOKEN }}
|
||||
branch: repo-sync
|
||||
base: main
|
||||
|
||||
- name: Find pull request
|
||||
uses: juliangruber/find-pull-request-action@64d55773c959748ad30a4184f4dc102af1669f7b
|
||||
id: find-pull-request
|
||||
with:
|
||||
github-token: ${{ secrets.GITHUB_TOKEN }}
|
||||
branch: repo-sync
|
||||
base: main
|
||||
- name: Approve pull request
|
||||
if: ${{ steps.find-pull-request.outputs.number }}
|
||||
uses: juliangruber/approve-pull-request-action@c530832d4d346c597332e20e03605aa94fa150a8
|
||||
with:
|
||||
github-token: ${{ secrets.GITHUB_TOKEN }}
|
||||
number: ${{ steps.find-pull-request.outputs.number }}
|
||||
|
||||
- name: Approve pull request
|
||||
if: ${{ steps.find-pull-request.outputs.number }}
|
||||
uses: juliangruber/approve-pull-request-action@c530832d4d346c597332e20e03605aa94fa150a8
|
||||
with:
|
||||
github-token: ${{ secrets.GITHUB_TOKEN }}
|
||||
number: ${{ steps.find-pull-request.outputs.number }}
|
||||
|
||||
- name: Send Slack notification if workflow fails
|
||||
uses: rtCamp/action-slack-notify@e17352feaf9aee300bf0ebc1dfbf467d80438815
|
||||
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
|
||||
- name: Send Slack notification if workflow fails
|
||||
uses: rtCamp/action-slack-notify@e17352feaf9aee300bf0ebc1dfbf467d80438815
|
||||
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
|
||||
|
||||
on:
|
||||
issues:
|
||||
types: [labeled, reopened]
|
||||
|
||||
on:
|
||||
issues:
|
||||
types:
|
||||
- labeled
|
||||
- reopened
|
||||
|
||||
jobs:
|
||||
triage:
|
||||
if: github.repository == 'github/docs-internal'
|
||||
runs-on: ubuntu-latest
|
||||
continue-on-error: true
|
||||
steps:
|
||||
- name: Add issues with engineering label to project board
|
||||
if: contains(github.event.issue.labels.*.name, 'engineering') || contains(github.event.issue.labels.*.name, 'design') || contains(github.event.issue.labels.*.name, 'Design')
|
||||
uses: actions/github-script@626af12fe9a53dc2972b48385e7fe7dec79145c9
|
||||
with:
|
||||
github-token: ${{ secrets.DOCUBOT_FR_PROJECT_BOARD_WORKFLOWS_REPO_ORG_READ_SCOPES }}
|
||||
- name: Add issues with engineering label to project board
|
||||
if: contains(github.event.issue.labels.*.name, 'engineering') || contains(github.event.issue.labels.*.name, 'design') || contains(github.event.issue.labels.*.name, 'Design')
|
||||
uses: actions/github-script@626af12fe9a53dc2972b48385e7fe7dec79145c9
|
||||
with:
|
||||
github-token: ${{ secrets.DOCUBOT_FR_PROJECT_BOARD_WORKFLOWS_REPO_ORG_READ_SCOPES }}
|
||||
script: |
|
||||
var column_id = 9659080;
|
||||
try {
|
||||
|
||||
@@ -1,9 +1,11 @@
|
||||
name: Start new engineering PR workflow
|
||||
|
||||
on:
|
||||
on:
|
||||
pull_request_target:
|
||||
types: [opened, reopened]
|
||||
|
||||
types:
|
||||
- opened
|
||||
- reopened
|
||||
|
||||
jobs:
|
||||
triage:
|
||||
runs-on: ubuntu-latest
|
||||
@@ -12,52 +14,52 @@ jobs:
|
||||
DRAFT_COLUMN_ID: 10095775
|
||||
REGULAR_COLUMN_ID: 10095779
|
||||
steps:
|
||||
- uses: actions/github-script@626af12fe9a53dc2972b48385e7fe7dec79145c9
|
||||
continue-on-error: true
|
||||
with:
|
||||
- uses: actions/github-script@626af12fe9a53dc2972b48385e7fe7dec79145c9
|
||||
continue-on-error: true
|
||||
with:
|
||||
github-token: ${{ secrets.DOCUBOT_FR_PROJECT_BOARD_WORKFLOWS_REPO_ORG_READ_SCOPES }}
|
||||
script: |
|
||||
// Only assign the engineering folks
|
||||
try {
|
||||
await github.teams.getMembershipForUserInOrg({
|
||||
org: 'github',
|
||||
team_slug: 'docs-engineering',
|
||||
username: context.payload.sender.login,
|
||||
});
|
||||
} catch(err) {
|
||||
return
|
||||
}
|
||||
// Only assign the engineering folks
|
||||
try {
|
||||
await github.teams.getMembershipForUserInOrg({
|
||||
org: 'github',
|
||||
team_slug: 'docs-engineering',
|
||||
username: context.payload.sender.login,
|
||||
});
|
||||
} catch(err) {
|
||||
return
|
||||
}
|
||||
|
||||
// Set column ID
|
||||
const column_id = context.payload.pull_request.draft
|
||||
? process.env.DRAFT_COLUMN_ID
|
||||
: process.env.REGULAR_COLUMN_ID
|
||||
// Set column ID
|
||||
const column_id = context.payload.pull_request.draft
|
||||
? process.env.DRAFT_COLUMN_ID
|
||||
: process.env.REGULAR_COLUMN_ID
|
||||
|
||||
// Try to create the card on the GitHub Project
|
||||
try {
|
||||
await github.projects.createCard({
|
||||
column_id: column_id,
|
||||
content_type: 'PullRequest',
|
||||
content_id: context.payload.pull_request.id
|
||||
});
|
||||
} catch(error) {
|
||||
console.log(error);
|
||||
}
|
||||
// Try to create the card on the GitHub Project
|
||||
try {
|
||||
await github.projects.createCard({
|
||||
column_id: column_id,
|
||||
content_type: 'PullRequest',
|
||||
content_id: context.payload.pull_request.id
|
||||
});
|
||||
} catch(error) {
|
||||
console.log(error);
|
||||
}
|
||||
|
||||
|
||||
// Try to set the author as the assignee
|
||||
const owner = context.payload.repository.owner.login
|
||||
const repo = context.payload.repository.name
|
||||
// Try to set the author as the assignee
|
||||
const owner = context.payload.repository.owner.login
|
||||
const repo = context.payload.repository.name
|
||||
|
||||
try {
|
||||
await github.issues.addAssignees({
|
||||
owner: owner,
|
||||
repo: repo,
|
||||
issue_number: context.payload.pull_request.number,
|
||||
assignees: [
|
||||
context.payload.sender.login
|
||||
]
|
||||
});
|
||||
} catch(error) {
|
||||
console.log(error);
|
||||
}
|
||||
try {
|
||||
await github.issues.addAssignees({
|
||||
owner: owner,
|
||||
repo: repo,
|
||||
issue_number: context.payload.pull_request.number,
|
||||
assignees: [
|
||||
context.payload.sender.login
|
||||
]
|
||||
});
|
||||
} catch(error) {
|
||||
console.log(error);
|
||||
}
|
||||
|
||||
@@ -4,7 +4,7 @@ on:
|
||||
workflow_dispatch:
|
||||
push:
|
||||
branches:
|
||||
- main
|
||||
- main
|
||||
|
||||
jobs:
|
||||
updateIndices:
|
||||
@@ -12,29 +12,29 @@ jobs:
|
||||
if: github.repository == 'github/docs-internal'
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: checkout
|
||||
uses: actions/checkout@5a4ac9002d0be2fb38bd78e4b4dbde5606d7042f
|
||||
- uses: actions/setup-node@56899e050abffc08c2b3b61f3ec6a79a9dc3223d
|
||||
with:
|
||||
node-version: 14.x
|
||||
- name: cache node modules
|
||||
uses: actions/cache@0781355a23dac32fd3bac414512f4b903437991a
|
||||
with:
|
||||
path: ~/.npm
|
||||
key: ${{ runner.os }}-node-${{ hashFiles('**/package-lock.json') }}
|
||||
restore-keys: |
|
||||
${{ runner.os }}-node-
|
||||
- name: npm ci
|
||||
run: npm ci
|
||||
- name: sync indices
|
||||
env:
|
||||
ALGOLIA_APPLICATION_ID: ${{ secrets.ALGOLIA_APPLICATION_ID }}
|
||||
ALGOLIA_API_KEY: ${{ secrets.ALGOLIA_API_KEY }}
|
||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
run: npm run sync-search
|
||||
- name: Send slack notification if workflow run fails
|
||||
uses: rtCamp/action-slack-notify@e17352feaf9aee300bf0ebc1dfbf467d80438815
|
||||
if: failure()
|
||||
env:
|
||||
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
|
||||
- name: checkout
|
||||
uses: actions/checkout@5a4ac9002d0be2fb38bd78e4b4dbde5606d7042f
|
||||
- uses: actions/setup-node@56899e050abffc08c2b3b61f3ec6a79a9dc3223d
|
||||
with:
|
||||
node-version: 14.x
|
||||
- name: cache node modules
|
||||
uses: actions/cache@0781355a23dac32fd3bac414512f4b903437991a
|
||||
with:
|
||||
path: ~/.npm
|
||||
key: ${{ runner.os }}-node-${{ hashFiles('**/package-lock.json') }}
|
||||
restore-keys: |
|
||||
${{ runner.os }}-node-
|
||||
- name: npm ci
|
||||
run: npm ci
|
||||
- name: sync indices
|
||||
env:
|
||||
ALGOLIA_APPLICATION_ID: ${{ secrets.ALGOLIA_APPLICATION_ID }}
|
||||
ALGOLIA_API_KEY: ${{ secrets.ALGOLIA_API_KEY }}
|
||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
run: npm run sync-search
|
||||
- name: Send slack notification if workflow run fails
|
||||
uses: rtCamp/action-slack-notify@e17352feaf9aee300bf0ebc1dfbf467d80438815
|
||||
if: failure()
|
||||
env:
|
||||
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
|
||||
|
||||
4
.github/workflows/test-translations.yml
vendored
4
.github/workflows/test-translations.yml
vendored
@@ -4,7 +4,7 @@ name: Node.js Tests - Translations
|
||||
|
||||
on:
|
||||
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:
|
||||
lint:
|
||||
@@ -78,4 +78,4 @@ jobs:
|
||||
- name: Run tests
|
||||
run: npx jest tests/${{ matrix.test-group }}/
|
||||
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:
|
||||
workflow_dispatch:
|
||||
schedule:
|
||||
- cron: "50 19 * * *" # once a day at 19:50 UTC / 11:50 PST
|
||||
|
||||
env:
|
||||
CI: true
|
||||
- cron: '50 19 * * *' # once a day at 19:50 UTC / 11:50 PST
|
||||
|
||||
jobs:
|
||||
test:
|
||||
@@ -48,4 +45,4 @@ jobs:
|
||||
- name: Run tests
|
||||
run: npx jest tests/${{ matrix.test-group }}/
|
||||
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
|
||||
run: npx jest tests/${{ matrix.test-group }}/
|
||||
env:
|
||||
NODE_OPTIONS: "--max_old_space_size=4096"
|
||||
NODE_OPTIONS: '--max_old_space_size=4096'
|
||||
|
||||
- name: Send Slack notification if workflow fails
|
||||
uses: rtCamp/action-slack-notify@e17352feaf9aee300bf0ebc1dfbf467d80438815
|
||||
if: failure() && github.ref == 'early-access'
|
||||
env:
|
||||
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:
|
||||
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:
|
||||
FREEZE: ${{ secrets.FREEZE }}
|
||||
@@ -12,45 +12,45 @@ jobs:
|
||||
if: github.repository == 'github/docs-internal'
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- if: ${{ env.FREEZE == 'true' }}
|
||||
run: |
|
||||
echo 'The repo is currently frozen! Exiting this workflow.'
|
||||
exit 1 # prevents further steps from running
|
||||
- name: Find original Pull Request
|
||||
uses: juliangruber/find-pull-request-action@64d55773c959748ad30a4184f4dc102af1669f7b
|
||||
id: pr
|
||||
with:
|
||||
github-token: ${{ secrets.GITHUB_TOKEN }}
|
||||
branch: translations
|
||||
- if: ${{ steps.pr.outputs.number }}
|
||||
name: Check if already labeled
|
||||
uses: actions/github-script@626af12fe9a53dc2972b48385e7fe7dec79145c9
|
||||
id: has-label
|
||||
with:
|
||||
script: |
|
||||
const { data: labels } = await github.issues.listLabelsOnIssue({
|
||||
owner: context.repo.owner,
|
||||
repo: context.repo.repo,
|
||||
issue_number: ${{ steps.pr.outputs.number }}
|
||||
})
|
||||
if (labels.find(label => label.name === 'automerge')) {
|
||||
return 'ok'
|
||||
}
|
||||
- if: ${{ !steps.has-label.outputs.result }}
|
||||
name: Approve Pull Request
|
||||
uses: juliangruber/approve-pull-request-action@c530832d4d346c597332e20e03605aa94fa150a8
|
||||
with:
|
||||
github-token: ${{ secrets.GITHUB_TOKEN }}
|
||||
number: ${{ steps.pr.outputs.number }}
|
||||
- if: ${{ !steps.has-label.outputs.result }}
|
||||
name: Add automerge label
|
||||
uses: actions/github-script@626af12fe9a53dc2972b48385e7fe7dec79145c9
|
||||
with:
|
||||
github-token: ${{ secrets.GITHUB_TOKEN }}
|
||||
script: |
|
||||
github.issues.addLabels({
|
||||
owner: context.repo.owner,
|
||||
repo: context.repo.repo,
|
||||
issue_number: ${{ steps.pr.outputs.number }},
|
||||
labels: ['automerge']
|
||||
})
|
||||
- if: ${{ env.FREEZE == 'true' }}
|
||||
run: |
|
||||
echo 'The repo is currently frozen! Exiting this workflow.'
|
||||
exit 1 # prevents further steps from running
|
||||
- name: Find original Pull Request
|
||||
uses: juliangruber/find-pull-request-action@64d55773c959748ad30a4184f4dc102af1669f7b
|
||||
id: pr
|
||||
with:
|
||||
github-token: ${{ secrets.GITHUB_TOKEN }}
|
||||
branch: translations
|
||||
- if: ${{ steps.pr.outputs.number }}
|
||||
name: Check if already labeled
|
||||
uses: actions/github-script@626af12fe9a53dc2972b48385e7fe7dec79145c9
|
||||
id: has-label
|
||||
with:
|
||||
script: |
|
||||
const { data: labels } = await github.issues.listLabelsOnIssue({
|
||||
owner: context.repo.owner,
|
||||
repo: context.repo.repo,
|
||||
issue_number: ${{ steps.pr.outputs.number }}
|
||||
})
|
||||
if (labels.find(label => label.name === 'automerge')) {
|
||||
return 'ok'
|
||||
}
|
||||
- if: ${{ !steps.has-label.outputs.result }}
|
||||
name: Approve Pull Request
|
||||
uses: juliangruber/approve-pull-request-action@c530832d4d346c597332e20e03605aa94fa150a8
|
||||
with:
|
||||
github-token: ${{ secrets.GITHUB_TOKEN }}
|
||||
number: ${{ steps.pr.outputs.number }}
|
||||
- if: ${{ !steps.has-label.outputs.result }}
|
||||
name: Add automerge label
|
||||
uses: actions/github-script@626af12fe9a53dc2972b48385e7fe7dec79145c9
|
||||
with:
|
||||
github-token: ${{ secrets.GITHUB_TOKEN }}
|
||||
script: |
|
||||
github.issues.addLabels({
|
||||
owner: context.repo.owner,
|
||||
repo: context.repo.repo,
|
||||
issue_number: ${{ steps.pr.outputs.number }},
|
||||
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
|
||||
on:
|
||||
issue_comment:
|
||||
types: [created]
|
||||
types:
|
||||
- created
|
||||
|
||||
jobs:
|
||||
triage-issue-comments:
|
||||
@@ -9,38 +10,38 @@ jobs:
|
||||
runs-on: ubuntu-latest
|
||||
|
||||
steps:
|
||||
- name: Check if the event originated from a team member
|
||||
uses: actions/github-script@626af12fe9a53dc2972b48385e7fe7dec79145c9
|
||||
id: is-internal-contributor
|
||||
with:
|
||||
github-token: ${{secrets.GITHUB_TOKEN}}
|
||||
result-encoding: string
|
||||
script: |
|
||||
const repo = context.payload.repository.name
|
||||
const org = context.payload.repository.owner.login
|
||||
const actor = context.actor
|
||||
let collaboratorStatus = ''
|
||||
try {
|
||||
collaboratorStatus = await github.request('GET /repos/{owner}/{repo}/collaborators/{username}', {
|
||||
owner: org,
|
||||
repo: repo,
|
||||
username: actor
|
||||
})
|
||||
console.log(`This issue was commented on by a Hubber.`)
|
||||
return 'true'
|
||||
} catch (error) {
|
||||
console.log(`This issue was commented on by an external contributor.`)
|
||||
return 'false'
|
||||
}
|
||||
- name: Label issues with new comments with 'triage'
|
||||
uses: rachmari/labeler@832d42ec5523f3c6d46e8168de71cd54363e3e2e
|
||||
if: (steps.is-internal-contributor.outputs.result == 'false')
|
||||
with:
|
||||
repo-token: "${{ secrets.GITHUB_TOKEN }}"
|
||||
add-labels: "triage"
|
||||
- name: Triage to project board
|
||||
uses: rachmari/actions-add-new-issue-to-column@1a459ef92308ba7c9c9dc2fcdd72f232495574a9
|
||||
with:
|
||||
action-token: ${{ secrets.GITHUB_TOKEN }}
|
||||
project-url: "https://github.com/github/docs/projects/1"
|
||||
column-name: "Triage"
|
||||
- name: Check if the event originated from a team member
|
||||
uses: actions/github-script@626af12fe9a53dc2972b48385e7fe7dec79145c9
|
||||
id: is-internal-contributor
|
||||
with:
|
||||
github-token: ${{secrets.GITHUB_TOKEN}}
|
||||
result-encoding: string
|
||||
script: |
|
||||
const repo = context.payload.repository.name
|
||||
const org = context.payload.repository.owner.login
|
||||
const actor = context.actor
|
||||
let collaboratorStatus = ''
|
||||
try {
|
||||
collaboratorStatus = await github.request('GET /repos/{owner}/{repo}/collaborators/{username}', {
|
||||
owner: org,
|
||||
repo: repo,
|
||||
username: actor
|
||||
})
|
||||
console.log(`This issue was commented on by a Hubber.`)
|
||||
return 'true'
|
||||
} catch (error) {
|
||||
console.log(`This issue was commented on by an external contributor.`)
|
||||
return 'false'
|
||||
}
|
||||
- name: Label issues with new comments with 'triage'
|
||||
uses: rachmari/labeler@832d42ec5523f3c6d46e8168de71cd54363e3e2e
|
||||
if: (steps.is-internal-contributor.outputs.result == 'false')
|
||||
with:
|
||||
repo-token: '${{ secrets.GITHUB_TOKEN }}'
|
||||
add-labels: 'triage'
|
||||
- name: Triage to project board
|
||||
uses: rachmari/actions-add-new-issue-to-column@1a459ef92308ba7c9c9dc2fcdd72f232495574a9
|
||||
with:
|
||||
action-token: ${{ secrets.GITHUB_TOKEN }}
|
||||
project-url: 'https://github.com/github/docs/projects/1'
|
||||
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
|
||||
on:
|
||||
issues:
|
||||
types: [reopened, opened]
|
||||
types:
|
||||
- reopened
|
||||
- opened
|
||||
|
||||
jobs:
|
||||
triage_issues:
|
||||
@@ -9,14 +11,14 @@ jobs:
|
||||
runs-on: ubuntu-latest
|
||||
|
||||
steps:
|
||||
- name: Label new issues with 'triage'
|
||||
uses: rachmari/labeler@832d42ec5523f3c6d46e8168de71cd54363e3e2e
|
||||
with:
|
||||
repo-token: "${{ secrets.GITHUB_TOKEN }}"
|
||||
add-labels: "triage"
|
||||
- name: Triage to project board
|
||||
uses: rachmari/actions-add-new-issue-to-column@1a459ef92308ba7c9c9dc2fcdd72f232495574a9
|
||||
with:
|
||||
action-token: ${{ secrets.GITHUB_TOKEN }}
|
||||
project-url: "https://github.com/github/docs/projects/1"
|
||||
column-name: "Triage"
|
||||
- name: Label new issues with 'triage'
|
||||
uses: rachmari/labeler@832d42ec5523f3c6d46e8168de71cd54363e3e2e
|
||||
with:
|
||||
repo-token: '${{ secrets.GITHUB_TOKEN }}'
|
||||
add-labels: 'triage'
|
||||
- name: Triage to project board
|
||||
uses: rachmari/actions-add-new-issue-to-column@1a459ef92308ba7c9c9dc2fcdd72f232495574a9
|
||||
with:
|
||||
action-token: ${{ secrets.GITHUB_TOKEN }}
|
||||
project-url: 'https://github.com/github/docs/projects/1'
|
||||
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
|
||||
on:
|
||||
pull_request:
|
||||
types: [reopened, opened]
|
||||
types:
|
||||
- reopened
|
||||
- opened
|
||||
|
||||
jobs:
|
||||
triage_pulls:
|
||||
@@ -9,14 +11,14 @@ jobs:
|
||||
runs-on: ubuntu-latest
|
||||
|
||||
steps:
|
||||
- name: Label new pull requests with 'triage'
|
||||
uses: rachmari/labeler@832d42ec5523f3c6d46e8168de71cd54363e3e2e
|
||||
with:
|
||||
repo-token: "${{ secrets.GITHUB_TOKEN }}"
|
||||
add-labels: "triage"
|
||||
- name: Triage to project board
|
||||
uses: rachmari/actions-add-new-issue-to-column@1a459ef92308ba7c9c9dc2fcdd72f232495574a9
|
||||
with:
|
||||
action-token: ${{ secrets.GITHUB_TOKEN }}
|
||||
project-url: "https://github.com/github/docs/projects/1"
|
||||
column-name: "Triage"
|
||||
- name: Label new pull requests with 'triage'
|
||||
uses: rachmari/labeler@832d42ec5523f3c6d46e8168de71cd54363e3e2e
|
||||
with:
|
||||
repo-token: '${{ secrets.GITHUB_TOKEN }}'
|
||||
add-labels: 'triage'
|
||||
- name: Triage to project board
|
||||
uses: rachmari/actions-add-new-issue-to-column@1a459ef92308ba7c9c9dc2fcdd72f232495574a9
|
||||
with:
|
||||
action-token: ${{ secrets.GITHUB_TOKEN }}
|
||||
project-url: 'https://github.com/github/docs/projects/1'
|
||||
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
|
||||
on:
|
||||
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:
|
||||
stale:
|
||||
@@ -9,12 +9,12 @@ jobs:
|
||||
runs-on: ubuntu-latest
|
||||
|
||||
steps:
|
||||
- uses: actions/stale@af4072615903a8b031f986d25b1ae3bf45ec44d4
|
||||
with:
|
||||
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.'
|
||||
days-before-stale: 7
|
||||
days-before-close: 10
|
||||
stale-pr-label: 'stale'
|
||||
exempt-pr-labels: 'never-stale'
|
||||
exempt-issue-labels: 'never-stale'
|
||||
- uses: actions/stale@af4072615903a8b031f986d25b1ae3bf45ec44d4
|
||||
with:
|
||||
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.'
|
||||
days-before-stale: 7
|
||||
days-before-close: 10
|
||||
stale-pr-label: 'stale'
|
||||
exempt-pr-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:
|
||||
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:
|
||||
update_graphql_files:
|
||||
if: github.repository == 'github/docs-internal'
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- if: ${{ env.FREEZE == 'true' }}
|
||||
run: |
|
||||
echo 'The repo is currently frozen! Exiting this workflow.'
|
||||
exit 1 # prevents further steps from running
|
||||
- name: Checkout
|
||||
uses: actions/checkout@5a4ac9002d0be2fb38bd78e4b4dbde5606d7042f
|
||||
- name: Set up Ruby
|
||||
uses: actions/setup-ruby@5f29a1cd8dfebf420691c4c9a0e832e2fae5a526
|
||||
with:
|
||||
ruby-version: '2.4'
|
||||
- name: Install Ruby dependencies
|
||||
run: |
|
||||
gem install bundler
|
||||
bundle install
|
||||
- name: Install Node.js dependencies
|
||||
run: npm ci
|
||||
- name: Run updater scripts
|
||||
env:
|
||||
# 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 }}
|
||||
# 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
|
||||
# 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.
|
||||
run: |
|
||||
script/graphql/update-files.js
|
||||
script/graphql/build-changelog-from-markdown.js
|
||||
- name: Create pull request
|
||||
id: create-pull-request
|
||||
uses: peter-evans/create-pull-request@938e6aea6f8dbdaced2064e948cb806c77fe87b8
|
||||
with:
|
||||
# need to use a token with repo and workflow scopes for this step
|
||||
token: ${{ secrets.OCTOMERGER_PAT_WITH_REPO_AND_WORKFLOW_SCOPE }}
|
||||
commit-message: 'Action ran graphql scripts "update-files" and "build-changelog-from-markdown"'
|
||||
title: GraphQL schema update
|
||||
body: "Hello! Some GraphQL data in github/github was updated recently. This PR
|
||||
syncs up the GraphQL data in this repo.\n\n
|
||||
If CI passes, this PR will be auto-merged. :green_heart:\n\n
|
||||
If CI does not pass or other problems arise, contact #docs-engineering on slack."
|
||||
labels: automerge
|
||||
branch: graphql-schema-update
|
||||
- if: ${{ failure() }}
|
||||
name: Delete remote branch (if previous steps failed)
|
||||
uses: dawidd6/action-delete-branch@47743101a121ad657031e6704086271ca81b1911
|
||||
with:
|
||||
github_token: ${{ secrets.GITHUB_TOKEN }}
|
||||
branches: graphql-schema-update
|
||||
- if: ${{ steps.create-pull-request.outputs.pr_number }}
|
||||
name: Approve
|
||||
uses: juliangruber/approve-pull-request-action@c530832d4d346c597332e20e03605aa94fa150a8
|
||||
with:
|
||||
github-token: ${{ secrets.GITHUB_TOKEN }}
|
||||
number: ${{ steps.create-pull-request.outputs.pr_number }}
|
||||
- if: ${{ env.FREEZE == 'true' }}
|
||||
run: |
|
||||
echo 'The repo is currently frozen! Exiting this workflow.'
|
||||
exit 1 # prevents further steps from running
|
||||
- name: Checkout
|
||||
uses: actions/checkout@5a4ac9002d0be2fb38bd78e4b4dbde5606d7042f
|
||||
- name: Set up Ruby
|
||||
uses: actions/setup-ruby@5f29a1cd8dfebf420691c4c9a0e832e2fae5a526
|
||||
with:
|
||||
ruby-version: '2.4'
|
||||
- name: Install Ruby dependencies
|
||||
run: |
|
||||
gem install bundler
|
||||
bundle install
|
||||
- name: Install Node.js dependencies
|
||||
run: npm ci
|
||||
- name: Run updater scripts
|
||||
env:
|
||||
# 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 }}
|
||||
# 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
|
||||
# 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.
|
||||
run: |
|
||||
script/graphql/update-files.js
|
||||
script/graphql/build-changelog-from-markdown.js
|
||||
- name: Create pull request
|
||||
id: create-pull-request
|
||||
uses: peter-evans/create-pull-request@938e6aea6f8dbdaced2064e948cb806c77fe87b8
|
||||
with:
|
||||
# need to use a token with repo and workflow scopes for this step
|
||||
token: ${{ secrets.OCTOMERGER_PAT_WITH_REPO_AND_WORKFLOW_SCOPE }}
|
||||
commit-message: 'Action ran graphql scripts "update-files" and "build-changelog-from-markdown"'
|
||||
title: GraphQL schema update
|
||||
body:
|
||||
"Hello! Some GraphQL data in github/github was updated recently. This PR
|
||||
syncs up the GraphQL data in this repo.\n\n
|
||||
If CI passes, this PR will be auto-merged. :green_heart:\n\n
|
||||
If CI does not pass or other problems arise, contact #docs-engineering on slack."
|
||||
labels: automerge
|
||||
branch: graphql-schema-update
|
||||
- if: ${{ failure() }}
|
||||
name: Delete remote branch (if previous steps failed)
|
||||
uses: dawidd6/action-delete-branch@47743101a121ad657031e6704086271ca81b1911
|
||||
with:
|
||||
github_token: ${{ secrets.GITHUB_TOKEN }}
|
||||
branches: graphql-schema-update
|
||||
- if: ${{ steps.create-pull-request.outputs.pr_number }}
|
||||
name: Approve
|
||||
uses: juliangruber/approve-pull-request-action@c530832d4d346c597332e20e03605aa94fa150a8
|
||||
with:
|
||||
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:
|
||||
- source: /content/**/*.md
|
||||
translation: /translations/%locale%/%original_path%/%original_file_name%
|
||||
ignore: [
|
||||
"/content/README.md"
|
||||
]
|
||||
ignore:
|
||||
- '/content/README.md'
|
||||
- source: /data/**/*.yml
|
||||
translation: /translations/%locale%/%original_path%/%original_file_name%
|
||||
- source: /data/**/*.md
|
||||
translation: /translations/%locale%/%original_path%/%original_file_name%
|
||||
ignore: [
|
||||
"data/README.md",
|
||||
"data/reusables/README.md",
|
||||
"data/variables/product.yml",
|
||||
"data/variables/README.md",
|
||||
"data/graphql",
|
||||
"data/products.yml"
|
||||
]
|
||||
ignore:
|
||||
- 'data/README.md'
|
||||
- 'data/reusables/README.md'
|
||||
- 'data/variables/product.yml'
|
||||
- 'data/variables/README.md'
|
||||
- 'data/graphql'
|
||||
- 'data/products.yml'
|
||||
|
||||
# These end up as env vars used by the GitHub Actions workflow
|
||||
project_id_env: CROWDIN_PROJECT_ID
|
||||
api_token_env: CROWDIN_PERSONAL_TOKEN
|
||||
|
||||
# https://support.crowdin.com/configuration-file-v3/#saving-directory-structure-on-server
|
||||
preserve_hierarchy: true
|
||||
preserve_hierarchy: true
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
- 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.
|
||||
- term: access token
|
||||
description: >-
|
||||
@@ -26,7 +27,8 @@
|
||||
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."
|
||||
- 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.
|
||||
- term: basic authentication
|
||||
description: >-
|
||||
@@ -300,7 +302,7 @@
|
||||
description: A defined commit of a branch, usually the most recent commit at the tip of the branch.
|
||||
- term: head 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."
|
||||
- term: 'Hello, World'
|
||||
description: >-
|
||||
|
||||
@@ -1,106 +1,114 @@
|
||||
---
|
||||
upcoming_changes:
|
||||
- location: Migration.uploadUrlTemplate
|
||||
description: "`uploadUrlTemplate` will be removed. Use `uploadUrl` instead."
|
||||
reason: "`uploadUrlTemplate` is being removed because it is not a standard URL and
|
||||
adds an extra user step."
|
||||
date: '2019-04-01T00:00:00+00:00'
|
||||
criticality: breaking
|
||||
owner: tambling
|
||||
- location: AssignedEvent.user
|
||||
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
|
||||
- location: EnterpriseBillingInfo.availableSeats
|
||||
description: "`availableSeats` will be removed. Use EnterpriseBillingInfo.totalAvailableLicenses
|
||||
instead."
|
||||
reason: "`availableSeats` will be replaced with `totalAvailableLicenses` to provide
|
||||
more clarity on the value being returned"
|
||||
date: '2020-01-01T00:00:00+00:00'
|
||||
criticality: breaking
|
||||
owner: BlakeWilliams
|
||||
- location: EnterpriseBillingInfo.seats
|
||||
description: "`seats` will be removed. Use EnterpriseBillingInfo.totalLicenses instead."
|
||||
reason: "`seats` will be replaced with `totalLicenses` to provide more clarity on
|
||||
the value being returned"
|
||||
date: '2020-01-01T00:00:00+00:00'
|
||||
criticality: breaking
|
||||
owner: BlakeWilliams
|
||||
- location: UnassignedEvent.user
|
||||
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
|
||||
- location: Sponsorship.maintainer
|
||||
description: "`maintainer` will be removed. Use `Sponsorship.sponsorable` instead."
|
||||
reason: "`Sponsorship.maintainer` will be removed."
|
||||
date: '2020-04-01T00:00:00+00:00'
|
||||
criticality: breaking
|
||||
owner: antn
|
||||
- location: EnterprisePendingMemberInvitationEdge.isUnlicensed
|
||||
description: "`isUnlicensed` will be removed."
|
||||
reason: All pending members consume a license
|
||||
date: '2020-07-01T00:00:00+00:00'
|
||||
criticality: breaking
|
||||
owner: BrentWheeldon
|
||||
- location: EnterpriseOwnerInfo.pendingCollaborators
|
||||
description: "`pendingCollaborators` will be removed. Use the `pendingCollaboratorInvitations`
|
||||
field instead."
|
||||
reason: Repository invitations can now be associated with an email, not only an
|
||||
invitee.
|
||||
date: '2020-10-01T00:00:00+00:00'
|
||||
criticality: breaking
|
||||
owner: jdennes
|
||||
- location: Issue.timeline
|
||||
description: "`timeline` will be removed. Use Issue.timelineItems instead."
|
||||
reason: "`timeline` will be removed"
|
||||
date: '2020-10-01T00:00:00+00:00'
|
||||
criticality: breaking
|
||||
owner: mikesea
|
||||
- location: PullRequest.timeline
|
||||
description: "`timeline` will be removed. Use PullRequest.timelineItems instead."
|
||||
reason: "`timeline` will be removed"
|
||||
date: '2020-10-01T00:00:00+00:00'
|
||||
criticality: breaking
|
||||
owner: mikesea
|
||||
- location: RepositoryInvitationOrderField.INVITEE_LOGIN
|
||||
description: "`INVITEE_LOGIN` will be removed."
|
||||
reason: "`INVITEE_LOGIN` is no longer a valid field value. Repository invitations
|
||||
can now be associated with an email, not only an invitee."
|
||||
date: '2020-10-01T00:00:00+00:00'
|
||||
criticality: breaking
|
||||
owner: jdennes
|
||||
- location: Sponsorship.sponsor
|
||||
description: "`sponsor` will be removed. Use `Sponsorship.sponsorEntity` instead."
|
||||
reason: "`Sponsorship.sponsor` will be removed."
|
||||
date: '2020-10-01T00:00:00+00:00'
|
||||
criticality: breaking
|
||||
owner: nholden
|
||||
- location: EnterpriseMemberEdge.isUnlicensed
|
||||
description: "`isUnlicensed` will be removed."
|
||||
reason: All members consume a license
|
||||
date: '2021-01-01T00:00:00+00:00'
|
||||
criticality: breaking
|
||||
owner: BrentWheeldon
|
||||
- location: EnterpriseOutsideCollaboratorEdge.isUnlicensed
|
||||
description: "`isUnlicensed` will be removed."
|
||||
reason: All outside collaborators consume a license
|
||||
date: '2021-01-01T00:00:00+00:00'
|
||||
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
|
||||
- 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
|
||||
- location: Migration.uploadUrlTemplate
|
||||
description: '`uploadUrlTemplate` will be removed. Use `uploadUrl` instead.'
|
||||
reason:
|
||||
'`uploadUrlTemplate` is being removed because it is not a standard URL and
|
||||
adds an extra user step.'
|
||||
date: '2019-04-01T00:00:00+00:00'
|
||||
criticality: breaking
|
||||
owner: tambling
|
||||
- location: AssignedEvent.user
|
||||
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
|
||||
- location: EnterpriseBillingInfo.availableSeats
|
||||
description:
|
||||
'`availableSeats` will be removed. Use EnterpriseBillingInfo.totalAvailableLicenses
|
||||
instead.'
|
||||
reason:
|
||||
'`availableSeats` will be replaced with `totalAvailableLicenses` to provide
|
||||
more clarity on the value being returned'
|
||||
date: '2020-01-01T00:00:00+00:00'
|
||||
criticality: breaking
|
||||
owner: BlakeWilliams
|
||||
- location: EnterpriseBillingInfo.seats
|
||||
description: '`seats` will be removed. Use EnterpriseBillingInfo.totalLicenses instead.'
|
||||
reason:
|
||||
'`seats` will be replaced with `totalLicenses` to provide more clarity on
|
||||
the value being returned'
|
||||
date: '2020-01-01T00:00:00+00:00'
|
||||
criticality: breaking
|
||||
owner: BlakeWilliams
|
||||
- location: UnassignedEvent.user
|
||||
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
|
||||
- location: Sponsorship.maintainer
|
||||
description: '`maintainer` will be removed. Use `Sponsorship.sponsorable` instead.'
|
||||
reason: '`Sponsorship.maintainer` will be removed.'
|
||||
date: '2020-04-01T00:00:00+00:00'
|
||||
criticality: breaking
|
||||
owner: antn
|
||||
- location: EnterprisePendingMemberInvitationEdge.isUnlicensed
|
||||
description: '`isUnlicensed` will be removed.'
|
||||
reason: All pending members consume a license
|
||||
date: '2020-07-01T00:00:00+00:00'
|
||||
criticality: breaking
|
||||
owner: BrentWheeldon
|
||||
- location: EnterpriseOwnerInfo.pendingCollaborators
|
||||
description:
|
||||
'`pendingCollaborators` will be removed. Use the `pendingCollaboratorInvitations`
|
||||
field instead.'
|
||||
reason:
|
||||
Repository invitations can now be associated with an email, not only an
|
||||
invitee.
|
||||
date: '2020-10-01T00:00:00+00:00'
|
||||
criticality: breaking
|
||||
owner: jdennes
|
||||
- location: Issue.timeline
|
||||
description: '`timeline` will be removed. Use Issue.timelineItems instead.'
|
||||
reason: '`timeline` will be removed'
|
||||
date: '2020-10-01T00:00:00+00:00'
|
||||
criticality: breaking
|
||||
owner: mikesea
|
||||
- location: PullRequest.timeline
|
||||
description: '`timeline` will be removed. Use PullRequest.timelineItems instead.'
|
||||
reason: '`timeline` will be removed'
|
||||
date: '2020-10-01T00:00:00+00:00'
|
||||
criticality: breaking
|
||||
owner: mikesea
|
||||
- location: RepositoryInvitationOrderField.INVITEE_LOGIN
|
||||
description: '`INVITEE_LOGIN` will be removed.'
|
||||
reason:
|
||||
'`INVITEE_LOGIN` is no longer a valid field value. Repository invitations
|
||||
can now be associated with an email, not only an invitee.'
|
||||
date: '2020-10-01T00:00:00+00:00'
|
||||
criticality: breaking
|
||||
owner: jdennes
|
||||
- location: Sponsorship.sponsor
|
||||
description: '`sponsor` will be removed. Use `Sponsorship.sponsorEntity` instead.'
|
||||
reason: '`Sponsorship.sponsor` will be removed.'
|
||||
date: '2020-10-01T00:00:00+00:00'
|
||||
criticality: breaking
|
||||
owner: nholden
|
||||
- location: EnterpriseMemberEdge.isUnlicensed
|
||||
description: '`isUnlicensed` will be removed.'
|
||||
reason: All members consume a license
|
||||
date: '2021-01-01T00:00:00+00:00'
|
||||
criticality: breaking
|
||||
owner: BrentWheeldon
|
||||
- location: EnterpriseOutsideCollaboratorEdge.isUnlicensed
|
||||
description: '`isUnlicensed` will be removed.'
|
||||
reason: All outside collaborators consume a license
|
||||
date: '2021-01-01T00:00:00+00:00'
|
||||
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
|
||||
- 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:
|
||||
- location: Migration.uploadUrlTemplate
|
||||
description: "`uploadUrlTemplate` will be removed. Use `uploadUrl` instead."
|
||||
reason: "`uploadUrlTemplate` is being removed because it is not a standard URL and
|
||||
adds an extra user step."
|
||||
date: '2019-04-01T00:00:00+00:00'
|
||||
criticality: breaking
|
||||
owner: tambling
|
||||
- location: ContributionOrder.field
|
||||
description: "`field` will be removed. Only one order field is supported."
|
||||
reason: "`field` will be removed."
|
||||
date: '2019-10-01T00:00:00+00:00'
|
||||
criticality: breaking
|
||||
owner: dinahshi
|
||||
- location: Issue.timeline
|
||||
description: "`timeline` will be removed. Use Issue.timelineItems instead."
|
||||
reason: "`timeline` will be removed"
|
||||
date: '2019-10-01T00:00:00+00:00'
|
||||
criticality: breaking
|
||||
owner: mikesea
|
||||
- location: Organization.pinnedRepositories
|
||||
description: "`pinnedRepositories` will be removed. Use ProfileOwner.pinnedItems
|
||||
instead."
|
||||
reason: pinnedRepositories will be removed
|
||||
date: '2019-10-01T00:00:00+00:00'
|
||||
criticality: breaking
|
||||
owner: cheshire137
|
||||
- location: PullRequest.timeline
|
||||
description: "`timeline` will be removed. Use PullRequest.timelineItems instead."
|
||||
reason: "`timeline` will be removed"
|
||||
date: '2019-10-01T00:00:00+00:00'
|
||||
criticality: breaking
|
||||
owner: mikesea
|
||||
- location: RepositoryOwner.pinnedRepositories
|
||||
description: "`pinnedRepositories` will be removed. Use ProfileOwner.pinnedItems
|
||||
instead."
|
||||
reason: pinnedRepositories will be removed
|
||||
date: '2019-10-01T00:00:00+00:00'
|
||||
criticality: breaking
|
||||
owner: cheshire137
|
||||
- location: User.pinnedRepositories
|
||||
description: "`pinnedRepositories` will be removed. Use ProfileOwner.pinnedItems
|
||||
instead."
|
||||
reason: pinnedRepositories will be removed
|
||||
date: '2019-10-01T00:00:00+00:00'
|
||||
criticality: breaking
|
||||
owner: cheshire137
|
||||
- location: AssignedEvent.user
|
||||
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
|
||||
- location: UnassignedEvent.user
|
||||
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
|
||||
- location: Migration.uploadUrlTemplate
|
||||
description: '`uploadUrlTemplate` will be removed. Use `uploadUrl` instead.'
|
||||
reason:
|
||||
'`uploadUrlTemplate` is being removed because it is not a standard URL and
|
||||
adds an extra user step.'
|
||||
date: '2019-04-01T00:00:00+00:00'
|
||||
criticality: breaking
|
||||
owner: tambling
|
||||
- location: ContributionOrder.field
|
||||
description: '`field` will be removed. Only one order field is supported.'
|
||||
reason: '`field` will be removed.'
|
||||
date: '2019-10-01T00:00:00+00:00'
|
||||
criticality: breaking
|
||||
owner: dinahshi
|
||||
- location: Issue.timeline
|
||||
description: '`timeline` will be removed. Use Issue.timelineItems instead.'
|
||||
reason: '`timeline` will be removed'
|
||||
date: '2019-10-01T00:00:00+00:00'
|
||||
criticality: breaking
|
||||
owner: mikesea
|
||||
- location: Organization.pinnedRepositories
|
||||
description:
|
||||
'`pinnedRepositories` will be removed. Use ProfileOwner.pinnedItems
|
||||
instead.'
|
||||
reason: pinnedRepositories will be removed
|
||||
date: '2019-10-01T00:00:00+00:00'
|
||||
criticality: breaking
|
||||
owner: cheshire137
|
||||
- location: PullRequest.timeline
|
||||
description: '`timeline` will be removed. Use PullRequest.timelineItems instead.'
|
||||
reason: '`timeline` will be removed'
|
||||
date: '2019-10-01T00:00:00+00:00'
|
||||
criticality: breaking
|
||||
owner: mikesea
|
||||
- location: RepositoryOwner.pinnedRepositories
|
||||
description:
|
||||
'`pinnedRepositories` will be removed. Use ProfileOwner.pinnedItems
|
||||
instead.'
|
||||
reason: pinnedRepositories will be removed
|
||||
date: '2019-10-01T00:00:00+00:00'
|
||||
criticality: breaking
|
||||
owner: cheshire137
|
||||
- location: User.pinnedRepositories
|
||||
description:
|
||||
'`pinnedRepositories` will be removed. Use ProfileOwner.pinnedItems
|
||||
instead.'
|
||||
reason: pinnedRepositories will be removed
|
||||
date: '2019-10-01T00:00:00+00:00'
|
||||
criticality: breaking
|
||||
owner: cheshire137
|
||||
- location: AssignedEvent.user
|
||||
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
|
||||
- location: UnassignedEvent.user
|
||||
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:
|
||||
- location: Migration.uploadUrlTemplate
|
||||
description: "`uploadUrlTemplate` will be removed. Use `uploadUrl` instead."
|
||||
reason: "`uploadUrlTemplate` is being removed because it is not a standard URL and
|
||||
adds an extra user step."
|
||||
date: '2019-04-01T00:00:00+00:00'
|
||||
criticality: breaking
|
||||
owner: tambling
|
||||
- location: AssignedEvent.user
|
||||
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
|
||||
- location: EnterpriseBillingInfo.availableSeats
|
||||
description: "`availableSeats` will be removed. Use EnterpriseBillingInfo.totalAvailableLicenses
|
||||
instead."
|
||||
reason: "`availableSeats` will be replaced with `totalAvailableLicenses` to provide
|
||||
more clarity on the value being returned"
|
||||
date: '2020-01-01T00:00:00+00:00'
|
||||
criticality: breaking
|
||||
owner: BlakeWilliams
|
||||
- location: EnterpriseBillingInfo.seats
|
||||
description: "`seats` will be removed. Use EnterpriseBillingInfo.totalLicenses instead."
|
||||
reason: "`seats` will be replaced with `totalLicenses` to provide more clarity on
|
||||
the value being returned"
|
||||
date: '2020-01-01T00:00:00+00:00'
|
||||
criticality: breaking
|
||||
owner: BlakeWilliams
|
||||
- location: UnassignedEvent.user
|
||||
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
|
||||
- location: Sponsorship.maintainer
|
||||
description: "`maintainer` will be removed. Use `Sponsorship.sponsorable` instead."
|
||||
reason: "`Sponsorship.maintainer` will be removed."
|
||||
date: '2020-04-01T00:00:00+00:00'
|
||||
criticality: breaking
|
||||
owner: antn
|
||||
- location: EnterprisePendingMemberInvitationEdge.isUnlicensed
|
||||
description: "`isUnlicensed` will be removed."
|
||||
reason: All pending members consume a license
|
||||
date: '2020-07-01T00:00:00+00:00'
|
||||
criticality: breaking
|
||||
owner: BrentWheeldon
|
||||
- location: EnterpriseOwnerInfo.pendingCollaborators
|
||||
description: "`pendingCollaborators` will be removed. Use the `pendingCollaboratorInvitations`
|
||||
field instead."
|
||||
reason: Repository invitations can now be associated with an email, not only an
|
||||
invitee.
|
||||
date: '2020-10-01T00:00:00+00:00'
|
||||
criticality: breaking
|
||||
owner: jdennes
|
||||
- location: Issue.timeline
|
||||
description: "`timeline` will be removed. Use Issue.timelineItems instead."
|
||||
reason: "`timeline` will be removed"
|
||||
date: '2020-10-01T00:00:00+00:00'
|
||||
criticality: breaking
|
||||
owner: mikesea
|
||||
- location: PullRequest.timeline
|
||||
description: "`timeline` will be removed. Use PullRequest.timelineItems instead."
|
||||
reason: "`timeline` will be removed"
|
||||
date: '2020-10-01T00:00:00+00:00'
|
||||
criticality: breaking
|
||||
owner: mikesea
|
||||
- location: RepositoryCollaboratorEdge.permission
|
||||
description: Type for `permission` will change from `RepositoryPermission!` to `String`.
|
||||
reason: This field may return additional values
|
||||
date: '2020-10-01T00:00:00+00:00'
|
||||
criticality: breaking
|
||||
owner: oneill38
|
||||
- location: RepositoryInvitation.permission
|
||||
description: Type for `permission` will change from `RepositoryPermission!` to `String`.
|
||||
reason: This field may return additional values
|
||||
date: '2020-10-01T00:00:00+00:00'
|
||||
criticality: breaking
|
||||
owner: oneill38
|
||||
- location: RepositoryInvitationOrderField.INVITEE_LOGIN
|
||||
description: "`INVITEE_LOGIN` will be removed."
|
||||
reason: "`INVITEE_LOGIN` is no longer a valid field value. Repository invitations
|
||||
can now be associated with an email, not only an invitee."
|
||||
date: '2020-10-01T00:00:00+00:00'
|
||||
criticality: breaking
|
||||
owner: jdennes
|
||||
- location: Sponsorship.sponsor
|
||||
description: "`sponsor` will be removed. Use `Sponsorship.sponsorEntity` instead."
|
||||
reason: "`Sponsorship.sponsor` will be removed."
|
||||
date: '2020-10-01T00:00:00+00:00'
|
||||
criticality: breaking
|
||||
owner: nholden
|
||||
- location: TeamRepositoryEdge.permission
|
||||
description: Type for `permission` will change from `RepositoryPermission!` to `String`.
|
||||
reason: This field may return additional values
|
||||
date: '2020-10-01T00:00:00+00:00'
|
||||
criticality: breaking
|
||||
owner: oneill38
|
||||
- location: EnterpriseMemberEdge.isUnlicensed
|
||||
description: "`isUnlicensed` will be removed."
|
||||
reason: All members consume a license
|
||||
date: '2021-01-01T00:00:00+00:00'
|
||||
criticality: breaking
|
||||
owner: BrentWheeldon
|
||||
- location: EnterpriseOutsideCollaboratorEdge.isUnlicensed
|
||||
description: "`isUnlicensed` will be removed."
|
||||
reason: All outside collaborators consume a license
|
||||
date: '2021-01-01T00:00:00+00:00'
|
||||
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
|
||||
- location: Migration.uploadUrlTemplate
|
||||
description: '`uploadUrlTemplate` will be removed. Use `uploadUrl` instead.'
|
||||
reason:
|
||||
'`uploadUrlTemplate` is being removed because it is not a standard URL and
|
||||
adds an extra user step.'
|
||||
date: '2019-04-01T00:00:00+00:00'
|
||||
criticality: breaking
|
||||
owner: tambling
|
||||
- location: AssignedEvent.user
|
||||
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
|
||||
- location: EnterpriseBillingInfo.availableSeats
|
||||
description:
|
||||
'`availableSeats` will be removed. Use EnterpriseBillingInfo.totalAvailableLicenses
|
||||
instead.'
|
||||
reason:
|
||||
'`availableSeats` will be replaced with `totalAvailableLicenses` to provide
|
||||
more clarity on the value being returned'
|
||||
date: '2020-01-01T00:00:00+00:00'
|
||||
criticality: breaking
|
||||
owner: BlakeWilliams
|
||||
- location: EnterpriseBillingInfo.seats
|
||||
description: '`seats` will be removed. Use EnterpriseBillingInfo.totalLicenses instead.'
|
||||
reason:
|
||||
'`seats` will be replaced with `totalLicenses` to provide more clarity on
|
||||
the value being returned'
|
||||
date: '2020-01-01T00:00:00+00:00'
|
||||
criticality: breaking
|
||||
owner: BlakeWilliams
|
||||
- location: UnassignedEvent.user
|
||||
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
|
||||
- location: Sponsorship.maintainer
|
||||
description: '`maintainer` will be removed. Use `Sponsorship.sponsorable` instead.'
|
||||
reason: '`Sponsorship.maintainer` will be removed.'
|
||||
date: '2020-04-01T00:00:00+00:00'
|
||||
criticality: breaking
|
||||
owner: antn
|
||||
- location: EnterprisePendingMemberInvitationEdge.isUnlicensed
|
||||
description: '`isUnlicensed` will be removed.'
|
||||
reason: All pending members consume a license
|
||||
date: '2020-07-01T00:00:00+00:00'
|
||||
criticality: breaking
|
||||
owner: BrentWheeldon
|
||||
- location: EnterpriseOwnerInfo.pendingCollaborators
|
||||
description:
|
||||
'`pendingCollaborators` will be removed. Use the `pendingCollaboratorInvitations`
|
||||
field instead.'
|
||||
reason:
|
||||
Repository invitations can now be associated with an email, not only an
|
||||
invitee.
|
||||
date: '2020-10-01T00:00:00+00:00'
|
||||
criticality: breaking
|
||||
owner: jdennes
|
||||
- location: Issue.timeline
|
||||
description: '`timeline` will be removed. Use Issue.timelineItems instead.'
|
||||
reason: '`timeline` will be removed'
|
||||
date: '2020-10-01T00:00:00+00:00'
|
||||
criticality: breaking
|
||||
owner: mikesea
|
||||
- location: PullRequest.timeline
|
||||
description: '`timeline` will be removed. Use PullRequest.timelineItems instead.'
|
||||
reason: '`timeline` will be removed'
|
||||
date: '2020-10-01T00:00:00+00:00'
|
||||
criticality: breaking
|
||||
owner: mikesea
|
||||
- location: RepositoryCollaboratorEdge.permission
|
||||
description: Type for `permission` will change from `RepositoryPermission!` to `String`.
|
||||
reason: This field may return additional values
|
||||
date: '2020-10-01T00:00:00+00:00'
|
||||
criticality: breaking
|
||||
owner: oneill38
|
||||
- location: RepositoryInvitation.permission
|
||||
description: Type for `permission` will change from `RepositoryPermission!` to `String`.
|
||||
reason: This field may return additional values
|
||||
date: '2020-10-01T00:00:00+00:00'
|
||||
criticality: breaking
|
||||
owner: oneill38
|
||||
- location: RepositoryInvitationOrderField.INVITEE_LOGIN
|
||||
description: '`INVITEE_LOGIN` will be removed.'
|
||||
reason:
|
||||
'`INVITEE_LOGIN` is no longer a valid field value. Repository invitations
|
||||
can now be associated with an email, not only an invitee.'
|
||||
date: '2020-10-01T00:00:00+00:00'
|
||||
criticality: breaking
|
||||
owner: jdennes
|
||||
- location: Sponsorship.sponsor
|
||||
description: '`sponsor` will be removed. Use `Sponsorship.sponsorEntity` instead.'
|
||||
reason: '`Sponsorship.sponsor` will be removed.'
|
||||
date: '2020-10-01T00:00:00+00:00'
|
||||
criticality: breaking
|
||||
owner: nholden
|
||||
- location: TeamRepositoryEdge.permission
|
||||
description: Type for `permission` will change from `RepositoryPermission!` to `String`.
|
||||
reason: This field may return additional values
|
||||
date: '2020-10-01T00:00:00+00:00'
|
||||
criticality: breaking
|
||||
owner: oneill38
|
||||
- location: EnterpriseMemberEdge.isUnlicensed
|
||||
description: '`isUnlicensed` will be removed.'
|
||||
reason: All members consume a license
|
||||
date: '2021-01-01T00:00:00+00:00'
|
||||
criticality: breaking
|
||||
owner: BrentWheeldon
|
||||
- location: EnterpriseOutsideCollaboratorEdge.isUnlicensed
|
||||
description: '`isUnlicensed` will be removed.'
|
||||
reason: All outside collaborators consume a license
|
||||
date: '2021-01-01T00:00:00+00:00'
|
||||
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:
|
||||
- location: Migration.uploadUrlTemplate
|
||||
description: "`uploadUrlTemplate` will be removed. Use `uploadUrl` instead."
|
||||
reason: "`uploadUrlTemplate` is being removed because it is not a standard URL and
|
||||
adds an extra user step."
|
||||
date: '2019-04-01T00:00:00+00:00'
|
||||
criticality: breaking
|
||||
owner: tambling
|
||||
- location: AssignedEvent.user
|
||||
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
|
||||
- location: EnterpriseBillingInfo.availableSeats
|
||||
description: "`availableSeats` will be removed. Use EnterpriseBillingInfo.totalAvailableLicenses
|
||||
instead."
|
||||
reason: "`availableSeats` will be replaced with `totalAvailableLicenses` to provide
|
||||
more clarity on the value being returned"
|
||||
date: '2020-01-01T00:00:00+00:00'
|
||||
criticality: breaking
|
||||
owner: BlakeWilliams
|
||||
- location: EnterpriseBillingInfo.seats
|
||||
description: "`seats` will be removed. Use EnterpriseBillingInfo.totalLicenses instead."
|
||||
reason: "`seats` will be replaced with `totalLicenses` to provide more clarity on
|
||||
the value being returned"
|
||||
date: '2020-01-01T00:00:00+00:00'
|
||||
criticality: breaking
|
||||
owner: BlakeWilliams
|
||||
- location: UnassignedEvent.user
|
||||
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
|
||||
- location: Query.sponsorsListing
|
||||
description: "`sponsorsListing` will be removed. Use `Sponsorable.sponsorsListing`
|
||||
instead."
|
||||
reason: "`Query.sponsorsListing` will be removed."
|
||||
date: '2020-04-01T00:00:00+00:00'
|
||||
criticality: breaking
|
||||
owner: antn
|
||||
- location: Sponsorship.maintainer
|
||||
description: "`maintainer` will be removed. Use `Sponsorship.sponsorable` instead."
|
||||
reason: "`Sponsorship.maintainer` will be removed."
|
||||
date: '2020-04-01T00:00:00+00:00'
|
||||
criticality: breaking
|
||||
owner: antn
|
||||
- location: EnterprisePendingMemberInvitationEdge.isUnlicensed
|
||||
description: "`isUnlicensed` will be removed."
|
||||
reason: All pending members consume a license
|
||||
date: '2020-07-01T00:00:00+00:00'
|
||||
criticality: breaking
|
||||
owner: BrentWheeldon
|
||||
- location: EnterpriseOwnerInfo.pendingCollaborators
|
||||
description: "`pendingCollaborators` will be removed. Use the `pendingCollaboratorInvitations`
|
||||
field instead."
|
||||
reason: Repository invitations can now be associated with an email, not only an
|
||||
invitee.
|
||||
date: '2020-10-01T00:00:00+00:00'
|
||||
criticality: breaking
|
||||
owner: jdennes
|
||||
- location: Issue.timeline
|
||||
description: "`timeline` will be removed. Use Issue.timelineItems instead."
|
||||
reason: "`timeline` will be removed"
|
||||
date: '2020-10-01T00:00:00+00:00'
|
||||
criticality: breaking
|
||||
owner: mikesea
|
||||
- location: PullRequest.timeline
|
||||
description: "`timeline` will be removed. Use PullRequest.timelineItems instead."
|
||||
reason: "`timeline` will be removed"
|
||||
date: '2020-10-01T00:00:00+00:00'
|
||||
criticality: breaking
|
||||
owner: mikesea
|
||||
- location: RepositoryInvitationOrderField.INVITEE_LOGIN
|
||||
description: "`INVITEE_LOGIN` will be removed."
|
||||
reason: "`INVITEE_LOGIN` is no longer a valid field value. Repository invitations
|
||||
can now be associated with an email, not only an invitee."
|
||||
date: '2020-10-01T00:00:00+00:00'
|
||||
criticality: breaking
|
||||
owner: jdennes
|
||||
- location: Sponsorship.sponsor
|
||||
description: "`sponsor` will be removed. Use `Sponsorship.sponsorEntity` instead."
|
||||
reason: "`Sponsorship.sponsor` will be removed."
|
||||
date: '2020-10-01T00:00:00+00:00'
|
||||
criticality: breaking
|
||||
owner: nholden
|
||||
- location: EnterpriseMemberEdge.isUnlicensed
|
||||
description: "`isUnlicensed` will be removed."
|
||||
reason: All members consume a license
|
||||
date: '2021-01-01T00:00:00+00:00'
|
||||
criticality: breaking
|
||||
owner: BrentWheeldon
|
||||
- location: EnterpriseOutsideCollaboratorEdge.isUnlicensed
|
||||
description: "`isUnlicensed` will be removed."
|
||||
reason: All outside collaborators consume a license
|
||||
date: '2021-01-01T00:00:00+00:00'
|
||||
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
|
||||
- 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
|
||||
- location: Migration.uploadUrlTemplate
|
||||
description: '`uploadUrlTemplate` will be removed. Use `uploadUrl` instead.'
|
||||
reason:
|
||||
'`uploadUrlTemplate` is being removed because it is not a standard URL and
|
||||
adds an extra user step.'
|
||||
date: '2019-04-01T00:00:00+00:00'
|
||||
criticality: breaking
|
||||
owner: tambling
|
||||
- location: AssignedEvent.user
|
||||
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
|
||||
- location: EnterpriseBillingInfo.availableSeats
|
||||
description:
|
||||
'`availableSeats` will be removed. Use EnterpriseBillingInfo.totalAvailableLicenses
|
||||
instead.'
|
||||
reason:
|
||||
'`availableSeats` will be replaced with `totalAvailableLicenses` to provide
|
||||
more clarity on the value being returned'
|
||||
date: '2020-01-01T00:00:00+00:00'
|
||||
criticality: breaking
|
||||
owner: BlakeWilliams
|
||||
- location: EnterpriseBillingInfo.seats
|
||||
description: '`seats` will be removed. Use EnterpriseBillingInfo.totalLicenses instead.'
|
||||
reason:
|
||||
'`seats` will be replaced with `totalLicenses` to provide more clarity on
|
||||
the value being returned'
|
||||
date: '2020-01-01T00:00:00+00:00'
|
||||
criticality: breaking
|
||||
owner: BlakeWilliams
|
||||
- location: UnassignedEvent.user
|
||||
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
|
||||
- location: Query.sponsorsListing
|
||||
description:
|
||||
'`sponsorsListing` will be removed. Use `Sponsorable.sponsorsListing`
|
||||
instead.'
|
||||
reason: '`Query.sponsorsListing` will be removed.'
|
||||
date: '2020-04-01T00:00:00+00:00'
|
||||
criticality: breaking
|
||||
owner: antn
|
||||
- location: Sponsorship.maintainer
|
||||
description: '`maintainer` will be removed. Use `Sponsorship.sponsorable` instead.'
|
||||
reason: '`Sponsorship.maintainer` will be removed.'
|
||||
date: '2020-04-01T00:00:00+00:00'
|
||||
criticality: breaking
|
||||
owner: antn
|
||||
- location: EnterprisePendingMemberInvitationEdge.isUnlicensed
|
||||
description: '`isUnlicensed` will be removed.'
|
||||
reason: All pending members consume a license
|
||||
date: '2020-07-01T00:00:00+00:00'
|
||||
criticality: breaking
|
||||
owner: BrentWheeldon
|
||||
- location: EnterpriseOwnerInfo.pendingCollaborators
|
||||
description:
|
||||
'`pendingCollaborators` will be removed. Use the `pendingCollaboratorInvitations`
|
||||
field instead.'
|
||||
reason:
|
||||
Repository invitations can now be associated with an email, not only an
|
||||
invitee.
|
||||
date: '2020-10-01T00:00:00+00:00'
|
||||
criticality: breaking
|
||||
owner: jdennes
|
||||
- location: Issue.timeline
|
||||
description: '`timeline` will be removed. Use Issue.timelineItems instead.'
|
||||
reason: '`timeline` will be removed'
|
||||
date: '2020-10-01T00:00:00+00:00'
|
||||
criticality: breaking
|
||||
owner: mikesea
|
||||
- location: PullRequest.timeline
|
||||
description: '`timeline` will be removed. Use PullRequest.timelineItems instead.'
|
||||
reason: '`timeline` will be removed'
|
||||
date: '2020-10-01T00:00:00+00:00'
|
||||
criticality: breaking
|
||||
owner: mikesea
|
||||
- location: RepositoryInvitationOrderField.INVITEE_LOGIN
|
||||
description: '`INVITEE_LOGIN` will be removed.'
|
||||
reason:
|
||||
'`INVITEE_LOGIN` is no longer a valid field value. Repository invitations
|
||||
can now be associated with an email, not only an invitee.'
|
||||
date: '2020-10-01T00:00:00+00:00'
|
||||
criticality: breaking
|
||||
owner: jdennes
|
||||
- location: Sponsorship.sponsor
|
||||
description: '`sponsor` will be removed. Use `Sponsorship.sponsorEntity` instead.'
|
||||
reason: '`Sponsorship.sponsor` will be removed.'
|
||||
date: '2020-10-01T00:00:00+00:00'
|
||||
criticality: breaking
|
||||
owner: nholden
|
||||
- location: EnterpriseMemberEdge.isUnlicensed
|
||||
description: '`isUnlicensed` will be removed.'
|
||||
reason: All members consume a license
|
||||
date: '2021-01-01T00:00:00+00:00'
|
||||
criticality: breaking
|
||||
owner: BrentWheeldon
|
||||
- location: EnterpriseOutsideCollaboratorEdge.isUnlicensed
|
||||
description: '`isUnlicensed` will be removed.'
|
||||
reason: All outside collaborators consume a license
|
||||
date: '2021-01-01T00:00:00+00:00'
|
||||
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
|
||||
- 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
|
||||
- graphql
|
||||
- insights
|
||||
- desktop
|
||||
- desktop
|
||||
|
||||
@@ -2,8 +2,7 @@ header:
|
||||
github_docs: GitHub Docs
|
||||
contact: Contact
|
||||
notices:
|
||||
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.
|
||||
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.
|
||||
release_candidate:
|
||||
# The version name is rendered before the below text via includes/header-notification.html
|
||||
' is currently under limited release as a release candidate.'
|
||||
@@ -30,7 +29,7 @@ toc:
|
||||
guides: Guides
|
||||
whats_new: What's new
|
||||
pages:
|
||||
article_version: "Article version:"
|
||||
article_version: 'Article version:'
|
||||
miniToc: In this article
|
||||
errors:
|
||||
oops: Ooops!
|
||||
|
||||
@@ -15,7 +15,7 @@ contact_dmca: >-
|
||||
contact_privacy: >-
|
||||
{% 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)'
|
||||
|
||||
|
||||
@@ -27,7 +27,7 @@ prodname_ghe_one: 'GitHub One'
|
||||
## Use these variables when referring specifically to a location within a product
|
||||
product_location: >-
|
||||
{% 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.
|
||||
# Do not use in other situations!
|
||||
product_location_enterprise: 'your GitHub Enterprise Server instance'
|
||||
@@ -170,8 +170,7 @@ signout_link: >-
|
||||
raw_github_com: >-
|
||||
{% if currentVersion == "free-pro-team@latest" %}raw.githubusercontent.com{% else %}[hostname]/user/repo/raw{% endif %}
|
||||
# GitHub Enterprise Server past versions
|
||||
current-340-version:
|
||||
'11.10.354'
|
||||
current-340-version: '11.10.354'
|
||||
|
||||
# Developer site product variables
|
||||
# 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 %}
|
||||
# Use this all other code blocks
|
||||
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
|
||||
ownership:
|
||||
- name: docs-internal
|
||||
long_name: GitHub Help Docs
|
||||
kind: heroku
|
||||
repo: https://github.com/github/docs-internal
|
||||
team: github/docs-engineering
|
||||
maintainer: zeke
|
||||
exec_sponsor: danaiszuul
|
||||
product_manager: jwargo
|
||||
mention: github/docs-engineering
|
||||
qos: critical
|
||||
dependencies: []
|
||||
sev1:
|
||||
pagerduty: https://github.pagerduty.com/escalation_policies#PN57VQ1
|
||||
tta: 30 min
|
||||
sev2:
|
||||
issue: https://github.com/github/docs-internal/issues
|
||||
tta: 5 business days
|
||||
sev3:
|
||||
slack: docs-engineering
|
||||
tta: 30 min
|
||||
- name: docs-internal
|
||||
long_name: GitHub Help Docs
|
||||
kind: heroku
|
||||
repo: https://github.com/github/docs-internal
|
||||
team: github/docs-engineering
|
||||
maintainer: zeke
|
||||
exec_sponsor: danaiszuul
|
||||
product_manager: jwargo
|
||||
mention: github/docs-engineering
|
||||
qos: critical
|
||||
dependencies: []
|
||||
sev1:
|
||||
pagerduty: https://github.pagerduty.com/escalation_policies#PN57VQ1
|
||||
tta: 30 min
|
||||
sev2:
|
||||
issue: https://github.com/github/docs-internal/issues
|
||||
tta: 5 business days
|
||||
sev3:
|
||||
slack: docs-engineering
|
||||
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",
|
||||
"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": {
|
||||
"version": "0.1.8",
|
||||
"resolved": "https://registry.npmjs.org/private/-/private-0.1.8.tgz",
|
||||
|
||||
@@ -111,6 +111,7 @@
|
||||
"npm-merge-driver-install": "^2.0.0",
|
||||
"object-hash": "^2.0.1",
|
||||
"pa11y-ci": "^2.4.0",
|
||||
"prettier": "^2.1.2",
|
||||
"puppeteer": "^2.1.1",
|
||||
"replace": "^1.2.0",
|
||||
"revalidator": "^0.3.1",
|
||||
@@ -126,8 +127,8 @@
|
||||
"dev": "npm start",
|
||||
"build": "cross-env NODE_ENV=production npx webpack --mode production",
|
||||
"start-all-languages": "cross-env NODE_ENV=development nodemon server.js",
|
||||
"lint": "standard --fix",
|
||||
"test": "jest && standard && npm run check-deps",
|
||||
"lint": "standard --fix && prettier -w \"**/*.{yml,yaml}\"",
|
||||
"test": "jest && standard && prettier -c \"**/*.{yml,yaml}\" && npm run check-deps",
|
||||
"prebrowser-test": "npm run build",
|
||||
"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",
|
||||
|
||||
Reference in New Issue
Block a user