diff --git a/.github/allowed-actions.js b/.github/allowed-actions.js index cd0b8b5fa833..a7cad0cd4f0a 100644 --- a/.github/allowed-actions.js +++ b/.github/allowed-actions.js @@ -20,7 +20,6 @@ module.exports = [ "cschleiden/actions-linter@0ff16d6ac5103cca6c92e6cbc922b646baaea5be", "dawidd6/action-delete-branch@47743101a121ad657031e6704086271ca81b1911", "docker://chinthakagodawita/autoupdate-action:v1", - "fkirc/skip-duplicate-actions@36feb0d8d062137530c2e00bd278d138fe191289", "github/codeql-action/analyze@v1", "github/codeql-action/init@v1", "juliangruber/approve-pull-request-action@c530832d4d346c597332e20e03605aa94fa150a8", diff --git a/.github/workflows/browser-test.yml b/.github/workflows/browser-test.yml index 53a74e6259b8..79dff097b1f1 100644 --- a/.github/workflows/browser-test.yml +++ b/.github/workflows/browser-test.yml @@ -12,44 +12,26 @@ on: pull_request: jobs: - see_if_should_skip: - continue-on-error: true - runs-on: ubuntu-latest - # Map a step output to a job output - 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: '[".github/workflows/browser-test.yml","assets/**", "content/**", "data/**", "includes/**", "javascripts/**", "jest-puppeteer.config.js", "jest.config.js", "layouts/**", "lib/**", "middleware/**", "package-lock.json", "package.json", "server.js", "translations/**", "webpack.config.js"]' build: - needs: see_if_should_skip runs-on: ubuntu-latest steps: # Each of these ifs needs to be repeated at each step to make sure the required check still runs # Even if if doesn't do anything - - if: ${{ needs.see_if_should_skip.outputs.should_skip != 'true' }} - name: Checkout + - name: Checkout uses: actions/checkout@5a4ac9002d0be2fb38bd78e4b4dbde5606d7042f - - if: ${{ needs.see_if_should_skip.outputs.should_skip != 'true' }} - name: Setup Node + - name: Setup Node uses: actions/setup-node@c46424eee26de4078d34105d3de3cc4992202b1e with: node-version: 14.x - - if: ${{ needs.see_if_should_skip.outputs.should_skip != 'true' }} - name: Install + - name: Install uses: rachmari/puppeteer-container@6d56d6e132a3df76cf60bc290a4282f7fbaed05e timeout-minutes: 5 with: args: npm ci - - if: ${{ needs.see_if_should_skip.outputs.should_skip != 'true' }} - name: Test + - name: Test timeout-minutes: 10 uses: rachmari/puppeteer-container@6d56d6e132a3df76cf60bc290a4282f7fbaed05e with: diff --git a/.github/workflows/link-check-dotcom.yml b/.github/workflows/link-check-dotcom.yml index 399655cf8614..bb9f024ab19d 100644 --- a/.github/workflows/link-check-dotcom.yml +++ b/.github/workflows/link-check-dotcom.yml @@ -12,53 +12,26 @@ on: pull_request: jobs: - see_if_should_skip: - continue-on-error: true - runs-on: ubuntu-latest - # Map a step output to a job output - 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: '[".github/workflows/link-check-dotcom.yml", "assets/**", "content/**", "data/**", "includes/**", "javascripts/**", "jest-puppeteer.config.js", "jest.config.js", "layouts/**", "lib/**", "middleware/**", "package-lock.json", "package.json", "server.js", "translations/**", "webpack.config.js"]' build: - needs: see_if_should_skip runs-on: ${{ fromJSON('["ubuntu-latest", "self-hosted"]')[github.repository == 'github/docs-internal'] }} steps: # Each of these ifs needs to be repeated at each step to make sure the required check still runs # Even if if doesn't do anything - - if: ${{ needs.see_if_should_skip.outputs.should_skip != 'true' }} - name: Checkout + - name: Checkout uses: actions/checkout@5a4ac9002d0be2fb38bd78e4b4dbde5606d7042f - - if: ${{ needs.see_if_should_skip.outputs.should_skip != 'true' }} - name: Setup node + - name: Setup node uses: actions/setup-node@c46424eee26de4078d34105d3de3cc4992202b1e with: node-version: 14.x - - if: ${{ needs.see_if_should_skip.outputs.should_skip != 'true' }} - name: Install + - name: Install run: npm ci - ## TODO - # - if: ${{ github.repository == 'github/docs-internal' && needs.see_if_should_skip.outputs.should_skip != 'true' }} - # name: Clone early access - # run: npm run heroku-postbuild - # env: - # DOCUBOT_REPO_PAT: ${{ secrets.DOCUBOT_REPO_PAT }} - # GIT_BRANCH: ${{ github.head_ref || github.ref }} - - - if: ${{ needs.see_if_should_skip.outputs.should_skip != 'true' }} - name: Build + - name: Build run: npm run build - - if: ${{ needs.see_if_should_skip.outputs.should_skip != 'true' }} - name: 'Link check: Dotcom' + - name: 'Link check: Dotcom' env: DOCS_VERSION: 'dotcom' run: npm run link-check diff --git a/.github/workflows/link-check-ghae.yml b/.github/workflows/link-check-ghae.yml index e5dd16853b4d..3f466eae5d81 100644 --- a/.github/workflows/link-check-ghae.yml +++ b/.github/workflows/link-check-ghae.yml @@ -12,53 +12,26 @@ on: pull_request: jobs: - see_if_should_skip: - continue-on-error: true - runs-on: ubuntu-latest - # Map a step output to a job output - 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: '[".github/workflows/link-check-ghae.yml", "assets/**", "content/**", "data/**", "includes/**", "javascripts/**", "jest-puppeteer.config.js", "jest.config.js", "layouts/**", "lib/**", "middleware/**", "package-lock.json", "package.json", "server.js", "translations/**", "webpack.config.js"]' build: - needs: see_if_should_skip runs-on: ${{ fromJSON('["ubuntu-latest", "self-hosted"]')[github.repository == 'github/docs-internal'] }} steps: # Each of these ifs needs to be repeated at each step to make sure the required check still runs # Even if if doesn't do anything - - if: ${{ needs.see_if_should_skip.outputs.should_skip != 'true' }} - name: Checkout + - name: Checkout uses: actions/checkout@5a4ac9002d0be2fb38bd78e4b4dbde5606d7042f - - if: ${{ needs.see_if_should_skip.outputs.should_skip != 'true' }} - name: Setup node + - name: Setup node uses: actions/setup-node@c46424eee26de4078d34105d3de3cc4992202b1e with: node-version: 14.x - - if: ${{ needs.see_if_should_skip.outputs.should_skip != 'true' }} - name: Install + - name: Install run: npm ci - ## TODO - # - if: ${{ github.repository == 'github/docs-internal' && needs.see_if_should_skip.outputs.should_skip != 'true' }} - # name: Clone early access - # run: npm run heroku-postbuild - # env: - # DOCUBOT_REPO_PAT: ${{ secrets.DOCUBOT_REPO_PAT }} - # GIT_BRANCH: ${{ github.head_ref || github.ref }} - - - if: ${{ needs.see_if_should_skip.outputs.should_skip != 'true' }} - name: Build + - name: Build run: npm run build - - if: ${{ needs.see_if_should_skip.outputs.should_skip != 'true' }} - name: 'Link check: GitHub AE' + - name: 'Link check: GitHub AE' env: DOCS_VERSION: 'github-ae' run: npm run link-check diff --git a/.github/workflows/link-check-ghes.yml b/.github/workflows/link-check-ghes.yml index 4371f129fbed..f26b9cfbe6b4 100644 --- a/.github/workflows/link-check-ghes.yml +++ b/.github/workflows/link-check-ghes.yml @@ -12,53 +12,26 @@ on: pull_request: jobs: - see_if_should_skip: - continue-on-error: true - runs-on: ubuntu-latest - # Map a step output to a job output - 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: '[".github/workflows/link-check-ghes.yml", "assets/**", "content/**", "data/**", "includes/**", "javascripts/**", "jest-puppeteer.config.js", "jest.config.js", "layouts/**", "lib/**", "middleware/**", "package-lock.json", "package.json", "server.js", "translations/**", "webpack.config.js"]' build: - needs: see_if_should_skip runs-on: ${{ fromJSON('["ubuntu-latest", "self-hosted"]')[github.repository == 'github/docs-internal'] }} steps: # Each of these ifs needs to be repeated at each step to make sure the required check still runs # Even if if doesn't do anything - - if: ${{ needs.see_if_should_skip.outputs.should_skip != 'true' }} - name: Checkout + - name: Checkout uses: actions/checkout@5a4ac9002d0be2fb38bd78e4b4dbde5606d7042f - - if: ${{ needs.see_if_should_skip.outputs.should_skip != 'true' }} - name: Setup node + - name: Setup node uses: actions/setup-node@c46424eee26de4078d34105d3de3cc4992202b1e with: node-version: 14.x - - if: ${{ needs.see_if_should_skip.outputs.should_skip != 'true' }} - name: Install + - name: Install run: npm ci - ## TODO - # - if: ${{ github.repository == 'github/docs-internal' && needs.see_if_should_skip.outputs.should_skip != 'true' }} - # name: Clone early access - # run: npm run heroku-postbuild - # env: - # DOCUBOT_REPO_PAT: ${{ secrets.DOCUBOT_REPO_PAT }} - # GIT_BRANCH: ${{ github.head_ref || github.ref }} - - - if: ${{ needs.see_if_should_skip.outputs.should_skip != 'true' }} - name: Build + - name: Build run: npm run build - - if: ${{ needs.see_if_should_skip.outputs.should_skip != 'true' }} - name: 'Link check: Enterprise Server' + - name: 'Link check: Enterprise Server' env: DOCS_VERSION: 'enterprise-server' run: npm run link-check diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index beb039ae6c6f..6a800b42ecf6 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -17,22 +17,7 @@ env: CI: true jobs: - see_if_should_skip: - continue-on-error: true - runs-on: ubuntu-latest - # Map a step output to a job output - 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: '[".github/workflows/test.yml", ".node-version", ".npmrc", "app.json", "content/**", "data/**","lib/**", "Dockerfile", "feature-flags.json", "Gemfile", "Gemfile.lock", "middleware/**", "node_modules/**","package.json", "package-lock.json", "server.js", "tests/**", "translations/**", "Procfile", "webpack.config.js"]' - test: - needs: see_if_should_skip # Run on self-hosted if the private repo or ubuntu-latest if the public repo # See pull # 17442 in the private repo for context runs-on: ${{ fromJSON('["ubuntu-latest", "self-hosted"]')[github.repository == 'github/docs-internal'] }} @@ -44,27 +29,23 @@ jobs: steps: # Each of these ifs needs to be repeated at each step to make sure the required check still runs # Even if if doesn't do anything - - if: ${{ needs.see_if_should_skip.outputs.should_skip != 'true' }} - name: Check out repo + - name: Check out repo uses: actions/checkout@5a4ac9002d0be2fb38bd78e4b4dbde5606d7042f with: # Enables cloning the Early Access repo later with the relevant PAT persist-credentials: 'false' - - if: ${{ needs.see_if_should_skip.outputs.should_skip != 'true' }} - name: Setup node + - name: Setup node uses: actions/setup-node@c46424eee26de4078d34105d3de3cc4992202b1e with: node-version: 14.x - - if: ${{ needs.see_if_should_skip.outputs.should_skip != 'true' }} - name: Get npm cache directory + - name: Get npm cache directory id: npm-cache run: | echo "::set-output name=dir::$(npm config get cache)" - - if: ${{ needs.see_if_should_skip.outputs.should_skip != 'true' }} - name: Cache node modules + - name: Cache node modules uses: actions/cache@0781355a23dac32fd3bac414512f4b903437991a with: path: ${{ steps.npm-cache.outputs.dir }} @@ -72,23 +53,21 @@ jobs: restore-keys: | ${{ runner.os }}-node- - - if: ${{ needs.see_if_should_skip.outputs.should_skip != 'true' }} - name: Install dependencies + - name: Install dependencies run: npm ci - - if: ${{ needs.see_if_should_skip.outputs.should_skip != 'true' && github.repository == 'github/docs-internal' }} + - if: ${{ github.repository == 'github/docs-internal' }} name: Clone early access run: npm run heroku-postbuild env: DOCUBOT_REPO_PAT: ${{ secrets.DOCUBOT_REPO_PAT }} GIT_BRANCH: ${{ github.head_ref || github.ref }} - - if: ${{ needs.see_if_should_skip.outputs.should_skip != 'true' && github.repository != 'github/docs-internal' }} + - if: ${{ github.repository != 'github/docs-internal' }} name: Run build script run: npm run build - - if: ${{ needs.see_if_should_skip.outputs.should_skip != 'true' }} - name: Run tests + - name: Run tests run: npx jest tests/${{ matrix.test-group }}/ env: NODE_OPTIONS: '--max_old_space_size=4096'