From 9677b5ae1e73cce9c063815e18c9a9aaa1a858eb Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 17 Mar 2021 14:14:08 +0000 Subject: [PATCH 1/2] Bump ts-jest from 26.5.3 to 26.5.4 Bumps [ts-jest](https://github.com/kulshekhar/ts-jest) from 26.5.3 to 26.5.4. - [Release notes](https://github.com/kulshekhar/ts-jest/releases) - [Changelog](https://github.com/kulshekhar/ts-jest/blob/master/CHANGELOG.md) - [Commits](https://github.com/kulshekhar/ts-jest/compare/v26.5.3...v26.5.4) Signed-off-by: dependabot[bot] --- yarn.lock | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/yarn.lock b/yarn.lock index dc1ab338..e46f4367 100644 --- a/yarn.lock +++ b/yarn.lock @@ -4637,9 +4637,9 @@ trim-right@^1.0.1: integrity sha1-yy4SAwZ+DI3h9hQJS5/kVwTqYAM= ts-jest@^26.1.0: - version "26.5.3" - resolved "https://registry.yarnpkg.com/ts-jest/-/ts-jest-26.5.3.tgz#a6ee00ba547be3b09877550df40a1465d0295554" - integrity sha512-nBiiFGNvtujdLryU7MiMQh1iPmnZ/QvOskBbD2kURiI1MwqvxlxNnaAB/z9TbslMqCsSbu5BXvSSQPc5tvHGeA== + version "26.5.4" + resolved "https://registry.yarnpkg.com/ts-jest/-/ts-jest-26.5.4.tgz#207f4c114812a9c6d5746dd4d1cdf899eafc9686" + integrity sha512-I5Qsddo+VTm94SukBJ4cPimOoFZsYTeElR2xy6H2TOVs+NsvgYglW8KuQgKoApOKuaU/Ix/vrF9ebFZlb5D2Pg== dependencies: bs-logger "0.x" buffer-from "1.x" From 830dded10ef4a407c80a766a4ec77a228cbdccda Mon Sep 17 00:00:00 2001 From: Nikolay Blagoev Date: Wed, 17 Mar 2021 16:51:22 +0200 Subject: [PATCH 2/2] Save the PR number during build and use it for the approval action if dependabot is making a PR --- .github/workflows/build-pr.yml | 10 +++++ .github/workflows/dependabot-pr.yml | 60 ++++++++++++++--------------- 2 files changed, 39 insertions(+), 31 deletions(-) diff --git a/.github/workflows/build-pr.yml b/.github/workflows/build-pr.yml index 8ea280f0..92673fb4 100644 --- a/.github/workflows/build-pr.yml +++ b/.github/workflows/build-pr.yml @@ -23,3 +23,13 @@ jobs: env: CI: true - run: ./node_modules/.bin/codecov -f coverage/*.json + - name: Save PR number + if: ${{ github.actor == 'dependabot[bot]' }} + run: | + mkdir -p ./pr + echo ${{ github.event.number }} > ./pr/number + - uses: actions/upload-artifact@v2 + if: ${{ github.actor == 'dependabot[bot]' }} + with: + name: pr + path: pr/ diff --git a/.github/workflows/dependabot-pr.yml b/.github/workflows/dependabot-pr.yml index 7ebc7442..039e873c 100644 --- a/.github/workflows/dependabot-pr.yml +++ b/.github/workflows/dependabot-pr.yml @@ -1,7 +1,7 @@ name: dependabot-pr on: workflow_run: - workflows: ["build-pr", "lint-pr"] + workflows: ["build-pr"] types: - completed jobs: @@ -13,41 +13,39 @@ jobs: github.event.workflow_run.conclusion == 'success' && github.actor == 'dependabot[bot]' }} steps: - - name: Approve - uses: actions/github-script@v2 + - name: 'Download artifact' + uses: actions/github-script@v3 + with: + script: | + var artifacts = await github.actions.listWorkflowRunArtifacts({ + owner: context.repo.owner, + repo: context.repo.repo, + run_id: ${{github.event.workflow_run.id }}, + }); + var matchArtifact = artifacts.data.artifacts.filter(artifact => artifact.name == "pr")[0]; + var download = await github.actions.downloadArtifact({ + owner: context.repo.owner, + repo: context.repo.repo, + artifact_id: matchArtifact.id, + archive_format: 'zip', + }); + + var fs = require('fs'); + fs.writeFileSync('${{github.workspace}}/pr.zip', Buffer.from(download.data)); + - run: unzip pr.zip + - name: Approve PR + uses: actions/github-script@v3 with: github-token: ${{ secrets.GITHUB_TOKEN }} script: | - const { pull_request: pr, repository: repo } = context.payload + var fs = require('fs'); + var pr_number = Number(fs.readFileSync('./number')); - core.debug(`Creating APPROVE review for pull request #${pr.number}`) + core.debug(`Creating APPROVE review for pull request #${pr_number}`) await github.pulls.createReview({ - owner: repo.owner.login, - repo: repo.name, - pull_number: pr.number, + owner: context.repo.owner, + repo: context.repo.repo, + pull_number: pr_number, event: "APPROVE" }) core.debug(`Approved pull request #${pr.number}`) - - # Handled by GitHub's auto-merge feature - # - # automerge: - # name: Merge pull request - # runs-on: ubuntu-latest - # needs: autoapprove - # if: github.base_ref == 'master' && github.actor == 'dependabot[bot]' - # steps: - # - name: Merge - # uses: actions/github-script@v2 - # with: - # github-token: ${{ secrets.GITHUB_TOKEN }} - # script: | - # const { pull_request: pr, repository: repo } = context.payload - - # core.debug(`Merging pull request #${pr.number}`) - # await github.pulls.merge({ - # owner: repo.owner.login, - # repo: repo.name, - # pull_number: pr.number - # }) - # core.debug(`Merged pull request #${pr.number}`)