Skip to content

Commit

Permalink
feat: signed commit when renaming upstream module
Browse files Browse the repository at this point in the history
  • Loading branch information
ARR4N committed Oct 16, 2024
1 parent 21122c0 commit ee74645
Showing 1 changed file with 37 additions and 21 deletions.
58 changes: 37 additions & 21 deletions .github/workflows/rename-module.yml
Original file line number Diff line number Diff line change
Expand Up @@ -21,14 +21,22 @@ jobs:
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-${{ env.source_commit }}_workflow-${WORKFLOW_HASH}" \
>> "$GITHUB_OUTPUT";
- name: Check out source commit
run: git checkout ${{ env.source_commit }}

Expand All @@ -44,29 +52,37 @@ jobs:
xargs grep -In github.com/ethereum/go-ethereum | \
grep -v "https://github.com/ethereum/go-ethereum"
- name: Set up Go
uses: actions/setup-go@v5
with:
go-version: 1.21.4
# - name: Set up Go
# uses: actions/setup-go@v5
# with:
# go-version: 1.21.4

- name: Smoke tests
# `go list` shows us the module name and grep will non-zero exit on mismatch
# `go build` is a rudimentary but broad test of correctness
# The explicitly tested packages are edge cases:
# - bind generates tests and a go.mod on the fly
# - rlpgen has testdata with imports that need updating
# - name: Smoke tests
# # `go list` shows us the module name and grep will non-zero exit on mismatch
# # `go build` is a rudimentary but broad test of correctness
# # The explicitly tested packages are edge cases:
# # - bind generates tests and a go.mod on the fly
# # - rlpgen has testdata with imports that need updating
# run: |
# go list . | grep ava-labs/libevm;
# go build ./...;
# go test ./accounts/abi/bind ./rlp/rlpgen

- name: Create new branch
env:
BRANCH: ${{ steps.vars.outputs.DEST_BRANCH }}
run: |
go list . | grep ava-labs/libevm;
go build ./...;
go test ./accounts/abi/bind ./rlp/rlpgen
git checkout -b "${BRANCH}";
git push origin "${BRANCH}";
- name: Commit to new branch
uses: devops-infra/action-commit-push@8bc2ff9f9de7aa2a7581fc7e5b6401c04cab54c7
uses: planetscale/[email protected]
env:
GITHUB_TOKEN: ${{secrets.GITHUB_TOKEN}}
with:
github_token: ${{ secrets.GITHUB_TOKEN }}
target_branch: ${{ env.output_branch }}
force: true
commit_prefix: "[AUTO] rename Go module + update internal import paths"
commit_message: "[AUTO] rename Go module + update internal import paths"
repo: ${{ github.repository }}
branch: ${{ steps.vars.outputs.DEST_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
Expand All @@ -75,7 +91,7 @@ jobs:
uses: devops-infra/[email protected]
with:
github_token: ${{ secrets.GITHUB_TOKEN }}
source_branch: ${{ env.output_branch }}
source_branch: ${{ steps.vars.outputs.DEST_BRANCH }}
target_branch: renamed-go-module
title: "[AUTO] Rename upstream Go module at `${{ env.source_commit }}`"
body: "_PR generated by GitHub Action_"

0 comments on commit ee74645

Please sign in to comment.