diff --git a/.github/CODEOWNERS b/.github/CODEOWNERS new file mode 100644 index 0000000000000..21f1400916aee --- /dev/null +++ b/.github/CODEOWNERS @@ -0,0 +1 @@ +* @eth-bot diff --git a/.github/workflows/auto-merge-bot.yml b/.github/workflows/auto-merge-bot.yml deleted file mode 100644 index 972b49723d9cc..0000000000000 --- a/.github/workflows/auto-merge-bot.yml +++ /dev/null @@ -1,26 +0,0 @@ -on: [ pull_request_target ] -name: Auto-Merge Bot -jobs: - auto_merge_bot: - runs-on: ubuntu-latest - name: EIP Auto-Merge Bot - if: github.repository == 'ethereum/eips' - steps: - - name: Checkout - uses: actions/checkout@v2 - - name: Setup Node.js Environment - uses: actions/setup-node@v2 - with: - node-version: '14' - - name: auto-merge-bot - uses: ethereum/EIP-Bot@16ab13b9d6ce0ba7404afc4a75f2da9e3db69dbb # master - id: auto-merge-bot - with: - GITHUB-TOKEN: ${{ secrets.TOKEN }} - CORE_EDITORS: "@lightclient,@axic,@gcolvin,@SamWilsn,@Pandapip1" - ERC_EDITORS: "@lightclient,@axic,@SamWilsn,@Pandapip1" - NETWORKING_EDITORS: "@lightclient,@axic,@SamWilsn" - INTERFACE_EDITORS: "@lightclient,@axic,@SamWilsn,@Pandapip1" - META_EDITORS: "@lightclient,@axic,@gcolvin,@SamWilsn,@Pandapip1" - INFORMATIONAL_EDITORS: "@lightclient,@axic,@gcolvin,@SamWilsn,@Pandapip1" - MAINTAINERS: "@alita-moore,@mryalamanchi" diff --git a/.github/workflows/auto-review-bot.yml b/.github/workflows/auto-review-bot.yml new file mode 100644 index 0000000000000..32b23f5b10004 --- /dev/null +++ b/.github/workflows/auto-review-bot.yml @@ -0,0 +1,60 @@ +on: + workflow_run: + workflows: + - Auto Review Bot Trigger + types: + - completed + +name: Auto Review Bot +jobs: + auto-review-bot: + runs-on: ubuntu-latest + name: Run + steps: + - name: Fetch PR Number + uses: dawidd6/action-download-artifact@6765a42d86407a3d532749069ac03705ad82ebc6 + with: + name: pr-number + workflow: auto-review-trigger.yml + run_id: ${{ github.event.workflow_run.id }} + + - name: Save PR Number + id: save-pr-number + run: echo "::set-output name=pr::$(cat pr-number.txt)" + + - name: Checkout + uses: actions/checkout@2541b1294d2704b0964813337f33b291d3f8596b + with: + repository: ethereum/EIPs # Default, but best to be explicit here + ref: master + + - name: Setup Node.js Environment + uses: actions/setup-node@2fddd8803e2f5c9604345a0b591c3020ee971a93 + with: + node-version: 14 + + - name: Auto Review Bot + id: auto-review-bot + uses: ethereum/EIP-Bot@252101922c71d76a422d9b2c04875f88cd6494d9 + with: + GITHUB-TOKEN: ${{ secrets.TOKEN }} + PR_NUMBER: ${{ steps.save-pr-number.outputs.pr }} + CORE_EDITORS: '@MicahZoltu,@lightclient,@axic,@gcolvin,@SamWilsn,@Pandapip1' + ERC_EDITORS: '@lightclient,@axic,@SamWilsn,@Pandapip1' + NETWORKING_EDITORS: '@MicahZoltu,@lightclient,@axic,@SamWilsn' + INTERFACE_EDITORS: '@lightclient,@axic,@SamWilsn,@Pandapip1' + META_EDITORS: '@lightclient,@axic,@gcolvin,@SamWilsn,@Pandapip1' + INFORMATIONAL_EDITORS: '@lightclient,@axic,@gcolvin,@SamWilsn,@Pandapip1' + MAINTAINERS: '@alita-moore,@mryalamanchi' + + - name: Enable Auto-Merge + uses: reitermarkus/automerge@a25ea0de41019ad13380d22e01db8f5638f1bcdc + with: + token: ${{ secrets.TOKEN }} + pull-request: ${{ steps.save-pr-number.outputs.pr }} + + - name: Submit Approval + uses: hmarr/auto-approve-action@24ec4c8cc344fe1cdde70ff37e55ace9e848a1d8 + with: + github-token: ${{ secrets.TOKEN }} + pull-request-number: ${{ steps.save-pr-number.outputs.pr }} diff --git a/.github/workflows/auto-review-trigger.yml b/.github/workflows/auto-review-trigger.yml new file mode 100644 index 0000000000000..39f095b5a480f --- /dev/null +++ b/.github/workflows/auto-review-trigger.yml @@ -0,0 +1,66 @@ +on: + pull_request_target: + types: + - opened + - reopened + - synchronize + pull_request_review: + types: + - submitted + - dismissed + workflow_dispatch: + inputs: + pr_number: + description: Pull Request Number + type: string + required: true + +name: Auto Review Bot Trigger +jobs: + pull-request: + runs-on: ubuntu-latest + name: Pull Request + if: github.event_name == 'pull_request_target' + steps: + - name: Write PR Number + run: echo $PR_NUMBER > pr-number.txt + env: + PR_NUMBER: ${{ github.event.number }} + + - name: Save PR Number + uses: actions/upload-artifact@3cea5372237819ed00197afe530f5a7ea3e805c8 + with: + name: pr-number + path: pr-number.txt + + pr-review: + runs-on: ubuntu-latest + name: Review + if: github.event_name == 'pull_request_review' && github.event.review.sender != 'eth-bot' && github.event.review.state == 'approved' + steps: + - name: Write PR Number + run: echo $PR_NUMBER > pr-number.txt + env: + PR_NUMBER: ${{ github.event.pull_request.number }} + + - name: Save PR Number + uses: actions/upload-artifact@3cea5372237819ed00197afe530f5a7ea3e805c8 + with: + name: pr-number + path: pr-number.txt + + dispatch: + runs-on: ubuntu-latest + name: Dispatch + if: github.event_name == 'workflow_dispatch' + steps: + - name: Write PR Number + run: echo $PR_NUMBER > pr-number.txt + env: + PR_NUMBER: ${{ inputs.pr_number }} + + - name: Save PR Number + uses: actions/upload-artifact@3cea5372237819ed00197afe530f5a7ea3e805c8 + with: + name: pr-number + path: pr-number.txt diff --git a/.github/workflows/enable-automerge.yml b/.github/workflows/enable-automerge.yml deleted file mode 100644 index 17d81bae1bc6a..0000000000000 --- a/.github/workflows/enable-automerge.yml +++ /dev/null @@ -1,13 +0,0 @@ -name: Automerge - -on: - pull_request_target: - -jobs: - automerge: - runs-on: ubuntu-latest - steps: - - uses: reitermarkus/automerge@a25ea0de41019ad13380d22e01db8f5638f1bcdc - with: - token: ${{ secrets.TOKEN }} - pull-request: ${{ github.event.number }} diff --git a/.github/workflows/manual-bot-rerun.yml b/.github/workflows/manual-bot-rerun.yml deleted file mode 100644 index 3b9e737381370..0000000000000 --- a/.github/workflows/manual-bot-rerun.yml +++ /dev/null @@ -1,36 +0,0 @@ -name: Manual Bot Rerun -on: - workflow_dispatch: - inputs: - pullRequestNumber: - description: "PR number (with the run you'd like to re-run)" - required: true - eventType: - description: "event type (of the run you want to re-run)" - required: true - default: "pull_request_target" - idOfBotWorkflow: - description: "id of the bot workflow (just leave as default if you don't know)" - required: true - default: "6519716" - -jobs: - rerun-bot: - if: github.repository == 'ethereum/eips' - runs-on: ubuntu-latest - name: Manual Bot Rerun - steps: - - name: Checkout - uses: actions/checkout@v2 - - name: Setup Node.js Environment - uses: actions/setup-node@v2 - with: - node-version: '14' - - name: rerun-workflow - uses: ethereum/EIP-Bot@90d0591e71314dc1430c6cde91bb787e185e0b4b # manual-bot-rerun - id: rerun-workflow - with: - GITHUB-TOKEN: ${{ secrets.TOKEN }} - PULL-NUMBER: ${{github.event.inputs.pullRequestNumber }} - ID-TO-RERUN: ${{ github.event.inputs.idOfBotWorkflow }} - EVENT-TYPE: ${{ github.event.inputs.eventType }} diff --git a/.github/workflows/rerun-bot-pull-request-review.yml b/.github/workflows/rerun-bot-pull-request-review.yml deleted file mode 100644 index 86946b7605baa..0000000000000 --- a/.github/workflows/rerun-bot-pull-request-review.yml +++ /dev/null @@ -1,16 +0,0 @@ -name: Trigger Auto Merge Bot Re-Run - -on: - pull_request_review: - types: [ submitted ] - -jobs: - rerun_bot_on_review: - name: Trigger Auto Merge Bot Re-Run - - runs-on: ubuntu-latest - if: github.repository == 'ethereum/eips' - - steps: - - name: Explanation - run: echo 'This bot is used to trigger another workflow using the workflow_run github event. This is necessary because forked PRs do not have access to repo secrets. Normally, this is circumvented using the pull_request_target event, but because GitHub actions does not trigger that event on review, a hack is required to allow that behavior. This workaround will no longer be necessary if GitHub ever implements a pull_request_review_target or something similar.' diff --git a/.github/workflows/rerun-bot-workflow-run.yml b/.github/workflows/rerun-bot-workflow-run.yml deleted file mode 100644 index 892a0ad841a69..0000000000000 --- a/.github/workflows/rerun-bot-workflow-run.yml +++ /dev/null @@ -1,28 +0,0 @@ -name: Workflow run re-run auto-merge-bot on review -on: - workflow_run: - workflows: - - Rerun Bot - types: - - requested - -jobs: - rerun-bot: - if: github.repository == 'ethereum/eips' - runs-on: ubuntu-latest - name: Rerun Bot (workflow_run) - steps: - - name: Checkout - uses: actions/checkout@v2 - - name: Setup Node.js Environment - uses: actions/setup-node@v2 - with: - node-version: '14' - - name: auto-merge-bot - uses: ethereum/EIP-Bot@1f05ace5691062379bd910aa27402eecb8f295ac # rerun-pull-request-target-on-review - id: rerun-auto-merge-bot - with: - GITHUB-TOKEN: ${{ secrets.TOKEN }} - WORKFLOW-ID: ${{github.event.workflow_run.id}} - ID-TO-RERUN: "6519716" - RUN-EVENT-TYPE: "pull_request_target" diff --git a/EIPS/eip-5069.md b/EIPS/eip-5069.md index 7a91f070ce67d..f951f947576ac 100644 --- a/EIPS/eip-5069.md +++ b/EIPS/eip-5069.md @@ -11,14 +11,17 @@ requires: 1 --- ## Abstract + An Ethereum Improvement Proposal (EIP) is a design document providing information to the Ethereum community, or describing a new feature for Ethereum or its processes or environment. The EIP standardization process is a mechanism for proposing new features, for collecting community technical input on an issue, and for documenting the design decisions that have gone into Ethereum. Because improvement proposals are key components of Ethereum blockchain, it is important that they are well reviewed before reaching `Final` status. EIPs are stored in text files in a versioned repository which is monitored by the EIP editors. This EIP describes the recommended process for becoming an EIP editor. ## Specification + The key words “MUST”, “MUST NOT”, “REQUIRED”, “SHALL”, “SHALL NOT”, “SHOULD”, “SHOULD NOT”, “RECOMMENDED”, “MAY”, and “OPTIONAL” in this document are to be interpreted as described in RFC 2119. ### Application and Onboarding Process + Anyone having a good understanding of the EIP standardization and network upgrade process, intermediate level experience on the core and/or application side of the Ethereum blockchain, and willingness to contribute to the process management MAY apply to become an EIP editor. Potential EIP editors SHOULD have the following skills: - Good communication skills - Ability to handle contentious discourse @@ -41,10 +44,10 @@ index 79558a3..079b196 100644 Emeritus EIP editors are -diff --git a/.github/workflows/auto-merge-bot.yml b/.github/workflows/auto-merge-bot.yml +diff --git a/.github/workflows/auto-review-bot.yml b/.github/workflows/auto-review-bot.yml index 5730343..3d162ea 100644 ---- a/.github/workflows/auto-merge-bot.yml -+++ b/.github/workflows/auto-merge-bot.yml +--- a/.github/workflows/auto-review-bot.yml ++++ b/.github/workflows/auto-review-bot.yml @@ -17,12 +17,12 @@ jobs: id: auto-merge-bot with: @@ -62,16 +65,17 @@ index 5730343..3d162ea 100644 + META_EDITORS: "@lightclient,@axic,@gcolvin,@SamWilsn" + INFORMATIONAL_EDITORS: "@lightclient,@axic,@gcolvin,@SamWilsn" MAINTAINERS: "@alita-moore,@mryalamanchi" - enable-auto-merge: - if: github.repository == 'ethereum/eips' ``` ### Special Merging Rules for this EIP + This EIP MUST have the same rules regarding changes as [EIP-1](./eip-1.md). ## Rationale + - "6 months" was chosen as the cutoff for denoting `Stagnant` EIPs terminally-`Stagnant` arbitrarily. - This EIP requires special merging rules for the same reason [EIP-1](./eip-1.md) does. ## Copyright + Copyright and related rights waived via [CC0](../LICENSE.md).