forked from ethereum/go-ethereum
-
Notifications
You must be signed in to change notification settings - Fork 2
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
feat: signed commit when renaming upstream module
- Loading branch information
Showing
1 changed file
with
24 additions
and
30 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,13 +1,6 @@ | ||
name: Rename Go module | ||
|
||
on: | ||
# During development, the next two lines MAY be enabled to have the PR | ||
# automatically run this workflow for inspection of the resulting branch. | ||
# However, they MUST be disabled again before merging otherwise *all* PRs will | ||
# run this. | ||
# | ||
# pull_request: | ||
# branches: [ main ] | ||
workflow_dispatch: | ||
inputs: | ||
source_commit: | ||
|
@@ -19,18 +12,23 @@ on: | |
jobs: | ||
rename-module: | ||
runs-on: ubuntu-latest | ||
env: | ||
source_commit: "${{ inputs.source_commit || '2bd6bd01d2e8561dd7fc21b631f4a34ac16627a1' }}" | ||
# env variables cannot reference others so we have to duplicate the || | ||
output_branch: "${{ github.ref_name }}_auto-rename-module-${{ inputs.source_commit || '2bd6bd01d2e8561dd7fc21b631f4a34ac16627a1' }}" | ||
steps: | ||
- uses: actions/checkout@v4 | ||
with: | ||
fetch-depth: 0 # everything | ||
fetch-tags: true | ||
|
||
- name: Set variables | ||
id: vars | ||
# Including hashes of both the source commit and the workflow file makes | ||
# this idempotent. | ||
env: | ||
WORKFLOW_HASH: ${{ hashFiles('.github/workflows/rename-module.yml') }} | ||
run: | | ||
echo "DEST_BRANCH=auto-rename-module_source-${{ inputs.source_commit }}_workflow-${WORKFLOW_HASH}" \ | ||
>> "$GITHUB_OUTPUT"; | ||
- name: Check out source commit | ||
run: git checkout ${{ env.source_commit }} | ||
run: git checkout ${{ inputs.source_commit }} | ||
|
||
- name: Globally update module name | ||
run: | | ||
|
@@ -60,22 +58,18 @@ jobs: | |
go build ./...; | ||
go test ./accounts/abi/bind ./rlp/rlpgen | ||
- name: Commit to new branch | ||
uses: devops-infra/action-commit-push@8bc2ff9f9de7aa2a7581fc7e5b6401c04cab54c7 | ||
with: | ||
github_token: ${{ secrets.GITHUB_TOKEN }} | ||
target_branch: ${{ env.output_branch }} | ||
force: true | ||
commit_prefix: "[AUTO] rename Go module + update internal import paths" | ||
- name: Create new branch | ||
env: | ||
BRANCH: ${{ steps.vars.outputs.DEST_BRANCH }} | ||
run: | | ||
git checkout -b "${BRANCH}"; | ||
git push origin "${BRANCH}"; | ||
- name: Open PR to "renamed-go-module" iff workflow dispatched on "main" | ||
# If we are changing the way in which we manage module renaming then it | ||
# MUST go through PR review to main; only then can it open PRs. | ||
if: github.event_name == 'workflow_dispatch' && github.ref == 'refs/heads/main' | ||
uses: devops-infra/[email protected] | ||
- name: Commit to new branch | ||
uses: planetscale/[email protected] | ||
env: | ||
GITHUB_TOKEN: ${{secrets.GITHUB_TOKEN}} | ||
with: | ||
github_token: ${{ secrets.GITHUB_TOKEN }} | ||
source_branch: ${{ env.output_branch }} | ||
target_branch: renamed-go-module | ||
title: "[AUTO] Rename upstream Go module at `${{ env.source_commit }}`" | ||
body: "_PR generated by GitHub Action_" | ||
commit_message: "[AUTO] rename Go module + update internal import paths" | ||
repo: ${{ github.repository }} | ||
branch: ${{ steps.vars.outputs.DEST_BRANCH }} |