From 8eb452d4da3ee85976cd6f150468628ff7e02f3e Mon Sep 17 00:00:00 2001 From: Maksym H Date: Thu, 29 Aug 2024 14:37:33 +0100 Subject: [PATCH 1/7] Create command-inform.yml --- .github/workflows/command-inform.yml | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) create mode 100644 .github/workflows/command-inform.yml diff --git a/.github/workflows/command-inform.yml b/.github/workflows/command-inform.yml new file mode 100644 index 000000000000..f2c103c24f63 --- /dev/null +++ b/.github/workflows/command-inform.yml @@ -0,0 +1,22 @@ +name: Inform of new command action + +on: + issue_comment: + types: [ created ] + +jobs: + comment: + runs-on: ubuntu-latest + # Temporary disable the bot until the new command bot works properly + if: github.event.issue.pull_request && startsWith(github.event.comment.body, 'bot ') + steps: + - name: Inform that the new command exist + uses: actions/github-script@v7 + with: + script: | + github.rest.issues.createComment({ + issue_number: context.issue.number, + owner: context.repo.owner, + repo: context.repo.repo, + body: 'We have migrated the command bot to GHA

Please, see the new usage instructions here. Soon the old commands will be disabled.' + }) \ No newline at end of file From e140facc97e06160c1ef697dd8f8cc3fe11a5e97 Mon Sep 17 00:00:00 2001 From: Maksym H Date: Thu, 29 Aug 2024 14:55:08 +0100 Subject: [PATCH 2/7] restore update-ui-tests --- scripts/update-ui-tests.sh | 41 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 41 insertions(+) create mode 100644 scripts/update-ui-tests.sh diff --git a/scripts/update-ui-tests.sh b/scripts/update-ui-tests.sh new file mode 100644 index 000000000000..a1f380c4712d --- /dev/null +++ b/scripts/update-ui-tests.sh @@ -0,0 +1,41 @@ +#!/usr/bin/env bash +# Script for updating the UI tests for a new rust stable version. +# Exit on error +set -e + +# by default current rust stable will be used +RUSTUP_RUN="" +# check if we have a parameter +# ./scripts/update-ui-tests.sh 1.70 +if [ ! -z "$1" ]; then + echo "RUST_VERSION: $1" + # This will run all UI tests with the rust stable 1.70. + # The script requires that rustup is installed. + RUST_VERSION=$1 + RUSTUP_RUN="rustup run $RUST_VERSION" + + + echo "installing rustup $RUST_VERSION" + if ! command -v rustup &> /dev/null + then + echo "rustup needs to be installed" + exit + fi + + rustup install $RUST_VERSION + rustup component add rust-src --toolchain $RUST_VERSION +fi + +# Ensure we run the ui tests +export RUN_UI_TESTS=1 +# We don't need any wasm files for ui tests +export SKIP_WASM_BUILD=1 +# Let trybuild overwrite the .stderr files +export TRYBUILD=overwrite + +# ./substrate +$RUSTUP_RUN cargo test --manifest-path substrate/primitives/runtime-interface/Cargo.toml ui +$RUSTUP_RUN cargo test -p sp-api-test ui +$RUSTUP_RUN cargo test -p frame-election-provider-solution-type ui +$RUSTUP_RUN cargo test -p frame-support-test --features=no-metadata-docs,try-runtime,experimental ui +$RUSTUP_RUN cargo test -p xcm-procedural ui \ No newline at end of file From 43d38074083f466ee8127833e759f14e802fa330 Mon Sep 17 00:00:00 2001 From: Maksym H Date: Thu, 29 Aug 2024 18:44:15 +0100 Subject: [PATCH 3/7] Fixes for cmd bot --- .github/workflows/cmd.yml | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) diff --git a/.github/workflows/cmd.yml b/.github/workflows/cmd.yml index dac46cf435a6..cfad9a368395 100644 --- a/.github/workflows/cmd.yml +++ b/.github/workflows/cmd.yml @@ -33,7 +33,7 @@ jobs: script: | const fs = require("fs"); try { - const org = '${{ github.event.repository.owner.login }}'; + const org = '${{ github.repository.owner.login }}'; const username = '${{ github.event.comment.user.login }}'; const membership = await github.rest.orgs.checkMembershipForUser({ @@ -291,7 +291,7 @@ jobs: - name: Checkout uses: actions/checkout@v4 with: - ref: ${{ github.head_ref }} + ref: ${{ github.event.issue.pull_request.head.ref }} - name: Install dependencies for bench if: startsWith(steps.get-pr-comment.outputs.group2, 'bench') @@ -317,11 +317,18 @@ jobs: git config --local user.email "action@github.com" git config --local user.name "GitHub Action" - git pull origin ${{ github.head_ref }} + git pull origin ${{ github.event.issue.pull_request.head.ref }} git add . git restore --staged Cargo.lock # ignore changes in Cargo.lock git commit -m "Update from ${{ github.actor }} running command '${{ steps.get-pr-comment.outputs.group2 }}'" || true - git push origin ${{ github.head_ref }} + # Check if this is a fork + if [ "${{ github.repository.owner.login }}" != "${{ github.event.repository.owner.login }}" ]; then + echo "Running on a fork, pushing to forked repo"; + git push https://${{ secrets.GITHUB_TOKEN }}@github.com/${{ github.event.repository.owner.login }}/${{ github.repository }}.git ${{ github.event.issue.pull_request.head.ref }} + else + echo "Running on the main repo, pushing to the original repo"; + git push origin ${{ github.event.issue.pull_request.head.ref }} + fi else echo "Nothing to commit"; fi From 6e98a32c2199f4cc1b50da33b33f5062b6c7bf6a Mon Sep 17 00:00:00 2001 From: Maksym H Date: Thu, 29 Aug 2024 18:45:41 +0100 Subject: [PATCH 4/7] Update command-inform.yml --- .github/workflows/command-inform.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/command-inform.yml b/.github/workflows/command-inform.yml index f2c103c24f63..973463953193 100644 --- a/.github/workflows/command-inform.yml +++ b/.github/workflows/command-inform.yml @@ -8,7 +8,7 @@ jobs: comment: runs-on: ubuntu-latest # Temporary disable the bot until the new command bot works properly - if: github.event.issue.pull_request && startsWith(github.event.comment.body, 'bot ') + if: github.event.issue.pull_request && startsWith(github.event.comment.body, 'bot ') && false # disabled for now, until tested steps: - name: Inform that the new command exist uses: actions/github-script@v7 From d0bd00209f580b9e0378a14faf29a631f2407dc2 Mon Sep 17 00:00:00 2001 From: Maksym H Date: Thu, 29 Aug 2024 21:00:08 +0100 Subject: [PATCH 5/7] Update cmd.yml --- .github/workflows/cmd.yml | 9 +-------- 1 file changed, 1 insertion(+), 8 deletions(-) diff --git a/.github/workflows/cmd.yml b/.github/workflows/cmd.yml index cfad9a368395..125b6e2a6d45 100644 --- a/.github/workflows/cmd.yml +++ b/.github/workflows/cmd.yml @@ -321,14 +321,7 @@ jobs: git add . git restore --staged Cargo.lock # ignore changes in Cargo.lock git commit -m "Update from ${{ github.actor }} running command '${{ steps.get-pr-comment.outputs.group2 }}'" || true - # Check if this is a fork - if [ "${{ github.repository.owner.login }}" != "${{ github.event.repository.owner.login }}" ]; then - echo "Running on a fork, pushing to forked repo"; - git push https://${{ secrets.GITHUB_TOKEN }}@github.com/${{ github.event.repository.owner.login }}/${{ github.repository }}.git ${{ github.event.issue.pull_request.head.ref }} - else - echo "Running on the main repo, pushing to the original repo"; - git push origin ${{ github.event.issue.pull_request.head.ref }} - fi + git push origin ${{ github.event.issue.pull_request.head.ref }} else echo "Nothing to commit"; fi From ccc1add857edbafdac2dc609e4ccf4a3a837a405 Mon Sep 17 00:00:00 2001 From: Maksym H Date: Thu, 29 Aug 2024 23:23:39 +0100 Subject: [PATCH 6/7] add get-pr-branch job --- .github/workflows/cmd.yml | 48 +++++++++++++++++++++++++++++++++++---- 1 file changed, 44 insertions(+), 4 deletions(-) diff --git a/.github/workflows/cmd.yml b/.github/workflows/cmd.yml index 125b6e2a6d45..da0f99a31525 100644 --- a/.github/workflows/cmd.yml +++ b/.github/workflows/cmd.yml @@ -237,8 +237,47 @@ jobs: echo "RUNNER=ubuntu-latest" >> $GITHUB_OUTPUT fi - cmd: + # Get PR branch name, because the issue_comment event does not contain the PR branch name + get-pr-branch: needs: [ set-image ] + runs-on: ubuntu-latest + outputs: + pr-branch: ${{ steps.get-pr.outputs.pr_branch }} + repo: ${{ steps.get-pr.outputs.repo }} + steps: + - name: Check if the issue is a PR + id: check-pr + run: | + if [ -n "${{ github.event.issue.pull_request.url }}" ]; then + echo "This is a pull request comment" + else + echo "This is not a pull request comment" + exit 1 + fi + + - name: Get PR Branch Name and Repo + if: steps.check-pr.outcome == 'success' + id: get-pr + uses: actions/github-script@v7 + with: + script: | + const pr = await github.rest.pulls.get({ + owner: context.repo.owner, + repo: context.repo.repo, + pull_number: context.issue.number, + }); + const prBranch = pr.data.head.ref; + const repo = pr.data.head.repo.full_name; + return { pr_branch: prBranch, repo: repo }; + result-encoding: string + + - name: Use PR Branch Name and Repo + run: | + echo "The PR branch is ${{ steps.get-pr.outputs.pr_branch }}" + echo "The repository is ${{ steps.get-pr.outputs.repo }}" + + cmd: + needs: [ set-image, get-pr-branch ] env: JOB_NAME: 'cmd' runs-on: ${{ needs.set-image.outputs.RUNNER }} @@ -291,7 +330,8 @@ jobs: - name: Checkout uses: actions/checkout@v4 with: - ref: ${{ github.event.issue.pull_request.head.ref }} + repository: ${{ needs.get-pr-branch.outputs.repo }} + ref: ${{ needs.get-pr-branch.outputs.pr-branch }} - name: Install dependencies for bench if: startsWith(steps.get-pr-comment.outputs.group2, 'bench') @@ -317,11 +357,11 @@ jobs: git config --local user.email "action@github.com" git config --local user.name "GitHub Action" - git pull origin ${{ github.event.issue.pull_request.head.ref }} + git pull origin ${{ needs.get-pr-branch.outputs.pr-branch }} git add . git restore --staged Cargo.lock # ignore changes in Cargo.lock git commit -m "Update from ${{ github.actor }} running command '${{ steps.get-pr-comment.outputs.group2 }}'" || true - git push origin ${{ github.event.issue.pull_request.head.ref }} + git push origin ${{ needs.get-pr-branch.outputs.pr-branch }} else echo "Nothing to commit"; fi From cb3fbdda2bc55c769348d5b7570478db010dda28 Mon Sep 17 00:00:00 2001 From: Maksym H Date: Thu, 29 Aug 2024 23:26:09 +0100 Subject: [PATCH 7/7] Update cmd.yml --- .github/workflows/cmd.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/cmd.yml b/.github/workflows/cmd.yml index da0f99a31525..2eedadf8dc30 100644 --- a/.github/workflows/cmd.yml +++ b/.github/workflows/cmd.yml @@ -33,7 +33,7 @@ jobs: script: | const fs = require("fs"); try { - const org = '${{ github.repository.owner.login }}'; + const org = '${{ github.event.repository.owner.login }}'; const username = '${{ github.event.comment.user.login }}'; const membership = await github.rest.orgs.checkMembershipForUser({