From d973a6e9926246438da16d0185f59a85ca03d55c Mon Sep 17 00:00:00 2001 From: claravanstaden Date: Thu, 4 Jul 2024 11:40:22 +0200 Subject: [PATCH 01/16] release relayer --- .github/workflows/release-relayer.yml | 110 ++++++++++++++++++++++++++ 1 file changed, 110 insertions(+) create mode 100644 .github/workflows/release-relayer.yml diff --git a/.github/workflows/release-relayer.yml b/.github/workflows/release-relayer.yml new file mode 100644 index 0000000000..42b56b2442 --- /dev/null +++ b/.github/workflows/release-relayer.yml @@ -0,0 +1,110 @@ +name: relayer + +on: + push: + branches: + - main + - release-v1.0.0 + - clara/release-relayer + workflow_dispatch: + +jobs: + build: + runs-on: snowbridge-runner + timeout-minutes: 15 + steps: + - uses: actions/checkout@v1 + with: + fetch-depth: 2 + + - name: Set up Node.js + uses: actions/setup-node@v2 + with: + node-version: '14' + + - name: Setup go + uses: actions/checkout@v4 + with: + go-version: '^1.21.0' + + - name: Install Go tools + run: > + go install github.com/magefile/mage@v1.15.0 && + go install github.com/ferranbt/fastssz/sszgen@v0.1.3 + go install github.com/ethereum/go-ethereum/cmd/abigen@latest + + - name: Install Foundry + uses: foundry-rs/foundry-toolchain@v1 + + - name: Build contracts + working-directory: contracts + run: forge build + + - name: install dependencies + working-directory: relayer + run: go mod download + + - name: Add gopath to bin + run: echo "$HOME/go/bin" >> $GITHUB_PATH + + - name: build + working-directory: relayer + run: mage build + + - name: Configure Git + run: | + git config --global user.name 'github-actions' + git config --global user.email 'github-actions@github.com' + + - name: Create a new release version + id: new_version + run: | + current_version=$(git describe --tags $(git rev-list --tags --max-count=1) 2>/dev/null || echo "") + echo "Current version: $current_version" + + # If there is no current version, set it to v1.0.0 + if [ -z "$current_version" ]; then + new_version="v1.0.0" + else + new_version=$(npx semver $current_version -i patch) + fi + + echo "New version: $new_version" + echo ::set-output name=version::$new_version + git tag $new_version + + - name: Create new tag + id: create_tag + run: | + tag_name="${{ steps.branch_name.outputs.branch }}-${{ steps.new_version.outputs.version }}" + echo "Tag name: $tag_name" + echo ::set-output name=tag::$tag_name + git tag $tag_name + + - name: Push new tag + run: | + git push origin --tags + + - name: Create a GitHub Release + id: create_release + uses: actions/create-release@v1 + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + with: + tag_name: ${{ steps.create_tag.outputs.tag }} + release_name: ${{ steps.create_tag.outputs.tag }} + body: | + Changes in this release: + - ... + draft: false + prerelease: false + + - name: Upload Release Asset + uses: actions/upload-release-asset@v1 + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + with: + upload_url: ${{ steps.create_release.outputs.upload_url }} + asset_path: ./relayer/build + asset_name: snowbridge-relay + asset_content_type: application/octet-stream From 6ddce67a4b1b442fc96a64b71bff424dd30310df Mon Sep 17 00:00:00 2001 From: claravanstaden Date: Thu, 4 Jul 2024 11:45:08 +0200 Subject: [PATCH 02/16] fix dep --- .github/workflows/release-relayer.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/release-relayer.yml b/.github/workflows/release-relayer.yml index 42b56b2442..52522eb029 100644 --- a/.github/workflows/release-relayer.yml +++ b/.github/workflows/release-relayer.yml @@ -31,7 +31,7 @@ jobs: run: > go install github.com/magefile/mage@v1.15.0 && go install github.com/ferranbt/fastssz/sszgen@v0.1.3 - go install github.com/ethereum/go-ethereum/cmd/abigen@latest + go install github.com/ethereum/go-ethereum/cmd/abigen@v1.13.15 - name: Install Foundry uses: foundry-rs/foundry-toolchain@v1 From 7cc8013205743842140cd4971a9c5b40938ebb27 Mon Sep 17 00:00:00 2001 From: claravanstaden Date: Thu, 4 Jul 2024 11:47:28 +0200 Subject: [PATCH 03/16] missing && --- .github/workflows/release-relayer.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/release-relayer.yml b/.github/workflows/release-relayer.yml index 52522eb029..c907ae1836 100644 --- a/.github/workflows/release-relayer.yml +++ b/.github/workflows/release-relayer.yml @@ -30,7 +30,7 @@ jobs: - name: Install Go tools run: > go install github.com/magefile/mage@v1.15.0 && - go install github.com/ferranbt/fastssz/sszgen@v0.1.3 + go install github.com/ferranbt/fastssz/sszgen@v0.1.3 && go install github.com/ethereum/go-ethereum/cmd/abigen@v1.13.15 - name: Install Foundry @@ -40,14 +40,14 @@ jobs: working-directory: contracts run: forge build - - name: install dependencies + - name: Install dependencies working-directory: relayer run: go mod download - name: Add gopath to bin run: echo "$HOME/go/bin" >> $GITHUB_PATH - - name: build + - name: Build working-directory: relayer run: mage build From de673dbc1f29a231c5404b2cc5ba03583ebe3d4b Mon Sep 17 00:00:00 2001 From: claravanstaden Date: Thu, 4 Jul 2024 14:09:38 +0200 Subject: [PATCH 04/16] fix tag --- .github/workflows/release-relayer.yml | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/.github/workflows/release-relayer.yml b/.github/workflows/release-relayer.yml index c907ae1836..669edf0869 100644 --- a/.github/workflows/release-relayer.yml +++ b/.github/workflows/release-relayer.yml @@ -9,7 +9,7 @@ on: workflow_dispatch: jobs: - build: + release-relayer: runs-on: snowbridge-runner timeout-minutes: 15 steps: @@ -56,27 +56,27 @@ jobs: git config --global user.name 'github-actions' git config --global user.email 'github-actions@github.com' - - name: Create a new release version + - name: Determine new version id: new_version run: | - current_version=$(git describe --tags $(git rev-list --tags --max-count=1) 2>/dev/null || echo "") + # Get the most recent tag in the format relayer-- + current_version=$(git tag --list "relayer-${{ steps.branch_name.outputs.branch }}-*" --sort=-v:refname | head -n 1 | sed -E 's/relayer-${{ steps.branch_name.outputs.branch }}-//') echo "Current version: $current_version" - # If there is no current version, set it to v1.0.0 + # If there is no current version, set it to 1.0.0 if [ -z "$current_version" ]; then - new_version="v1.0.0" + new_version="1.0.0" else - new_version=$(npx semver $current_version -i patch) + new_version=$(npx semver $current_version -i patch) fi - + echo "New version: $new_version" echo ::set-output name=version::$new_version - git tag $new_version - name: Create new tag id: create_tag run: | - tag_name="${{ steps.branch_name.outputs.branch }}-${{ steps.new_version.outputs.version }}" + tag_name="relayer-${{ steps.branch_name.outputs.branch }}-${{ steps.new_version.outputs.version }}" echo "Tag name: $tag_name" echo ::set-output name=tag::$tag_name git tag $tag_name From fbfcb740df487b4011a64c41f3ca72be66f3855c Mon Sep 17 00:00:00 2001 From: claravanstaden Date: Thu, 4 Jul 2024 14:36:58 +0200 Subject: [PATCH 05/16] fix tag namae --- .github/workflows/release-relayer.yml | 65 +++++++++++++++------------ 1 file changed, 36 insertions(+), 29 deletions(-) diff --git a/.github/workflows/release-relayer.yml b/.github/workflows/release-relayer.yml index 669edf0869..3348da1295 100644 --- a/.github/workflows/release-relayer.yml +++ b/.github/workflows/release-relayer.yml @@ -56,6 +56,13 @@ jobs: git config --global user.name 'github-actions' git config --global user.email 'github-actions@github.com' + - name: Determine branch name + id: branch_name + run: | + branch_name=${GITHUB_REF#refs/heads/} + echo "Branch name: $branch_name" + echo "{branch}={$branch_name}" >> $GITHUB_OUTPUT + - name: Determine new version id: new_version run: | @@ -71,40 +78,40 @@ jobs: fi echo "New version: $new_version" - echo ::set-output name=version::$new_version + echo "{version}={$new_version}" >> $GITHUB_OUTPUT - name: Create new tag id: create_tag run: | tag_name="relayer-${{ steps.branch_name.outputs.branch }}-${{ steps.new_version.outputs.version }}" echo "Tag name: $tag_name" - echo ::set-output name=tag::$tag_name + echo "{tag}={$tag_name}" >> $GITHUB_OUTPUT git tag $tag_name - - name: Push new tag - run: | - git push origin --tags - - - name: Create a GitHub Release - id: create_release - uses: actions/create-release@v1 - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - with: - tag_name: ${{ steps.create_tag.outputs.tag }} - release_name: ${{ steps.create_tag.outputs.tag }} - body: | - Changes in this release: - - ... - draft: false - prerelease: false - - - name: Upload Release Asset - uses: actions/upload-release-asset@v1 - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - with: - upload_url: ${{ steps.create_release.outputs.upload_url }} - asset_path: ./relayer/build - asset_name: snowbridge-relay - asset_content_type: application/octet-stream + #- name: Push new tag + # run: | + # git push origin --tags +# + #- name: Create a GitHub Release + # id: create_release + # uses: actions/create-release@v1 + # env: + # GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + # with: + # tag_name: ${{ steps.create_tag.outputs.tag }} + # release_name: ${{ steps.create_tag.outputs.tag }} + # body: | + # Changes in this release: + # - ... + # draft: false + # prerelease: false +# + #- name: Upload Release Asset + # uses: actions/upload-release-asset@v1 + # env: + # GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + # with: + # upload_url: ${{ steps.create_release.outputs.upload_url }} + # asset_path: ./relayer/build/snowbridge-relay + # asset_name: snowbridge-relay + # asset_content_type: application/octet-stream From ca2f6e88f0fdcf832723baee73c2cb6f9f1a5328 Mon Sep 17 00:00:00 2001 From: claravanstaden Date: Thu, 4 Jul 2024 14:44:47 +0200 Subject: [PATCH 06/16] fix tags --- .github/workflows/release-relayer.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/release-relayer.yml b/.github/workflows/release-relayer.yml index 3348da1295..32c2265ac7 100644 --- a/.github/workflows/release-relayer.yml +++ b/.github/workflows/release-relayer.yml @@ -61,7 +61,7 @@ jobs: run: | branch_name=${GITHUB_REF#refs/heads/} echo "Branch name: $branch_name" - echo "{branch}={$branch_name}" >> $GITHUB_OUTPUT + echo "branch=$(branch_name)" >> $GITHUB_OUTPUT - name: Determine new version id: new_version @@ -78,7 +78,7 @@ jobs: fi echo "New version: $new_version" - echo "{version}={$new_version}" >> $GITHUB_OUTPUT + echo "version=$(new_version)" >> $GITHUB_OUTPUT - name: Create new tag id: create_tag From 9f347003e023732cda11954586c0766addc0fb71 Mon Sep 17 00:00:00 2001 From: claravanstaden Date: Thu, 4 Jul 2024 14:47:38 +0200 Subject: [PATCH 07/16] tag name --- .github/workflows/release-relayer.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/release-relayer.yml b/.github/workflows/release-relayer.yml index 32c2265ac7..9c02780ddf 100644 --- a/.github/workflows/release-relayer.yml +++ b/.github/workflows/release-relayer.yml @@ -85,7 +85,7 @@ jobs: run: | tag_name="relayer-${{ steps.branch_name.outputs.branch }}-${{ steps.new_version.outputs.version }}" echo "Tag name: $tag_name" - echo "{tag}={$tag_name}" >> $GITHUB_OUTPUT + echo "tag=$(tag_name)" >> $GITHUB_OUTPUT git tag $tag_name #- name: Push new tag From 6d7e500072e0b7d05ea0a78bea33e05ef2a00407 Mon Sep 17 00:00:00 2001 From: claravanstaden Date: Thu, 4 Jul 2024 14:51:52 +0200 Subject: [PATCH 08/16] remove round brackets --- .github/workflows/release-relayer.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/release-relayer.yml b/.github/workflows/release-relayer.yml index 9c02780ddf..3cbe43317a 100644 --- a/.github/workflows/release-relayer.yml +++ b/.github/workflows/release-relayer.yml @@ -61,7 +61,7 @@ jobs: run: | branch_name=${GITHUB_REF#refs/heads/} echo "Branch name: $branch_name" - echo "branch=$(branch_name)" >> $GITHUB_OUTPUT + echo "branch=$branch_name" >> $GITHUB_OUTPUT - name: Determine new version id: new_version @@ -78,14 +78,14 @@ jobs: fi echo "New version: $new_version" - echo "version=$(new_version)" >> $GITHUB_OUTPUT + echo "version=$new_version" >> $GITHUB_OUTPUT - name: Create new tag id: create_tag run: | tag_name="relayer-${{ steps.branch_name.outputs.branch }}-${{ steps.new_version.outputs.version }}" echo "Tag name: $tag_name" - echo "tag=$(tag_name)" >> $GITHUB_OUTPUT + echo "tag=$tag_name" >> $GITHUB_OUTPUT git tag $tag_name #- name: Push new tag From 34bcefa66900ef9afec5c29ac98a71cb2ada75c9 Mon Sep 17 00:00:00 2001 From: claravanstaden Date: Thu, 4 Jul 2024 15:12:40 +0200 Subject: [PATCH 09/16] test branch name --- .github/workflows/release-relayer.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/release-relayer.yml b/.github/workflows/release-relayer.yml index 3cbe43317a..a9eca93dd9 100644 --- a/.github/workflows/release-relayer.yml +++ b/.github/workflows/release-relayer.yml @@ -66,6 +66,7 @@ jobs: - name: Determine new version id: new_version run: | + echo "the branch is ${{ steps.branch_name.outputs.branch }}" # Get the most recent tag in the format relayer-- current_version=$(git tag --list "relayer-${{ steps.branch_name.outputs.branch }}-*" --sort=-v:refname | head -n 1 | sed -E 's/relayer-${{ steps.branch_name.outputs.branch }}-//') echo "Current version: $current_version" From 4b9971638fccf8357e2298a8ac06b1f16793f863 Mon Sep 17 00:00:00 2001 From: claravanstaden Date: Thu, 4 Jul 2024 15:15:49 +0200 Subject: [PATCH 10/16] bump --- .github/workflows/release-relayer.yml | 1 - 1 file changed, 1 deletion(-) diff --git a/.github/workflows/release-relayer.yml b/.github/workflows/release-relayer.yml index a9eca93dd9..3cbe43317a 100644 --- a/.github/workflows/release-relayer.yml +++ b/.github/workflows/release-relayer.yml @@ -66,7 +66,6 @@ jobs: - name: Determine new version id: new_version run: | - echo "the branch is ${{ steps.branch_name.outputs.branch }}" # Get the most recent tag in the format relayer-- current_version=$(git tag --list "relayer-${{ steps.branch_name.outputs.branch }}-*" --sort=-v:refname | head -n 1 | sed -E 's/relayer-${{ steps.branch_name.outputs.branch }}-//') echo "Current version: $current_version" From cfdbbc38ba039a7c15be50f6372c24b3b1eecf34 Mon Sep 17 00:00:00 2001 From: claravanstaden Date: Thu, 4 Jul 2024 15:16:23 +0200 Subject: [PATCH 11/16] update --- .github/workflows/release-relayer.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/release-relayer.yml b/.github/workflows/release-relayer.yml index 3cbe43317a..ea9c7d3580 100644 --- a/.github/workflows/release-relayer.yml +++ b/.github/workflows/release-relayer.yml @@ -1,11 +1,11 @@ -name: relayer +name: release-relayer on: push: branches: - main - release-v1.0.0 - - clara/release-relayer + - release-relayer workflow_dispatch: jobs: From d0dc75ae8015f682f065b5a4756ef9a5f79b9c77 Mon Sep 17 00:00:00 2001 From: claravanstaden Date: Thu, 4 Jul 2024 15:19:46 +0200 Subject: [PATCH 12/16] test the rest --- .github/workflows/release-relayer.yml | 54 +++++++++++++-------------- 1 file changed, 27 insertions(+), 27 deletions(-) diff --git a/.github/workflows/release-relayer.yml b/.github/workflows/release-relayer.yml index ea9c7d3580..b2621604dd 100644 --- a/.github/workflows/release-relayer.yml +++ b/.github/workflows/release-relayer.yml @@ -88,30 +88,30 @@ jobs: echo "tag=$tag_name" >> $GITHUB_OUTPUT git tag $tag_name - #- name: Push new tag - # run: | - # git push origin --tags -# - #- name: Create a GitHub Release - # id: create_release - # uses: actions/create-release@v1 - # env: - # GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - # with: - # tag_name: ${{ steps.create_tag.outputs.tag }} - # release_name: ${{ steps.create_tag.outputs.tag }} - # body: | - # Changes in this release: - # - ... - # draft: false - # prerelease: false -# - #- name: Upload Release Asset - # uses: actions/upload-release-asset@v1 - # env: - # GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - # with: - # upload_url: ${{ steps.create_release.outputs.upload_url }} - # asset_path: ./relayer/build/snowbridge-relay - # asset_name: snowbridge-relay - # asset_content_type: application/octet-stream + - name: Push new tag + run: | + git push origin --tags + + - name: Create a GitHub Release + id: create_release + uses: actions/create-release@v1 + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + with: + tag_name: ${{ steps.create_tag.outputs.tag }} + release_name: ${{ steps.create_tag.outputs.tag }} + body: | + Changes in this release: + - ... + draft: false + prerelease: false + + - name: Upload Release Asset + uses: actions/upload-release-asset@v1 + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + with: + upload_url: ${{ steps.create_release.outputs.upload_url }} + asset_path: ./relayer/build/snowbridge-relay + asset_name: snowbridge-relay + asset_content_type: application/octet-stream From 0154ef50b6201f3a0e3baab5d6bf440ecde24339 Mon Sep 17 00:00:00 2001 From: claravanstaden Date: Thu, 4 Jul 2024 15:26:46 +0200 Subject: [PATCH 13/16] changelog --- .github/workflows/release-relayer.yml | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/.github/workflows/release-relayer.yml b/.github/workflows/release-relayer.yml index b2621604dd..84f54b59e3 100644 --- a/.github/workflows/release-relayer.yml +++ b/.github/workflows/release-relayer.yml @@ -92,6 +92,10 @@ jobs: run: | git push origin --tags + - name: "Build Changelog" + id: build_changelog + uses: mikepenz/release-changelog-builder-action@{latest-release} + - name: Create a GitHub Release id: create_release uses: actions/create-release@v1 @@ -101,8 +105,7 @@ jobs: tag_name: ${{ steps.create_tag.outputs.tag }} release_name: ${{ steps.create_tag.outputs.tag }} body: | - Changes in this release: - - ... + ${{steps.build_changelog.outputs.changelog}} draft: false prerelease: false From a80eaaa873b0e9f6aa531eea712252dc160750b5 Mon Sep 17 00:00:00 2001 From: claravanstaden Date: Thu, 4 Jul 2024 15:29:37 +0200 Subject: [PATCH 14/16] fix version --- .github/workflows/release-relayer.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/release-relayer.yml b/.github/workflows/release-relayer.yml index 84f54b59e3..3c8c07a8bd 100644 --- a/.github/workflows/release-relayer.yml +++ b/.github/workflows/release-relayer.yml @@ -94,7 +94,7 @@ jobs: - name: "Build Changelog" id: build_changelog - uses: mikepenz/release-changelog-builder-action@{latest-release} + uses: mikepenz/release-changelog-builder-action@latest - name: Create a GitHub Release id: create_release From 5ab5a8c2c44861d1cfb8105a281f8a7cc33352c7 Mon Sep 17 00:00:00 2001 From: claravanstaden Date: Thu, 4 Jul 2024 15:31:01 +0200 Subject: [PATCH 15/16] add flags and version --- .github/workflows/release-relayer.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/release-relayer.yml b/.github/workflows/release-relayer.yml index 3c8c07a8bd..ee2fcbd0a6 100644 --- a/.github/workflows/release-relayer.yml +++ b/.github/workflows/release-relayer.yml @@ -49,7 +49,7 @@ jobs: - name: Build working-directory: relayer - run: mage build + run: CGO_ENABLED=1 GOOS=linux GOARCH=amd64 mage build - name: Configure Git run: | @@ -94,7 +94,7 @@ jobs: - name: "Build Changelog" id: build_changelog - uses: mikepenz/release-changelog-builder-action@latest + uses: mikepenz/release-changelog-builder-action@v4 - name: Create a GitHub Release id: create_release From 362caca329e228617f9b517cbd6f47f03be429a9 Mon Sep 17 00:00:00 2001 From: claravanstaden Date: Thu, 4 Jul 2024 15:34:50 +0200 Subject: [PATCH 16/16] release relayer --- .github/workflows/release-relayer.yml | 1 - 1 file changed, 1 deletion(-) diff --git a/.github/workflows/release-relayer.yml b/.github/workflows/release-relayer.yml index ee2fcbd0a6..7ea4a56521 100644 --- a/.github/workflows/release-relayer.yml +++ b/.github/workflows/release-relayer.yml @@ -5,7 +5,6 @@ on: branches: - main - release-v1.0.0 - - release-relayer workflow_dispatch: jobs: