From 5e5daeee0a7c56058325c5e03fb3237107a87c99 Mon Sep 17 00:00:00 2001 From: sahejkm Date: Wed, 29 May 2024 12:20:44 +0800 Subject: [PATCH 01/10] update code owners --- .github/CODEOWNERS | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/CODEOWNERS b/.github/CODEOWNERS index c2c8da5954b..dac5a226e5f 100644 --- a/.github/CODEOWNERS +++ b/.github/CODEOWNERS @@ -1 +1 @@ -* @zurfyx @fantactuka @acywatson @Fetz @ivailop7 +* @zurfyx @fantactuka @acywatson @Fetz @ivailop7 @Sahejkm @potatowagon From 82a3f5029dc33bae4c0fc5f4677d1f7dadc48ce1 Mon Sep 17 00:00:00 2001 From: sahejkm Date: Wed, 29 May 2024 15:18:03 +0800 Subject: [PATCH 02/10] Remove extended tests run label on dismiss review if the state of PR is no longer approved to prevent running of extra tests --- .github/workflows/after-dismiss.yml | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) create mode 100644 .github/workflows/after-dismiss.yml diff --git a/.github/workflows/after-dismiss.yml b/.github/workflows/after-dismiss.yml new file mode 100644 index 00000000000..5485d73ec81 --- /dev/null +++ b/.github/workflows/after-dismiss.yml @@ -0,0 +1,26 @@ +name: After Dismiss + +on: + pull_request_review: + types: [dismissed] + +concurrency: + group: ${{ github.workflow }}-${{ github.ref }} + cancel-in-progress: true + +jobs: + label-pr: + if: github.event.review.state != 'approved' && contains(github.event.pull_request.labels.*.name, 'extended-tests') + runs-on: ubuntu-latest + permissions: + contents: read + pull-requests: write + steps: + - name: Remove label to run extended tests + env: + GH_TOKEN: ${{ secrets.LEXICAL_BOT_TOKEN }} + GH_REPO: ${{ github.repository }} + NUMBER: ${{ github.event.pull_request.number }} + run: | + echo "Adding label 'extended-tests' to PR $NUMBER" + gh pr edit "$NUMBER" --remove-label "extended-tests" || (echo "Failed to remove label" && exit 1) From 245358ada1a32f958ecd5e4628778a55fe85e234 Mon Sep 17 00:00:00 2001 From: sahejkm Date: Wed, 29 May 2024 16:28:23 +0800 Subject: [PATCH 03/10] testing --- .github/workflows/after-approval-workflow.yml | 49 +++++++++++++++++++ .github/workflows/after-approval.yml | 21 ++++---- .github/workflows/tests-extended.yml | 34 ++++++------- 3 files changed, 76 insertions(+), 28 deletions(-) create mode 100644 .github/workflows/after-approval-workflow.yml diff --git a/.github/workflows/after-approval-workflow.yml b/.github/workflows/after-approval-workflow.yml new file mode 100644 index 00000000000..5d8d7b38494 --- /dev/null +++ b/.github/workflows/after-approval-workflow.yml @@ -0,0 +1,49 @@ +name: After Approval Workflow + +on: + workflow_run: + workflows: ['After Approval'] + types: + - completed + +jobs: + download: + runs-on: ubuntu-latest + steps: + - name: 'Download artifact' + uses: actions/github-script@v6 + with: + script: | + let allArtifacts = await github.rest.actions.listWorkflowRunArtifacts({ + owner: context.repo.owner, + repo: context.repo.repo, + run_id: context.payload.workflow_run.id, + }); + let matchArtifact = allArtifacts.data.artifacts.filter((artifact) => { + return artifact.name == "pr_number" + })[0]; + let download = await github.rest.actions.downloadArtifact({ + owner: context.repo.owner, + repo: context.repo.repo, + artifact_id: matchArtifact.id, + archive_format: 'zip', + }); + let fs = require('fs'); + fs.writeFileSync(`${process.env.GITHUB_WORKSPACE}/pr_number.zip`, Buffer.from(download.data)); + + - name: 'Unzip artifact' + run: unzip pr_number.zip + + - name: 'Comment on PR' + uses: actions/github-script@v6 + with: + github-token: ${{ secrets.LEXICAL_BOT_TOKEN }} + script: | + let fs = require('fs'); + let issue_number = Number(fs.readFileSync('./pr_number')); + await github.rest.issues.addLabel({ + owner: context.repo.owner, + repo: context.repo.repo, + issue_number: issue_number, + body: 'Thank you for the PR!' + }); diff --git a/.github/workflows/after-approval.yml b/.github/workflows/after-approval.yml index a3751ecc12a..8f76779c950 100644 --- a/.github/workflows/after-approval.yml +++ b/.github/workflows/after-approval.yml @@ -9,18 +9,17 @@ concurrency: cancel-in-progress: true jobs: - label-pr: - if: github.event.review.state == 'approved' && !contains(github.event.pull_request.labels.*.name, 'extended-tests') + upload-pr-number: + if: github.event.review.state == 'commented' && !contains(github.event.pull_request.labels.*.name, 'extended-tests') runs-on: ubuntu-latest - permissions: - contents: read - pull-requests: write steps: - - name: Add label for extended tests + - name: Save PR number env: - GH_TOKEN: ${{ secrets.LEXICAL_BOT_TOKEN }} - GH_REPO: ${{ github.repository }} - NUMBER: ${{ github.event.pull_request.number }} + PR_NUMBER: ${{ github.event.pull_request.number }} run: | - echo "Adding label 'extended-tests' to PR $NUMBER" - gh pr edit "$NUMBER" --add-label "extended-tests" || (echo "Failed to add label" && exit 1) + mkdir -p ./pr + echo $PR_NUMBER > ./pr/pr_number + - uses: actions/upload-artifact@v4 + with: + name: pr_number + path: pr/ diff --git a/.github/workflows/tests-extended.yml b/.github/workflows/tests-extended.yml index fbb522084a8..6440aab4a83 100644 --- a/.github/workflows/tests-extended.yml +++ b/.github/workflows/tests-extended.yml @@ -1,21 +1,21 @@ -name: Lexical Tests (Extended) +# name: Lexical Tests (Extended) -on: - pull_request: - types: [labeled, synchronize, reopened] - paths-ignore: - - 'packages/lexical-website/**' - - 'packages/*/README.md' +# on: +# pull_request: +# types: [labeled, synchronize, reopened] +# paths-ignore: +# - 'packages/lexical-website/**' +# - 'packages/*/README.md' -concurrency: - group: ${{ github.workflow }}-${{ github.ref }} - cancel-in-progress: true +# concurrency: +# group: ${{ github.workflow }}-${{ github.ref }} +# cancel-in-progress: true -jobs: - e2e-tests: - if: github.repository_owner == 'facebook' && contains(github.event.pull_request.labels.*.name, 'extended-tests') - uses: ./.github/workflows/call-e2e-all-tests.yml +# jobs: +# e2e-tests: +# if: github.repository_owner == 'facebook' && contains(github.event.pull_request.labels.*.name, 'extended-tests') +# uses: ./.github/workflows/call-e2e-all-tests.yml - integration-tests: - if: github.repository_owner == 'facebook' && contains(github.event.pull_request.labels.*.name, 'extended-tests') - uses: ./.github/workflows/call-integration-tests.yml +# integration-tests: +# if: github.repository_owner == 'facebook' && contains(github.event.pull_request.labels.*.name, 'extended-tests') +# uses: ./.github/workflows/call-integration-tests.yml From 6c2317a454e941e98d2b826af72160443613d826 Mon Sep 17 00:00:00 2001 From: sahejkm Date: Wed, 29 May 2024 16:30:22 +0800 Subject: [PATCH 04/10] . --- .github/workflows/after-dismiss.yml | 26 -------------------------- 1 file changed, 26 deletions(-) delete mode 100644 .github/workflows/after-dismiss.yml diff --git a/.github/workflows/after-dismiss.yml b/.github/workflows/after-dismiss.yml deleted file mode 100644 index 5485d73ec81..00000000000 --- a/.github/workflows/after-dismiss.yml +++ /dev/null @@ -1,26 +0,0 @@ -name: After Dismiss - -on: - pull_request_review: - types: [dismissed] - -concurrency: - group: ${{ github.workflow }}-${{ github.ref }} - cancel-in-progress: true - -jobs: - label-pr: - if: github.event.review.state != 'approved' && contains(github.event.pull_request.labels.*.name, 'extended-tests') - runs-on: ubuntu-latest - permissions: - contents: read - pull-requests: write - steps: - - name: Remove label to run extended tests - env: - GH_TOKEN: ${{ secrets.LEXICAL_BOT_TOKEN }} - GH_REPO: ${{ github.repository }} - NUMBER: ${{ github.event.pull_request.number }} - run: | - echo "Adding label 'extended-tests' to PR $NUMBER" - gh pr edit "$NUMBER" --remove-label "extended-tests" || (echo "Failed to remove label" && exit 1) From f34e3e0f3fa8e60e151bfef7472c87984496e2c7 Mon Sep 17 00:00:00 2001 From: sahejkm Date: Wed, 29 May 2024 16:30:45 +0800 Subject: [PATCH 05/10] . --- .github/CODEOWNERS | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/CODEOWNERS b/.github/CODEOWNERS index dac5a226e5f..78f2deefe22 100644 --- a/.github/CODEOWNERS +++ b/.github/CODEOWNERS @@ -1 +1 @@ -* @zurfyx @fantactuka @acywatson @Fetz @ivailop7 @Sahejkm @potatowagon +* @zurfyx @fantactuka @acywatson @Fetz @ivailop7 \ No newline at end of file From 4cfec004f7dfb4747364f8319e0d930c328f368c Mon Sep 17 00:00:00 2001 From: sahejkm Date: Wed, 29 May 2024 16:33:25 +0800 Subject: [PATCH 06/10] . --- .github/workflows/after-approval-workflow.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/after-approval-workflow.yml b/.github/workflows/after-approval-workflow.yml index 5d8d7b38494..4029691d06c 100644 --- a/.github/workflows/after-approval-workflow.yml +++ b/.github/workflows/after-approval-workflow.yml @@ -45,5 +45,5 @@ jobs: owner: context.repo.owner, repo: context.repo.repo, issue_number: issue_number, - body: 'Thank you for the PR!' + labels: ['extended-tests'], }); From 1125fee79c5d8c8f56177469bbcb840e25750af8 Mon Sep 17 00:00:00 2001 From: sahejkm Date: Wed, 29 May 2024 16:33:56 +0800 Subject: [PATCH 07/10] . --- .github/CODEOWNERS | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/CODEOWNERS b/.github/CODEOWNERS index 78f2deefe22..c2c8da5954b 100644 --- a/.github/CODEOWNERS +++ b/.github/CODEOWNERS @@ -1 +1 @@ -* @zurfyx @fantactuka @acywatson @Fetz @ivailop7 \ No newline at end of file +* @zurfyx @fantactuka @acywatson @Fetz @ivailop7 From 53f6a0188c59539f5d4f009238bab303910b1140 Mon Sep 17 00:00:00 2001 From: sahejkm Date: Wed, 29 May 2024 17:00:12 +0800 Subject: [PATCH 08/10] test name of file --- .github/workflows/after-approval-workflow.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/after-approval-workflow.yml b/.github/workflows/after-approval-workflow.yml index 4029691d06c..8a535a96c4b 100644 --- a/.github/workflows/after-approval-workflow.yml +++ b/.github/workflows/after-approval-workflow.yml @@ -2,7 +2,7 @@ name: After Approval Workflow on: workflow_run: - workflows: ['After Approval'] + workflows: [After Approval] types: - completed From 5010663fb63e9e5103032b9bc2db5e7fdfa7b37f Mon Sep 17 00:00:00 2001 From: sahejkm Date: Wed, 29 May 2024 17:06:23 +0800 Subject: [PATCH 09/10] test --- .github/workflows/after-approval-workflow.yml | 5 +- .github/workflows/after-approval.yml | 2 +- .github/workflows/call-core-tests.yml | 96 ++++++------- .github/workflows/call-e2e-test.yml | 132 +++++++++--------- 4 files changed, 118 insertions(+), 117 deletions(-) diff --git a/.github/workflows/after-approval-workflow.yml b/.github/workflows/after-approval-workflow.yml index 8a535a96c4b..e8bf2fc3cb7 100644 --- a/.github/workflows/after-approval-workflow.yml +++ b/.github/workflows/after-approval-workflow.yml @@ -1,8 +1,9 @@ -name: After Approval Workflow +name: After Approval Add Label Workflow on: workflow_run: - workflows: [After Approval] + workflows: + - AFTER_APPROVAL types: - completed diff --git a/.github/workflows/after-approval.yml b/.github/workflows/after-approval.yml index 8f76779c950..d98847789e1 100644 --- a/.github/workflows/after-approval.yml +++ b/.github/workflows/after-approval.yml @@ -1,4 +1,4 @@ -name: After Approval +name: AFTER_APPROVAL on: pull_request_review: diff --git a/.github/workflows/call-core-tests.yml b/.github/workflows/call-core-tests.yml index bb38f9e9a07..3b13700da30 100644 --- a/.github/workflows/call-core-tests.yml +++ b/.github/workflows/call-core-tests.yml @@ -1,51 +1,51 @@ -name: Lexical Core Tests +# name: Lexical Core Tests -on: - workflow_call: +# on: +# workflow_call: -jobs: - integrity: - runs-on: ubuntu-latest - strategy: - matrix: - node-version: [20.11.0] - env: - CI: true - GITHUB_TOKEN: ${{ secrets.DANGER_GITHUB_API_TOKEN }} - steps: - - uses: actions/checkout@v4 - - name: Use Node.js ${{ matrix.node-version }} - uses: actions/setup-node@v4 - with: - node-version: ${{ matrix.node-version }} - cache: npm - - name: Install dependencies - run: npm ci - - run: npm run ci-check - - run: npm run build - - run: npm run build-www +# jobs: +# integrity: +# runs-on: ubuntu-latest +# strategy: +# matrix: +# node-version: [20.11.0] +# env: +# CI: true +# GITHUB_TOKEN: ${{ secrets.DANGER_GITHUB_API_TOKEN }} +# steps: +# - uses: actions/checkout@v4 +# - name: Use Node.js ${{ matrix.node-version }} +# uses: actions/setup-node@v4 +# with: +# node-version: ${{ matrix.node-version }} +# cache: npm +# - name: Install dependencies +# run: npm ci +# - run: npm run ci-check +# - run: npm run build +# - run: npm run build-www - unit: - runs-on: ubuntu-latest - strategy: - matrix: - node-version: [18.18.0] - override-react-version: ['', 'beta'] - env: - CI: true - steps: - - uses: actions/checkout@v4 - - name: Use Node.js ${{ matrix.node-version }} - uses: actions/setup-node@v4 - with: - node-version: ${{ matrix.node-version }} - cache: npm - - name: Install dependencies - run: npm ci - - name: Install React ${{ matrix.override-react-version }} - if: matrix.override-react-version != '' - # This should be safe since we are caching ~/.npm and not node_modules - run: | - node ./scripts/override-react.js --version=${{ matrix.override-react-version }} - grep version node_modules/{react,react-dom}/package.json - - run: npm run test-unit +# unit: +# runs-on: ubuntu-latest +# strategy: +# matrix: +# node-version: [18.18.0] +# override-react-version: ['', 'beta'] +# env: +# CI: true +# steps: +# - uses: actions/checkout@v4 +# - name: Use Node.js ${{ matrix.node-version }} +# uses: actions/setup-node@v4 +# with: +# node-version: ${{ matrix.node-version }} +# cache: npm +# - name: Install dependencies +# run: npm ci +# - name: Install React ${{ matrix.override-react-version }} +# if: matrix.override-react-version != '' +# # This should be safe since we are caching ~/.npm and not node_modules +# run: | +# node ./scripts/override-react.js --version=${{ matrix.override-react-version }} +# grep version node_modules/{react,react-dom}/package.json +# - run: npm run test-unit diff --git a/.github/workflows/call-e2e-test.yml b/.github/workflows/call-e2e-test.yml index a7ab4e4d4c7..e2f55538706 100644 --- a/.github/workflows/call-e2e-test.yml +++ b/.github/workflows/call-e2e-test.yml @@ -1,68 +1,68 @@ -name: Lexical e2e test runner +# name: Lexical e2e test runner -on: - workflow_call: - inputs: - os: {required: true, type: string} - node-version: {required: true, type: string} - browser: {required: true, type: string} - editor-mode: {required: true, type: string} - events-mode: {required: true, type: string} - prod: {required: false, type: boolean} - override-react-version: {required: false, type: string} +# on: +# workflow_call: +# inputs: +# os: {required: true, type: string} +# node-version: {required: true, type: string} +# browser: {required: true, type: string} +# editor-mode: {required: true, type: string} +# events-mode: {required: true, type: string} +# prod: {required: false, type: boolean} +# override-react-version: {required: false, type: string} -jobs: - e2e-test: - runs-on: ${{ inputs.os }} - if: (inputs.browser != 'webkit' || inputs.os == 'macos-latest') && (inputs.editor-mode != 'rich-text-with-collab' || inputs.events-mode != 'legacy-events') - env: - CI: true - E2E_EDITOR_MODE: ${{ inputs.editor-mode }} - E2E_EVENTS_MODE: ${{ inputs.events-mode }} - OVERRIDE_REACT_VERSION: ${{ inputs.override-react-version }} - cache_playwright_path: ${{ inputs.os == 'macos-latest' && '~/Library/Caches/ms-playwright' || inputs.os == 'windows-latest' && 'C:\Users\runneradmin\AppData\Local\ms-playwright' || '~/.cache/ms-playwright' }} - test_results_path: ${{ inputs.os == 'windows-latest' && '~/.npm/_logs/' || 'test-results/' }} - test_script: test-e2e-${{ inputs.editor-mode == 'rich-text-with-collab' && 'collab-' || '' }}${{ inputs.prod && 'prod-' || '' }}ci-${{ inputs.browser }} - steps: - - uses: actions/checkout@v4 - - name: Use Node.js ${{ inputs.node-version }} - uses: actions/setup-node@v4 - with: - node-version: ${{ inputs.node-version }} - cache: npm - - name: Install required ubuntu-latest packages - if: inputs.os == 'ubuntu-latest' - run: | - sudo apt-get update - sudo apt-get install xvfb - - name: Install dependencies - run: npm ci - - name: Install React ${{ inputs.override-react-version }} - if: inputs.override-react-version != '' - # This should be safe since we are caching ~/.npm and not node_modules - run: | - node ./scripts/override-react.js --version=${{ inputs.override-react-version }} - grep version node_modules/{react,react-dom}/package.json - - name: Restore playwright from cache - uses: actions/cache/restore@v4 - id: playwright-cache - with: - path: ${{ env.cache_playwright_path }} - key: playwright-${{ inputs.node-version }}-${{ runner.os }}-${{ runner.arch }}-v${{ secrets.CACHE_VERSION }}-${{ hashFiles('package-lock.json') }} - - name: Install playwright - run: npx playwright install - - name: Save playwright to cache - uses: actions/cache/save@v4 - if: steps.playwright-cache.outputs.cache-hit != 'true' - with: - path: ${{ env.cache_playwright_path }} - key: ${{ steps.playwright-cache.outputs.cache-primary-key }} - - name: Run tests - run: npm run ${{ env.test_script }} - - name: Upload Artifacts - if: failure() - uses: actions/upload-artifact@v4 - with: - name: Test Results ${{ inputs.os }}-${{ inputs.browser }}-${{ inputs.editor-mode }}-${{ inputs.events-mode }}-${{ inputs.prod && 'prod' || 'dev' }}-${{ inputs.node-version }}-${{ inputs.override-react-version }} - path: ${{ env.test_results_path }} - retention-days: 7 +# jobs: +# e2e-test: +# runs-on: ${{ inputs.os }} +# if: (inputs.browser != 'webkit' || inputs.os == 'macos-latest') && (inputs.editor-mode != 'rich-text-with-collab' || inputs.events-mode != 'legacy-events') +# env: +# CI: true +# E2E_EDITOR_MODE: ${{ inputs.editor-mode }} +# E2E_EVENTS_MODE: ${{ inputs.events-mode }} +# OVERRIDE_REACT_VERSION: ${{ inputs.override-react-version }} +# cache_playwright_path: ${{ inputs.os == 'macos-latest' && '~/Library/Caches/ms-playwright' || inputs.os == 'windows-latest' && 'C:\Users\runneradmin\AppData\Local\ms-playwright' || '~/.cache/ms-playwright' }} +# test_results_path: ${{ inputs.os == 'windows-latest' && '~/.npm/_logs/' || 'test-results/' }} +# test_script: test-e2e-${{ inputs.editor-mode == 'rich-text-with-collab' && 'collab-' || '' }}${{ inputs.prod && 'prod-' || '' }}ci-${{ inputs.browser }} +# steps: +# - uses: actions/checkout@v4 +# - name: Use Node.js ${{ inputs.node-version }} +# uses: actions/setup-node@v4 +# with: +# node-version: ${{ inputs.node-version }} +# cache: npm +# - name: Install required ubuntu-latest packages +# if: inputs.os == 'ubuntu-latest' +# run: | +# sudo apt-get update +# sudo apt-get install xvfb +# - name: Install dependencies +# run: npm ci +# - name: Install React ${{ inputs.override-react-version }} +# if: inputs.override-react-version != '' +# # This should be safe since we are caching ~/.npm and not node_modules +# run: | +# node ./scripts/override-react.js --version=${{ inputs.override-react-version }} +# grep version node_modules/{react,react-dom}/package.json +# - name: Restore playwright from cache +# uses: actions/cache/restore@v4 +# id: playwright-cache +# with: +# path: ${{ env.cache_playwright_path }} +# key: playwright-${{ inputs.node-version }}-${{ runner.os }}-${{ runner.arch }}-v${{ secrets.CACHE_VERSION }}-${{ hashFiles('package-lock.json') }} +# - name: Install playwright +# run: npx playwright install +# - name: Save playwright to cache +# uses: actions/cache/save@v4 +# if: steps.playwright-cache.outputs.cache-hit != 'true' +# with: +# path: ${{ env.cache_playwright_path }} +# key: ${{ steps.playwright-cache.outputs.cache-primary-key }} +# - name: Run tests +# run: npm run ${{ env.test_script }} +# - name: Upload Artifacts +# if: failure() +# uses: actions/upload-artifact@v4 +# with: +# name: Test Results ${{ inputs.os }}-${{ inputs.browser }}-${{ inputs.editor-mode }}-${{ inputs.events-mode }}-${{ inputs.prod && 'prod' || 'dev' }}-${{ inputs.node-version }}-${{ inputs.override-react-version }} +# path: ${{ env.test_results_path }} +# retention-days: 7 From d846c3d2614e81f4a79f2a8a72ed5c5d05f5a44b Mon Sep 17 00:00:00 2001 From: sahejkm Date: Wed, 29 May 2024 17:17:26 +0800 Subject: [PATCH 10/10] test --- .github/workflows/after-approval.yml | 37 ++++++++++++++++++++++++++++ 1 file changed, 37 insertions(+) diff --git a/.github/workflows/after-approval.yml b/.github/workflows/after-approval.yml index d98847789e1..aa276e21297 100644 --- a/.github/workflows/after-approval.yml +++ b/.github/workflows/after-approval.yml @@ -23,3 +23,40 @@ jobs: with: name: pr_number path: pr/ + - name: 'Download artifact' + uses: actions/github-script@v6 + with: + script: | + let allArtifacts = await github.rest.actions.listWorkflowRunArtifacts({ + owner: context.repo.owner, + repo: context.repo.repo, + run_id: context.payload.workflow_run.id, + }); + let matchArtifact = allArtifacts.data.artifacts.filter((artifact) => { + return artifact.name == "pr_number" + })[0]; + let download = await github.rest.actions.downloadArtifact({ + owner: context.repo.owner, + repo: context.repo.repo, + artifact_id: matchArtifact.id, + archive_format: 'zip', + }); + let fs = require('fs'); + fs.writeFileSync(`${process.env.GITHUB_WORKSPACE}/pr_number.zip`, Buffer.from(download.data)); + + - name: 'Unzip artifact' + run: unzip pr_number.zip + + - name: 'Comment on PR' + uses: actions/github-script@v6 + with: + github-token: ${{ secrets.LEXICAL_BOT_TOKEN }} + script: | + let fs = require('fs'); + let issue_number = Number(fs.readFileSync('./pr_number')); + await github.rest.issues.addLabel({ + owner: context.repo.owner, + repo: context.repo.repo, + issue_number: issue_number, + labels: ['extended-tests'], + });