Skip to content

feat: GitHub action to rename module #12

feat: GitHub action to rename module

feat: GitHub action to rename module #12

Workflow file for this run

name: Rename Go module
on:
pull_request: # DO NOT MERGE WITH ANYTHING OTHER THAN workflow_dispatch
branches: [ main ]
workflow_dispatch:
inputs:
source_commit:
description: 'Upstream commit on which to base module renaming'
required: true
type: string
default: ''
jobs:
rename-module:
runs-on: ubuntu-latest
env:
source_commit: ${{ inputs.source_commit || '2bd6bd01d2e8561dd7fc21b631f4a34ac16627a1' }}
output_branch: "${{ github.ref_name }}_auto-rename-module-${{ env.source_commit }}"

Check failure on line 19 in .github/workflows/rename-module.yml

View workflow run for this annotation

GitHub Actions / Rename Go module

Invalid workflow file

The workflow is not valid. .github/workflows/rename-module.yml (Line: 19, Col: 22): Unrecognized named-value: 'env'. Located at position 1 within expression: env.source_commit
steps:
- uses: actions/checkout@v4
with:
fetch-depth: 0 # everything
fetch-tags: true
- name: Check out source commit `{{ $env.source_commit }}`
run: git checkout ${{ env.source_commit }}
- name: Globally update module name
run: |
go mod edit -module github.com/ava-labs/libevm;
find . -iname '*.go' -o -iname '*.txt' | xargs sed -i -E \
's|(["`]github\.com/)ethereum/go-ethereum|\1ava-labs/libevm|g';
- name: Remnant references
run: |
find . -type f | \
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: Smoke tests
# `go list` shows us the module name
# `go build` is a rudimentary but broad test of correctness
# The explicitly tested packages are edge cases:
# - bind creates 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: Commit to ${{ env.output_branch }} 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: Open PR to "renamed-go-module" iff workflow dispatched on "main"
if: github.event_name == 'workflow_dispatch' && github.ref != 'refs/heads/main'
uses: devops-infra/[email protected]
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_"