diff --git a/.github/CODEOWNERS b/.github/CODEOWNERS index 462916e3d9..4c6ff3c4fd 100644 --- a/.github/CODEOWNERS +++ b/.github/CODEOWNERS @@ -17,6 +17,7 @@ package-lock.json @github/docs-engineering package.json @github/docs-engineering # Localization +/.github/actions-scripts/create-translation-batch-pr.js @github/docs-localization /.github/workflows/create-translation-batch-pr.yml @github/docs-localization /.github/workflows/crowdin.yml @github/docs-localization /crowdin*.yml @github/docs-engineering @github/docs-localization diff --git a/.github/actions-scripts/create-translation-batch-pr.js b/.github/actions-scripts/create-translation-batch-pr.js new file mode 100755 index 0000000000..df5f739b60 --- /dev/null +++ b/.github/actions-scripts/create-translation-batch-pr.js @@ -0,0 +1,142 @@ +#!/usr/bin/env node + +import fs from 'fs' +import github from '@actions/github' + +const OPTIONS = Object.fromEntries( + ['BASE', 'BODY_FILE', 'GITHUB_TOKEN', 'HEAD', 'LANGUAGE', 'TITLE', 'GITHUB_REPOSITORY'].map( + (envVarName) => { + const envVarValue = process.env[envVarName] + if (!envVarValue) { + throw new Error(`You must supply a ${envVarName} environment variable`) + } + return [envVarName, envVarValue] + } + ) +) + +if (!process.env.GITHUB_REPOSITORY) { + throw new Error('GITHUB_REPOSITORY environment variable not set') +} + +const RETRY_STATUSES = [ + 422, // Retry the operation if the PR already exists + 502, // Retry the operation if the API responds with a `502 Bad Gateway` error. +] +const RETRY_ATTEMPTS = 3 +const { + // One of the default environment variables provided by Actions. + GITHUB_REPOSITORY, + + // These are passed in from the step in the workflow file. + TITLE, + BASE, + HEAD, + LANGUAGE, + BODY_FILE, + GITHUB_TOKEN, +} = OPTIONS +const [OWNER, REPO] = GITHUB_REPOSITORY.split('/') + +const octokit = github.getOctokit(GITHUB_TOKEN) + +/** + * @param {object} config Configuration options for finding the PR. + * @returns {Promise} The PR number. + */ +async function findPullRequestNumber(config) { + // Get a list of PRs and see if one already exists. + const { data: listOfPullRequests } = await octokit.rest.pulls.list({ + owner: config.owner, + repo: config.repo, + head: `${config.owner}:${config.head}`, + }) + + return listOfPullRequests[0]?.number +} + +/** + * When this file was first created, we only introduced support for creating a pull request for some translation batch. + * However, some of our first workflow runs failed during the pull request creation due to a timeout error. + * There have been cases where, despite the timeout error, the pull request gets created _anyway_. + * To accommodate this reality, we created this function to look for an existing pull request before a new one is created. + * Although the "find" check is redundant in the first "cycle", it's designed this way to recursively call the function again via its retry mechanism should that be necessary. + * + * @param {object} config Configuration options for creating the pull request. + * @returns {Promise} The PR number. + */ +async function findOrCreatePullRequest(config) { + const found = await findPullRequestNumber(config) + + if (found) { + return found + } + + try { + const { data: pullRequest } = await octokit.rest.pulls.create({ + owner: config.owner, + repo: config.repo, + base: config.base, + head: config.head, + title: config.title, + body: config.body, + draft: false, + }) + + return pullRequest.number + } catch (error) { + if (!error.response || !config.retryCount) { + throw error + } + + if (!config.retryStatuses.includes(error.response.status)) { + throw error + } + + console.error(`Error creating pull request: ${error.message}`) + console.warn(`Retrying in 5 seconds...`) + await new Promise((resolve) => setTimeout(resolve, 5000)) + + config.retryCount -= 1 + + return findOrCreatePullRequest(config) + } +} + +/** + * @param {object} config Configuration options for labeling the PR + * @returns {Promise} + */ +async function labelPullRequest(config) { + await octokit.rest.issues.update({ + owner: config.owner, + repo: config.repo, + issue_number: config.issue_number, + labels: config.labels, + }) +} + +async function main() { + const options = { + title: TITLE, + base: BASE, + head: HEAD, + body: fs.readFileSync(BODY_FILE, 'utf8'), + labels: ['translation-batch', `translation-batch-${LANGUAGE}`], + owner: OWNER, + repo: REPO, + retryStatuses: RETRY_STATUSES, + retryCount: RETRY_ATTEMPTS, + } + + options.issue_number = await findOrCreatePullRequest(options) + const pr = `${GITHUB_REPOSITORY}#${options.issue_number}` + console.log(`Created PR ${pr}`) + + // metadata parameters aren't currently available in `github.rest.pulls.create`, + // but they are in `github.rest.issues.update`. + await labelPullRequest(options) + console.log(`Updated ${pr} with these labels: ${options.labels.join(', ')}`) +} + +main() diff --git a/.github/workflows/autoupdate-branch.yml b/.github/workflows/autoupdate-branch.yml index 489c2e5d91..28307836fb 100644 --- a/.github/workflows/autoupdate-branch.yml +++ b/.github/workflows/autoupdate-branch.yml @@ -43,7 +43,7 @@ jobs: uses: actions/checkout@ec3a7ce113134d7a93b817d10a8272cb61118579 - name: Setup Node - uses: actions/setup-node@04c56d2f954f1e4c69436aa54cfef261a018f458 + uses: actions/setup-node@1f8c6b94b26d0feae1e387ca63ccbdc44d27b561 with: node-version: 16.13.x cache: npm diff --git a/.github/workflows/browser-test.yml b/.github/workflows/browser-test.yml index 14a6efc8f3..e74a88bcfd 100644 --- a/.github/workflows/browser-test.yml +++ b/.github/workflows/browser-test.yml @@ -40,7 +40,7 @@ jobs: run: git lfs checkout - name: Setup Node - uses: actions/setup-node@04c56d2f954f1e4c69436aa54cfef261a018f458 + uses: actions/setup-node@1f8c6b94b26d0feae1e387ca63ccbdc44d27b561 with: node-version: 16.13.x cache: npm @@ -54,13 +54,13 @@ jobs: run: npm ci --include=optional - name: Cache nextjs build - uses: actions/cache@c64c572235d810460d0d6876e9c705ad5002b353 + uses: actions/cache@937d24475381cd9c75ae6db12cb4e79714b926ed with: path: .next/cache key: ${{ runner.os }}-nextjs-${{ hashFiles('package*.json') }} - name: Cache lib/redirects/.redirects-cache_en_ja.json - uses: actions/cache@c64c572235d810460d0d6876e9c705ad5002b353 + uses: actions/cache@937d24475381cd9c75ae6db12cb4e79714b926ed with: path: lib/redirects/.redirects-cache_en_ja.json key: ${{ runner.os }}-redirects-cache-${{ hashFiles('.github/workflows/browser-test.yml') }} diff --git a/.github/workflows/check-all-english-links.yml b/.github/workflows/check-all-english-links.yml index 5fd19b641c..5bf001ea16 100644 --- a/.github/workflows/check-all-english-links.yml +++ b/.github/workflows/check-all-english-links.yml @@ -28,14 +28,14 @@ jobs: - name: Check out repo's default branch uses: actions/checkout@ec3a7ce113134d7a93b817d10a8272cb61118579 - name: Setup Node - uses: actions/setup-node@04c56d2f954f1e4c69436aa54cfef261a018f458 + uses: actions/setup-node@1f8c6b94b26d0feae1e387ca63ccbdc44d27b561 with: node-version: 16.13.x cache: npm - name: npm ci run: npm ci - name: Cache nextjs build - uses: actions/cache@c64c572235d810460d0d6876e9c705ad5002b353 + uses: actions/cache@937d24475381cd9c75ae6db12cb4e79714b926ed with: path: .next/cache key: ${{ runner.os }}-nextjs-${{ hashFiles('package*.json') }} diff --git a/.github/workflows/check-broken-links-github-github.yml b/.github/workflows/check-broken-links-github-github.yml index b2f7496844..fef7273f2d 100644 --- a/.github/workflows/check-broken-links-github-github.yml +++ b/.github/workflows/check-broken-links-github-github.yml @@ -42,7 +42,7 @@ jobs: uses: actions/checkout@ec3a7ce113134d7a93b817d10a8272cb61118579 - name: Setup Node - uses: actions/setup-node@04c56d2f954f1e4c69436aa54cfef261a018f458 + uses: actions/setup-node@1f8c6b94b26d0feae1e387ca63ccbdc44d27b561 with: node-version: 16.13.x cache: npm diff --git a/.github/workflows/code-lint.yml b/.github/workflows/code-lint.yml index b8a361b411..70a5bccd09 100644 --- a/.github/workflows/code-lint.yml +++ b/.github/workflows/code-lint.yml @@ -37,7 +37,7 @@ jobs: uses: actions/checkout@ec3a7ce113134d7a93b817d10a8272cb61118579 - name: Setup node - uses: actions/setup-node@04c56d2f954f1e4c69436aa54cfef261a018f458 + uses: actions/setup-node@1f8c6b94b26d0feae1e387ca63ccbdc44d27b561 with: node-version: 16.13.x cache: npm diff --git a/.github/workflows/codespaces-prebuild.yml b/.github/workflows/codespaces-prebuild.yml new file mode 100644 index 0000000000..1a31b163ca --- /dev/null +++ b/.github/workflows/codespaces-prebuild.yml @@ -0,0 +1,30 @@ +name: Prebuild Codespaces + +# **What it does**: Prebuild the Codespaces image using powerful machines. +# See https://github.com/github/codespaces-precache#readme for more details. +# IMPORTANT: Requires we set a `EXPERIMENTAL_CODESPACE_CACHE_TOKEN` Codespaces +# Secret (NOT an Actions Secret) in the repository. +# **Why we have it**: Reduces startup time when booting Codespaces. +# **Who does it impact**: Any Docs contributors who want to use Codespaces. + +on: + push: + branches: + - main + workflow_dispatch: + +# Currently requires write, but in the future will only require read +permissions: + contents: write + +jobs: + createPrebuild: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@ec3a7ce113134d7a93b817d10a8272cb61118579 + - uses: github/codespaces-precache@2ad40630d7e3e45e8725d6a74656cb6dd17363dc + with: + regions: WestUs2 EastUs WestEurope SouthEastAsia + sku_name: basicLinux32gb + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} diff --git a/.github/workflows/content-changes-table-comment.yml b/.github/workflows/content-changes-table-comment.yml index 326924bd59..5eece574db 100644 --- a/.github/workflows/content-changes-table-comment.yml +++ b/.github/workflows/content-changes-table-comment.yml @@ -50,7 +50,7 @@ jobs: uses: actions/checkout@ec3a7ce113134d7a93b817d10a8272cb61118579 - name: Setup Node - uses: actions/setup-node@04c56d2f954f1e4c69436aa54cfef261a018f458 + uses: actions/setup-node@1f8c6b94b26d0feae1e387ca63ccbdc44d27b561 with: node-version: 16.13.x cache: npm diff --git a/.github/workflows/create-translation-batch-pr.yml b/.github/workflows/create-translation-batch-pr.yml index b9debd628d..8aa426a91d 100644 --- a/.github/workflows/create-translation-batch-pr.yml +++ b/.github/workflows/create-translation-batch-pr.yml @@ -116,7 +116,7 @@ jobs: git commit -m "Add crowdin translations" || echo "Nothing to commit" - name: 'Setup node' - uses: actions/setup-node@04c56d2f954f1e4c69436aa54cfef261a018f458 + uses: actions/setup-node@1f8c6b94b26d0feae1e387ca63ccbdc44d27b561 with: node-version: '16' @@ -166,26 +166,27 @@ jobs: script/i18n/report-reset-files.js --report-type=csv --language=${{ matrix.language }} --log-file=/tmp/batch.log > $csvFile git add -f $csvFile && git commit -m "Check in ${{ matrix.language }} CSV report" || echo "Nothing to commit" + - name: Write the reported files that were reset to /tmp/pr-body.txt + run: script/i18n/report-reset-files.js --report-type=pull-request-body --language=${{ matrix.language }} --log-file=/tmp/batch.log > /tmp/pr-body.txt + + - name: Push filtered translations + run: git push origin ${{ steps.set-branch.outputs.BRANCH_NAME }} + - name: Close existing stale batches uses: lee-dohm/close-matching-issues@e9e43aad2fa6f06a058cedfd8fb975fd93b56d8f with: token: ${{ secrets.OCTOMERGER_PAT_WITH_REPO_AND_WORKFLOW_SCOPE }} query: 'type:pr label:translation-batch-${{ matrix.language }}' - - name: Create Pull Request + - name: Create translation batch pull request env: GITHUB_TOKEN: ${{ secrets.DOCUBOT_REPO_PAT }} - # We'll try to create the pull request based on the changes we pushed up in the branch. - # If there are actually no differences between the branch and `main`, we'll delete it. - run: | - script/i18n/report-reset-files.js --report-type=pull-request-body --language=${{ matrix.language }} --log-file=/tmp/batch.log > /tmp/pr-body.txt - git push origin ${{ steps.set-branch.outputs.BRANCH_NAME }} - gh pr create --title "New translation batch for ${{ matrix.language }}" \ - --base=main \ - --head=${{ steps.set-branch.outputs.BRANCH_NAME }} \ - --label "translation-batch-${{ matrix.language }}" \ - --label "translation-batch" \ - --body-file /tmp/pr-body.txt || git push origin :${{ steps.set-branch.outputs.BRANCH_NAME }} + TITLE: 'New translation batch for ${{ matrix.language }}' + BASE: 'main' + HEAD: ${{ steps.set-branch.outputs.BRANCH_NAME }} + LANGUAGE: ${{ matrix.language }} + BODY_FILE: '/tmp/pr-body.txt' + run: .github/actions-scripts/create-translation-batch-pr.js - name: Approve PR if: github.ref_name == 'main' diff --git a/.github/workflows/crowdin-cleanup.yml b/.github/workflows/crowdin-cleanup.yml index 2ad2cedba7..0c5ac163de 100644 --- a/.github/workflows/crowdin-cleanup.yml +++ b/.github/workflows/crowdin-cleanup.yml @@ -29,7 +29,7 @@ jobs: uses: actions/checkout@ec3a7ce113134d7a93b817d10a8272cb61118579 - name: Setup Node - uses: actions/setup-node@04c56d2f954f1e4c69436aa54cfef261a018f458 + uses: actions/setup-node@1f8c6b94b26d0feae1e387ca63ccbdc44d27b561 with: node-version: 16.13.x cache: npm @@ -41,7 +41,7 @@ jobs: run: script/i18n/homogenize-frontmatter.js - name: Check in homogenized files - uses: EndBug/add-and-commit@2bdc0a61a03738a1d1bda24d566ad0dbe3083d87 + uses: EndBug/add-and-commit@8c12ff729a98cfbcd3fe38b49f55eceb98a5ec02 with: # The arguments for the `git add` command add: 'translations' diff --git a/.github/workflows/docs-review-collect.yml b/.github/workflows/docs-review-collect.yml index f247247ffd..917e679a14 100644 --- a/.github/workflows/docs-review-collect.yml +++ b/.github/workflows/docs-review-collect.yml @@ -23,7 +23,7 @@ jobs: uses: actions/checkout@ec3a7ce113134d7a93b817d10a8272cb61118579 - name: Setup Node - uses: actions/setup-node@04c56d2f954f1e4c69436aa54cfef261a018f458 + uses: actions/setup-node@1f8c6b94b26d0feae1e387ca63ccbdc44d27b561 with: node-version: 16.13.x cache: npm diff --git a/.github/workflows/enterprise-dates.yml b/.github/workflows/enterprise-dates.yml index 158851106d..a6407089d3 100644 --- a/.github/workflows/enterprise-dates.yml +++ b/.github/workflows/enterprise-dates.yml @@ -39,7 +39,7 @@ jobs: uses: actions/checkout@ec3a7ce113134d7a93b817d10a8272cb61118579 - name: Setup Node - uses: actions/setup-node@04c56d2f954f1e4c69436aa54cfef261a018f458 + uses: actions/setup-node@1f8c6b94b26d0feae1e387ca63ccbdc44d27b561 with: node-version: 16.13.x cache: npm @@ -55,7 +55,7 @@ jobs: - name: Create pull request id: create-pull-request - uses: peter-evans/create-pull-request@7380612b49221684fefa025244f2ef4008ae50ad + uses: peter-evans/create-pull-request@dcd5fd746d53dd8de555c0f10bca6c35628be47a env: # Disable pre-commit hooks; they don't play nicely here HUSKY: '0' diff --git a/.github/workflows/enterprise-release-sync-search-index.yml b/.github/workflows/enterprise-release-sync-search-index.yml index 312c06af6b..36ceb1d6f8 100644 --- a/.github/workflows/enterprise-release-sync-search-index.yml +++ b/.github/workflows/enterprise-release-sync-search-index.yml @@ -50,7 +50,7 @@ jobs: token: ${{ secrets.DOCUBOT_REPO_PAT }} - name: Setup Node - uses: actions/setup-node@04c56d2f954f1e4c69436aa54cfef261a018f458 + uses: actions/setup-node@1f8c6b94b26d0feae1e387ca63ccbdc44d27b561 with: node-version: 16.13.x cache: npm @@ -63,7 +63,7 @@ jobs: run: $GITHUB_WORKSPACE/.github/actions-scripts/enterprise-search-label.js - name: Cache nextjs build - uses: actions/cache@c64c572235d810460d0d6876e9c705ad5002b353 + uses: actions/cache@937d24475381cd9c75ae6db12cb4e79714b926ed with: path: .next/cache key: ${{ runner.os }}-nextjs-${{ hashFiles('package*.json') }} diff --git a/.github/workflows/link-check-all.yml b/.github/workflows/link-check-all.yml index 77ed0c2736..ad35f5f48d 100644 --- a/.github/workflows/link-check-all.yml +++ b/.github/workflows/link-check-all.yml @@ -22,14 +22,14 @@ concurrency: cancel-in-progress: true jobs: - build: + check-links: runs-on: ${{ fromJSON('["ubuntu-latest", "self-hosted"]')[github.repository == 'github/docs-internal'] }} steps: - name: Checkout uses: actions/checkout@ec3a7ce113134d7a93b817d10a8272cb61118579 - name: Setup node - uses: actions/setup-node@04c56d2f954f1e4c69436aa54cfef261a018f458 + uses: actions/setup-node@1f8c6b94b26d0feae1e387ca63ccbdc44d27b561 with: node-version: 16.13.x cache: npm @@ -37,16 +37,15 @@ jobs: - name: Install run: npm ci + # Creates file "${{ env.HOME }}/files.json", among others - name: Gather files changed uses: trilom/file-changes-action@a6ca26c14274c33b15e6499323aac178af06ad4b - id: get_diff_files with: - # So that `steps.get_diff_files.outputs.files` becomes - # a string like `foo.js path/bar.md` - output: ' ' - - name: Insight into changed files - run: | - echo "${{ steps.get_diff_files.outputs.files }}" + fileOutput: 'json' + + # For verification + - name: Show files changed + run: cat $HOME/files.json - name: Link check (warnings, changed files) run: | @@ -56,7 +55,7 @@ jobs: --check-anchors \ --check-images \ --verbose \ - "${{ steps.get_diff_files.outputs.files }}" + --list $HOME/files.json - name: Link check (critical, all files) run: | diff --git a/.github/workflows/link-check-dotcom.yml b/.github/workflows/link-check-dotcom.yml index bd4beac60c..b3a258a68d 100644 --- a/.github/workflows/link-check-dotcom.yml +++ b/.github/workflows/link-check-dotcom.yml @@ -26,7 +26,7 @@ jobs: uses: actions/checkout@ec3a7ce113134d7a93b817d10a8272cb61118579 - name: Setup node - uses: actions/setup-node@04c56d2f954f1e4c69436aa54cfef261a018f458 + uses: actions/setup-node@1f8c6b94b26d0feae1e387ca63ccbdc44d27b561 with: node-version: 16.13.x cache: npm @@ -35,7 +35,7 @@ jobs: run: npm ci - name: Cache nextjs build - uses: actions/cache@c64c572235d810460d0d6876e9c705ad5002b353 + uses: actions/cache@937d24475381cd9c75ae6db12cb4e79714b926ed with: path: .next/cache key: ${{ runner.os }}-nextjs-${{ hashFiles('package*.json') }} diff --git a/.github/workflows/link-check-ghae.yml b/.github/workflows/link-check-ghae.yml index bd64871be1..a98abe1c38 100644 --- a/.github/workflows/link-check-ghae.yml +++ b/.github/workflows/link-check-ghae.yml @@ -26,7 +26,7 @@ jobs: uses: actions/checkout@ec3a7ce113134d7a93b817d10a8272cb61118579 - name: Setup node - uses: actions/setup-node@04c56d2f954f1e4c69436aa54cfef261a018f458 + uses: actions/setup-node@1f8c6b94b26d0feae1e387ca63ccbdc44d27b561 with: node-version: 16.13.x cache: npm @@ -35,7 +35,7 @@ jobs: run: npm ci - name: Cache nextjs build - uses: actions/cache@c64c572235d810460d0d6876e9c705ad5002b353 + uses: actions/cache@937d24475381cd9c75ae6db12cb4e79714b926ed with: path: .next/cache key: ${{ runner.os }}-nextjs-${{ hashFiles('package*.json') }} diff --git a/.github/workflows/link-check-ghec.yml b/.github/workflows/link-check-ghec.yml index 4056e3c19a..78160872c4 100644 --- a/.github/workflows/link-check-ghec.yml +++ b/.github/workflows/link-check-ghec.yml @@ -24,7 +24,7 @@ jobs: uses: actions/checkout@ec3a7ce113134d7a93b817d10a8272cb61118579 - name: Setup node - uses: actions/setup-node@04c56d2f954f1e4c69436aa54cfef261a018f458 + uses: actions/setup-node@1f8c6b94b26d0feae1e387ca63ccbdc44d27b561 with: node-version: 16.13.x cache: npm @@ -33,7 +33,7 @@ jobs: run: npm ci - name: Cache nextjs build - uses: actions/cache@c64c572235d810460d0d6876e9c705ad5002b353 + uses: actions/cache@937d24475381cd9c75ae6db12cb4e79714b926ed with: path: .next/cache key: ${{ runner.os }}-nextjs-${{ hashFiles('package*.json') }} diff --git a/.github/workflows/link-check-ghes.yml b/.github/workflows/link-check-ghes.yml index 5bf0f84fce..5d8f874b0e 100644 --- a/.github/workflows/link-check-ghes.yml +++ b/.github/workflows/link-check-ghes.yml @@ -26,7 +26,7 @@ jobs: uses: actions/checkout@ec3a7ce113134d7a93b817d10a8272cb61118579 - name: Setup node - uses: actions/setup-node@04c56d2f954f1e4c69436aa54cfef261a018f458 + uses: actions/setup-node@1f8c6b94b26d0feae1e387ca63ccbdc44d27b561 with: node-version: 16.13.x cache: npm @@ -35,7 +35,7 @@ jobs: run: npm ci - name: Cache nextjs build - uses: actions/cache@c64c572235d810460d0d6876e9c705ad5002b353 + uses: actions/cache@937d24475381cd9c75ae6db12cb4e79714b926ed with: path: .next/cache key: ${{ runner.os }}-nextjs-${{ hashFiles('package*.json') }} diff --git a/.github/workflows/open-enterprise-issue.yml b/.github/workflows/open-enterprise-issue.yml index bad00804fa..49c794b259 100644 --- a/.github/workflows/open-enterprise-issue.yml +++ b/.github/workflows/open-enterprise-issue.yml @@ -22,7 +22,7 @@ jobs: uses: actions/checkout@ec3a7ce113134d7a93b817d10a8272cb61118579 - name: Setup Node - uses: actions/setup-node@04c56d2f954f1e4c69436aa54cfef261a018f458 + uses: actions/setup-node@1f8c6b94b26d0feae1e387ca63ccbdc44d27b561 with: node-version: 16.13.x cache: npm diff --git a/.github/workflows/openapi-decorate.yml b/.github/workflows/openapi-decorate.yml index 1c01d3fac5..769acb6aec 100644 --- a/.github/workflows/openapi-decorate.yml +++ b/.github/workflows/openapi-decorate.yml @@ -34,7 +34,7 @@ jobs: uses: actions/checkout@ec3a7ce113134d7a93b817d10a8272cb61118579 - name: Setup node - uses: actions/setup-node@04c56d2f954f1e4c69436aa54cfef261a018f458 + uses: actions/setup-node@1f8c6b94b26d0feae1e387ca63ccbdc44d27b561 with: node-version: 16.13.x cache: npm @@ -46,7 +46,7 @@ jobs: run: script/rest/update-files.js --decorate-only - name: Check in the decorated files - uses: EndBug/add-and-commit@2bdc0a61a03738a1d1bda24d566ad0dbe3083d87 + uses: EndBug/add-and-commit@8c12ff729a98cfbcd3fe38b49f55eceb98a5ec02 with: # The arguments for the `git add` command add: 'lib/rest/static/decorated' diff --git a/.github/workflows/openapi-schema-check.yml b/.github/workflows/openapi-schema-check.yml index fafc3a74fe..b116c2134a 100644 --- a/.github/workflows/openapi-schema-check.yml +++ b/.github/workflows/openapi-schema-check.yml @@ -40,7 +40,7 @@ jobs: uses: actions/checkout@ec3a7ce113134d7a93b817d10a8272cb61118579 - name: Setup node - uses: actions/setup-node@04c56d2f954f1e4c69436aa54cfef261a018f458 + uses: actions/setup-node@1f8c6b94b26d0feae1e387ca63ccbdc44d27b561 with: node-version: 16.13.x cache: npm diff --git a/.github/workflows/orphaned-assets-check.yml b/.github/workflows/orphaned-assets-check.yml index d47c6da5ad..7048faad10 100644 --- a/.github/workflows/orphaned-assets-check.yml +++ b/.github/workflows/orphaned-assets-check.yml @@ -18,7 +18,7 @@ jobs: uses: actions/checkout@ec3a7ce113134d7a93b817d10a8272cb61118579 - name: Setup node - uses: actions/setup-node@04c56d2f954f1e4c69436aa54cfef261a018f458 + uses: actions/setup-node@1f8c6b94b26d0feae1e387ca63ccbdc44d27b561 with: node-version: 16.13.x cache: npm diff --git a/.github/workflows/os-ready-for-review.yml b/.github/workflows/os-ready-for-review.yml index 75d00c9d4d..8e12594480 100644 --- a/.github/workflows/os-ready-for-review.yml +++ b/.github/workflows/os-ready-for-review.yml @@ -47,7 +47,7 @@ jobs: uses: actions/checkout@ec3a7ce113134d7a93b817d10a8272cb61118579 - name: Setup Node - uses: actions/setup-node@04c56d2f954f1e4c69436aa54cfef261a018f458 + uses: actions/setup-node@1f8c6b94b26d0feae1e387ca63ccbdc44d27b561 with: node-version: 16.x cache: npm diff --git a/.github/workflows/pa11y.yml b/.github/workflows/pa11y.yml index 5313c7b677..97acb7b665 100644 --- a/.github/workflows/pa11y.yml +++ b/.github/workflows/pa11y.yml @@ -21,7 +21,7 @@ jobs: uses: actions/checkout@ec3a7ce113134d7a93b817d10a8272cb61118579 - name: Setup Node - uses: actions/setup-node@04c56d2f954f1e4c69436aa54cfef261a018f458 + uses: actions/setup-node@1f8c6b94b26d0feae1e387ca63ccbdc44d27b561 with: node-version: 16.13.x cache: npm @@ -30,7 +30,7 @@ jobs: run: npm ci --include=optional - name: Cache nextjs build - uses: actions/cache@c64c572235d810460d0d6876e9c705ad5002b353 + uses: actions/cache@937d24475381cd9c75ae6db12cb4e79714b926ed with: path: .next/cache key: ${{ runner.os }}-nextjs-${{ hashFiles('package*.json') }} diff --git a/.github/workflows/package-lock-lint.yml b/.github/workflows/package-lock-lint.yml index cf800fc55a..3fc9480f2d 100644 --- a/.github/workflows/package-lock-lint.yml +++ b/.github/workflows/package-lock-lint.yml @@ -27,7 +27,7 @@ jobs: uses: actions/checkout@ec3a7ce113134d7a93b817d10a8272cb61118579 - name: Setup Node - uses: actions/setup-node@04c56d2f954f1e4c69436aa54cfef261a018f458 + uses: actions/setup-node@1f8c6b94b26d0feae1e387ca63ccbdc44d27b561 with: node-version: 16.x diff --git a/.github/workflows/ping-staging-apps.yml b/.github/workflows/ping-staging-apps.yml index 6c76973e8e..b5654ff1e2 100644 --- a/.github/workflows/ping-staging-apps.yml +++ b/.github/workflows/ping-staging-apps.yml @@ -21,7 +21,7 @@ jobs: steps: - uses: actions/checkout@ec3a7ce113134d7a93b817d10a8272cb61118579 - name: Setup node - uses: actions/setup-node@04c56d2f954f1e4c69436aa54cfef261a018f458 + uses: actions/setup-node@1f8c6b94b26d0feae1e387ca63ccbdc44d27b561 with: node-version: 16.13.x cache: npm diff --git a/.github/workflows/prod-build-deploy-azure.yml b/.github/workflows/prod-build-deploy-azure.yml index d510a37d2f..e638f8189e 100644 --- a/.github/workflows/prod-build-deploy-azure.yml +++ b/.github/workflows/prod-build-deploy-azure.yml @@ -51,7 +51,7 @@ jobs: run: git lfs checkout - name: Setup node - uses: actions/setup-node@04c56d2f954f1e4c69436aa54cfef261a018f458 + uses: actions/setup-node@1f8c6b94b26d0feae1e387ca63ccbdc44d27b561 with: node-version: 16.13.x cache: npm diff --git a/.github/workflows/prod-build-deploy.yml b/.github/workflows/prod-build-deploy.yml index e8689c3e75..c95f4a9f25 100644 --- a/.github/workflows/prod-build-deploy.yml +++ b/.github/workflows/prod-build-deploy.yml @@ -36,7 +36,7 @@ jobs: run: git lfs checkout - name: Setup node - uses: actions/setup-node@04c56d2f954f1e4c69436aa54cfef261a018f458 + uses: actions/setup-node@1f8c6b94b26d0feae1e387ca63ccbdc44d27b561 with: node-version: 16.13.x cache: npm @@ -55,7 +55,7 @@ jobs: GIT_BRANCH: main - name: Cache nextjs build - uses: actions/cache@c64c572235d810460d0d6876e9c705ad5002b353 + uses: actions/cache@937d24475381cd9c75ae6db12cb4e79714b926ed with: path: .next/cache key: ${{ runner.os }}-nextjs-${{ hashFiles('package*.json') }} diff --git a/.github/workflows/ready-for-doc-review.yml b/.github/workflows/ready-for-doc-review.yml index fb8652b997..6959b98158 100644 --- a/.github/workflows/ready-for-doc-review.yml +++ b/.github/workflows/ready-for-doc-review.yml @@ -21,7 +21,7 @@ jobs: uses: actions/checkout@ec3a7ce113134d7a93b817d10a8272cb61118579 - name: Setup Node - uses: actions/setup-node@04c56d2f954f1e4c69436aa54cfef261a018f458 + uses: actions/setup-node@1f8c6b94b26d0feae1e387ca63ccbdc44d27b561 with: node-version: 16.13.x cache: npm diff --git a/.github/workflows/remove-stale-staging-resources.yml b/.github/workflows/remove-stale-staging-resources.yml index 180db6c6bb..5375869132 100644 --- a/.github/workflows/remove-stale-staging-resources.yml +++ b/.github/workflows/remove-stale-staging-resources.yml @@ -30,7 +30,7 @@ jobs: uses: actions/checkout@ec3a7ce113134d7a93b817d10a8272cb61118579 - name: Setup Node - uses: actions/setup-node@04c56d2f954f1e4c69436aa54cfef261a018f458 + uses: actions/setup-node@1f8c6b94b26d0feae1e387ca63ccbdc44d27b561 with: node-version: 16.13.x cache: npm @@ -52,7 +52,7 @@ jobs: uses: actions/checkout@ec3a7ce113134d7a93b817d10a8272cb61118579 - name: Setup Node - uses: actions/setup-node@04c56d2f954f1e4c69436aa54cfef261a018f458 + uses: actions/setup-node@1f8c6b94b26d0feae1e387ca63ccbdc44d27b561 with: node-version: 16.13.x cache: npm diff --git a/.github/workflows/remove-unused-assets.yml b/.github/workflows/remove-unused-assets.yml index 261d8a6114..f15b2fa7c1 100644 --- a/.github/workflows/remove-unused-assets.yml +++ b/.github/workflows/remove-unused-assets.yml @@ -27,7 +27,7 @@ jobs: - name: Checkout uses: actions/checkout@ec3a7ce113134d7a93b817d10a8272cb61118579 - name: Setup Node - uses: actions/setup-node@04c56d2f954f1e4c69436aa54cfef261a018f458 + uses: actions/setup-node@1f8c6b94b26d0feae1e387ca63ccbdc44d27b561 with: node-version: 16.13.x cache: npm @@ -44,7 +44,7 @@ jobs: - name: Remove script results file run: rm ./results.md - name: Create pull request - uses: peter-evans/create-pull-request@7380612b49221684fefa025244f2ef4008ae50ad + uses: peter-evans/create-pull-request@dcd5fd746d53dd8de555c0f10bca6c35628be47a env: # Disable pre-commit hooks; they don't play nicely here HUSKY: '0' diff --git a/.github/workflows/repo-sync.yml b/.github/workflows/repo-sync.yml index 1bcda9684a..b89bee7fff 100644 --- a/.github/workflows/repo-sync.yml +++ b/.github/workflows/repo-sync.yml @@ -102,7 +102,7 @@ jobs: # Set up npm and run npm ci to run husky to get githooks for LFS - name: Setup node - uses: actions/setup-node@04c56d2f954f1e4c69436aa54cfef261a018f458 + uses: actions/setup-node@1f8c6b94b26d0feae1e387ca63ccbdc44d27b561 with: node-version: 16.13.x cache: npm diff --git a/.github/workflows/staging-build-and-deploy-pr.yml b/.github/workflows/staging-build-and-deploy-pr.yml index 84090a206a..7554dfd644 100644 --- a/.github/workflows/staging-build-and-deploy-pr.yml +++ b/.github/workflows/staging-build-and-deploy-pr.yml @@ -55,7 +55,7 @@ jobs: run: git lfs checkout - name: Setup node - uses: actions/setup-node@04c56d2f954f1e4c69436aa54cfef261a018f458 + uses: actions/setup-node@1f8c6b94b26d0feae1e387ca63ccbdc44d27b561 with: node-version: 16.13.x cache: npm @@ -64,7 +64,7 @@ jobs: run: npm ci - name: Cache nextjs build - uses: actions/cache@c64c572235d810460d0d6876e9c705ad5002b353 + uses: actions/cache@937d24475381cd9c75ae6db12cb4e79714b926ed with: path: .next/cache key: ${{ runner.os }}-nextjs-${{ hashFiles('package*.json') }} @@ -76,7 +76,7 @@ jobs: run: node script/early-access/clone-for-build.js env: DOCUBOT_REPO_PAT: ${{ secrets.DOCUBOT_REPO_PAT }} - GIT_BRANCH: ${{ github.event.pull_request.head.sha }} + GIT_BRANCH: ${{ github.head_ref || github.ref }} - name: Create a Heroku build source id: build-source diff --git a/.github/workflows/staging-build-pr.yml b/.github/workflows/staging-build-pr.yml index dbfa04c8fb..91c54cc037 100644 --- a/.github/workflows/staging-build-pr.yml +++ b/.github/workflows/staging-build-pr.yml @@ -69,7 +69,7 @@ jobs: run: exit 1 - name: Setup node - uses: actions/setup-node@04c56d2f954f1e4c69436aa54cfef261a018f458 + uses: actions/setup-node@1f8c6b94b26d0feae1e387ca63ccbdc44d27b561 with: node-version: 16.13.x cache: npm @@ -82,7 +82,7 @@ jobs: run: npm ci - name: Cache nextjs build - uses: actions/cache@c64c572235d810460d0d6876e9c705ad5002b353 + uses: actions/cache@937d24475381cd9c75ae6db12cb4e79714b926ed with: path: .next/cache key: ${{ runner.os }}-nextjs-${{ hashFiles('package*.json') }} @@ -129,7 +129,7 @@ jobs: # We are not willing to trust the rest (e.g. script/) for the remainder # of the deployment process. - name: Upload build artifact - uses: actions/upload-artifact@27121b0bdffd731efa15d66772be8dc71245d074 + uses: actions/upload-artifact@82c141cc518b40d92cc801eee768e7aafc9c2fa2 with: name: pr_build path: app.tar diff --git a/.github/workflows/staging-deploy-pr.yml b/.github/workflows/staging-deploy-pr.yml index 85ba8698ed..52c382a675 100644 --- a/.github/workflows/staging-deploy-pr.yml +++ b/.github/workflows/staging-deploy-pr.yml @@ -241,7 +241,7 @@ jobs: run: git lfs checkout - name: Setup node - uses: actions/setup-node@04c56d2f954f1e4c69436aa54cfef261a018f458 + uses: actions/setup-node@1f8c6b94b26d0feae1e387ca63ccbdc44d27b561 with: node-version: 16.13.x cache: npm @@ -375,7 +375,7 @@ jobs: uses: actions/checkout@ec3a7ce113134d7a93b817d10a8272cb61118579 - name: Setup node - uses: actions/setup-node@04c56d2f954f1e4c69436aa54cfef261a018f458 + uses: actions/setup-node@1f8c6b94b26d0feae1e387ca63ccbdc44d27b561 with: node-version: 16.13.x cache: npm diff --git a/.github/workflows/sync-search-indices.yml b/.github/workflows/sync-search-indices.yml index 88c2de8133..34c004a561 100644 --- a/.github/workflows/sync-search-indices.yml +++ b/.github/workflows/sync-search-indices.yml @@ -56,7 +56,7 @@ jobs: token: ${{ secrets.DOCS_BOT_FR }} - name: Setup Node - uses: actions/setup-node@04c56d2f954f1e4c69436aa54cfef261a018f458 + uses: actions/setup-node@1f8c6b94b26d0feae1e387ca63ccbdc44d27b561 with: node-version: 16.13.x cache: npm @@ -65,7 +65,7 @@ jobs: run: npm ci - name: Cache nextjs build - uses: actions/cache@c64c572235d810460d0d6876e9c705ad5002b353 + uses: actions/cache@937d24475381cd9c75ae6db12cb4e79714b926ed with: path: .next/cache key: ${{ runner.os }}-nextjs-${{ hashFiles('package*.json') }} diff --git a/.github/workflows/sync-search-pr.yml b/.github/workflows/sync-search-pr.yml index 16bfa7c16e..c258c0143a 100644 --- a/.github/workflows/sync-search-pr.yml +++ b/.github/workflows/sync-search-pr.yml @@ -29,7 +29,7 @@ jobs: uses: actions/checkout@ec3a7ce113134d7a93b817d10a8272cb61118579 - name: Setup node - uses: actions/setup-node@04c56d2f954f1e4c69436aa54cfef261a018f458 + uses: actions/setup-node@1f8c6b94b26d0feae1e387ca63ccbdc44d27b561 with: node-version: 16.13.x cache: npm @@ -38,7 +38,7 @@ jobs: run: npm ci - name: Cache nextjs build - uses: actions/cache@c64c572235d810460d0d6876e9c705ad5002b353 + uses: actions/cache@937d24475381cd9c75ae6db12cb4e79714b926ed with: path: .next/cache key: ${{ runner.os }}-nextjs-${{ hashFiles('package*.json') }} diff --git a/.github/workflows/test-windows.yml b/.github/workflows/test-windows.yml index 52b671b8af..52d77dd42c 100644 --- a/.github/workflows/test-windows.yml +++ b/.github/workflows/test-windows.yml @@ -47,7 +47,7 @@ jobs: persist-credentials: 'false' - name: Setup node - uses: actions/setup-node@04c56d2f954f1e4c69436aa54cfef261a018f458 + uses: actions/setup-node@1f8c6b94b26d0feae1e387ca63ccbdc44d27b561 with: node-version: 16.13.x cache: npm @@ -56,7 +56,7 @@ jobs: run: npm ci - name: Cache nextjs build - uses: actions/cache@c64c572235d810460d0d6876e9c705ad5002b353 + uses: actions/cache@937d24475381cd9c75ae6db12cb4e79714b926ed with: path: .next/cache key: ${{ runner.os }}-nextjs-${{ hashFiles('package*.json') }} @@ -73,4 +73,4 @@ jobs: run: npm run build - name: Run tests - run: npm run test tests/${{ matrix.test-group }}/ + run: npm test -- tests/${{ matrix.test-group }}/ diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index bd4b6c6077..1678bffc37 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -66,7 +66,7 @@ jobs: echo "${{ steps.get_diff_files.outputs.files }}" > get_diff_files.txt - name: Setup node - uses: actions/setup-node@04c56d2f954f1e4c69436aa54cfef261a018f458 + uses: actions/setup-node@1f8c6b94b26d0feae1e387ca63ccbdc44d27b561 with: node-version: 16.13.x cache: npm @@ -82,7 +82,7 @@ jobs: GIT_BRANCH: ${{ github.head_ref || github.ref }} - name: Cache nextjs build - uses: actions/cache@c64c572235d810460d0d6876e9c705ad5002b353 + uses: actions/cache@937d24475381cd9c75ae6db12cb4e79714b926ed with: path: .next/cache key: ${{ runner.os }}-nextjs-${{ hashFiles('package*.json') }} @@ -93,4 +93,4 @@ jobs: - name: Run tests env: DIFF_FILE: get_diff_files.txt - run: npm run test tests/${{ matrix.test-group }}/ + run: npm test -- tests/${{ matrix.test-group }}/ diff --git a/.github/workflows/triage-unallowed-internal-changes.yml b/.github/workflows/triage-unallowed-internal-changes.yml index 168517fc0f..f839c016e9 100644 --- a/.github/workflows/triage-unallowed-internal-changes.yml +++ b/.github/workflows/triage-unallowed-internal-changes.yml @@ -69,7 +69,7 @@ jobs: token: ${{ secrets.DOCUBOT_REPO_PAT }} - name: Setup Node - uses: actions/setup-node@04c56d2f954f1e4c69436aa54cfef261a018f458 + uses: actions/setup-node@1f8c6b94b26d0feae1e387ca63ccbdc44d27b561 with: node-version: 16.13.x cache: npm diff --git a/.github/workflows/update-graphql-files.yml b/.github/workflows/update-graphql-files.yml index 9d984311e1..12d7938bfd 100644 --- a/.github/workflows/update-graphql-files.yml +++ b/.github/workflows/update-graphql-files.yml @@ -34,7 +34,7 @@ jobs: - name: Checkout uses: actions/checkout@ec3a7ce113134d7a93b817d10a8272cb61118579 - name: Setup Node - uses: actions/setup-node@04c56d2f954f1e4c69436aa54cfef261a018f458 + uses: actions/setup-node@1f8c6b94b26d0feae1e387ca63ccbdc44d27b561 with: node-version: 16.13.x cache: npm @@ -48,7 +48,7 @@ jobs: script/graphql/update-files.js - name: Create pull request id: create-pull-request - uses: peter-evans/create-pull-request@7380612b49221684fefa025244f2ef4008ae50ad + uses: peter-evans/create-pull-request@dcd5fd746d53dd8de555c0f10bca6c35628be47a env: # Disable pre-commit hooks; they don't play nicely here HUSKY: '0' diff --git a/.vscode/settings.json b/.vscode/settings.json index d241c9db60..1be4592020 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -1,7 +1,7 @@ { "files.exclude": { "**/translations": true - } + }, "workbench.editor.enablePreview": false, "workbench.editor.enablePreviewFromQuickOpen": false } diff --git a/Dockerfile b/Dockerfile index b99cc6fa16..fdabfa8c11 100644 --- a/Dockerfile +++ b/Dockerfile @@ -5,7 +5,7 @@ # -------------------------------------------------------------------------------- # BASE IMAGE # -------------------------------------------------------------------------------- -FROM node:16.2.0-alpine as base +FROM node:16-alpine as base RUN apk add --no-cache make g++ git @@ -22,6 +22,11 @@ COPY package*.json ./ RUN npm ci +# For Next.js v12+ +# This the appropriate necessary extra for node:16-alpine +# Other options are https://www.npmjs.com/search?q=%40next%2Fswc +# RUN npm i @next/swc-linux-x64-musl --no-save + # --------------- # PROD DEPS @@ -54,7 +59,7 @@ RUN npm run build # MAIN IMAGE # -------------------------------------------------------------------------------- -FROM node:16.2.0-alpine as production +FROM node:16-alpine as production # Let's make our home WORKDIR /usr/src/docs diff --git a/README.md b/README.md index 95c69a293b..fadb39c8de 100644 --- a/README.md +++ b/README.md @@ -12,11 +12,11 @@ See [the contributing guide](CONTRIBUTING.md) for detailed instructions on how t We accept different [types of contributions](https://github.com/github/docs/blob/main/contributing/types-of-contributions.md), including some that don't require you to write a single line of code. -On the GitHub Docs site, you can click the make a contribution button to open a PR(Pull Request) for quick fixes like typos, updates, or link fixes. +On the GitHub Docs site, you can click the make a contribution button to open a pull request for quick fixes like typos, updates, or link fixes. -For more complex contributions, you can open an issue using the most appropriate [issue template](https://github.com/github/docs/issues/new/choose) to describe the changes you'd like to see. By this way you can also be a part of Open source contributor's community without even writing a single line of code. +For more complex contributions, you can open an issue using the most appropriate [issue template](https://github.com/github/docs/issues/new/choose) to describe the changes you'd like to see. If you're looking for a way to contribute, you can scan through our [existing issues](https://github.com/github/docs/issues) for something to work on. When ready, check out [Getting Started with Contributing](/CONTRIBUTING.md) for detailed instructions. @@ -33,7 +33,6 @@ That's how you can easily become a member of the GitHub Documentation community. ## READMEs In addition to the README you're reading right now, this repo includes other READMEs that describe the purpose of each subdirectory in more detail: -You can go through among them for specified details regarding the topics listed below. - [content/README.md](content/README.md) - [content/graphql/README.md](content/graphql/README.md) @@ -57,7 +56,7 @@ The GitHub product documentation in the assets, content, and data folders are li All other code in this repository is licensed under the [MIT license](LICENSE-CODE). -When you are using the GitHub logos, be sure to follow the [GitHub logo guidelines](https://github.com/logos). +When using the GitHub logos, be sure to follow the [GitHub logo guidelines](https://github.com/logos). ## Thanks :purple_heart: diff --git a/assets/images/help/classroom/assignment-group-hero.png b/assets/images/help/classroom/assignment-group-hero.png index b881d2f36b..259f7f40dd 100644 Binary files a/assets/images/help/classroom/assignment-group-hero.png and b/assets/images/help/classroom/assignment-group-hero.png differ diff --git a/assets/images/help/classroom/assignment-individual-hero.png b/assets/images/help/classroom/assignment-individual-hero.png index 035093cf06..e4afed815c 100644 Binary files a/assets/images/help/classroom/assignment-individual-hero.png and b/assets/images/help/classroom/assignment-individual-hero.png differ diff --git a/assets/images/help/classroom/assignments-click-view-test.png b/assets/images/help/classroom/assignments-click-view-test.png index 17c3bb76fd..23bbff2438 100644 Binary files a/assets/images/help/classroom/assignments-click-view-test.png and b/assets/images/help/classroom/assignments-click-view-test.png differ diff --git a/assets/images/help/classroom/autograding-hero.png b/assets/images/help/classroom/autograding-hero.png deleted file mode 100644 index f197142272..0000000000 Binary files a/assets/images/help/classroom/autograding-hero.png and /dev/null differ diff --git a/assets/images/help/codespaces/add-constraint-dropdown.png b/assets/images/help/codespaces/add-constraint-dropdown.png new file mode 100644 index 0000000000..eeeb1a2441 Binary files /dev/null and b/assets/images/help/codespaces/add-constraint-dropdown.png differ diff --git a/assets/images/help/codespaces/change-machine-type-choice.png b/assets/images/help/codespaces/change-machine-type-choice.png new file mode 100644 index 0000000000..c6c8ff0408 Binary files /dev/null and b/assets/images/help/codespaces/change-machine-type-choice.png differ diff --git a/assets/images/help/codespaces/choose-custom-machine-type.png b/assets/images/help/codespaces/choose-custom-machine-type.png index 4712cac1cb..55a46548af 100644 Binary files a/assets/images/help/codespaces/choose-custom-machine-type.png and b/assets/images/help/codespaces/choose-custom-machine-type.png differ diff --git a/assets/images/help/codespaces/edit-machine-constraint.png b/assets/images/help/codespaces/edit-machine-constraint.png new file mode 100644 index 0000000000..f5ea9fdc71 Binary files /dev/null and b/assets/images/help/codespaces/edit-machine-constraint.png differ diff --git a/assets/images/help/codespaces/machine-types-limited-choice.png b/assets/images/help/codespaces/machine-types-limited-choice.png new file mode 100644 index 0000000000..42c83dfccd Binary files /dev/null and b/assets/images/help/codespaces/machine-types-limited-choice.png differ diff --git a/assets/images/help/codespaces/new-codespace-button.png b/assets/images/help/codespaces/new-codespace-button.png index 7a1198d1d8..344728946a 100644 Binary files a/assets/images/help/codespaces/new-codespace-button.png and b/assets/images/help/codespaces/new-codespace-button.png differ diff --git a/assets/images/help/codespaces/organization-user-permission-settings.png b/assets/images/help/codespaces/organization-user-permission-settings.png deleted file mode 100644 index 2dd4ca47b3..0000000000 Binary files a/assets/images/help/codespaces/organization-user-permission-settings.png and /dev/null differ diff --git a/assets/images/help/codespaces/policy-delete.png b/assets/images/help/codespaces/policy-delete.png new file mode 100644 index 0000000000..5c3e7d8a08 Binary files /dev/null and b/assets/images/help/codespaces/policy-delete.png differ diff --git a/assets/images/help/codespaces/policy-edit.png b/assets/images/help/codespaces/policy-edit.png new file mode 100644 index 0000000000..d2dd720450 Binary files /dev/null and b/assets/images/help/codespaces/policy-edit.png differ diff --git a/assets/images/help/codespaces/policy-select-repos.png b/assets/images/help/codespaces/policy-select-repos.png new file mode 100644 index 0000000000..01978088ab Binary files /dev/null and b/assets/images/help/codespaces/policy-select-repos.png differ diff --git a/assets/images/help/notifications-v2/unsubscribe-from-all-repos.png b/assets/images/help/notifications-v2/unsubscribe-from-all-repos.png new file mode 100644 index 0000000000..60913fb588 Binary files /dev/null and b/assets/images/help/notifications-v2/unsubscribe-from-all-repos.png differ diff --git a/assets/images/help/notifications-v2/unwatch-repo-dialog.png b/assets/images/help/notifications-v2/unwatch-repo-dialog.png new file mode 100644 index 0000000000..e791ba2552 Binary files /dev/null and b/assets/images/help/notifications-v2/unwatch-repo-dialog.png differ diff --git a/assets/images/help/organizations/codespaces-policy-sidebar.png b/assets/images/help/organizations/codespaces-policy-sidebar.png new file mode 100644 index 0000000000..6f0912bb66 Binary files /dev/null and b/assets/images/help/organizations/codespaces-policy-sidebar.png differ diff --git a/assets/images/help/organizations/codespaces-sidebar-tab.png b/assets/images/help/organizations/codespaces-sidebar-tab.png index 774dbc9fbd..558205a2eb 100644 Binary files a/assets/images/help/organizations/codespaces-sidebar-tab.png and b/assets/images/help/organizations/codespaces-sidebar-tab.png differ diff --git a/assets/images/help/writing/markdown-toolbar.gif b/assets/images/help/writing/markdown-toolbar.gif deleted file mode 100644 index 0a9e5cfcb1..0000000000 Binary files a/assets/images/help/writing/markdown-toolbar.gif and /dev/null differ diff --git a/components/Search.module.scss b/components/Search.module.scss index 4ccc25ca94..b88b6c8161 100644 --- a/components/Search.module.scss +++ b/components/Search.module.scss @@ -51,3 +51,7 @@ .selectWording { margin: 0.64rem 0.5rem 0 0; } + +.versionSearchContainer { + overflow: hidden; +} diff --git a/components/Search.tsx b/components/Search.tsx index d99a60e4fe..3f6d0adc70 100644 --- a/components/Search.tsx +++ b/components/Search.tsx @@ -206,7 +206,7 @@ export function Search({ ) const SearchInput = ( -