Skip to content

try-runtime

try-runtime #745

Workflow file for this run

name: try-runtime
on:
schedule:
- cron: '0 6 * * 0' # At 00:00 on Sunday
issue_comment:
types: [created]
pull_request:
types: [labeled]
paths:
- '**.rs'
- .github/workflows/try-runtime.yml
jobs:
try-runtime:
permissions:
id-token: write
contents: read
strategy:
fail-fast: false
matrix:
chain: [altair, centrifuge]
if: >
github.event_name == 'schedule' ||
contains(github.event.pull_request.labels.*.name, 'D8-migration') ||
(github.event_name == 'issue_comment' &&
contains(github.event.comment.body, '/try-runtime') &&
github.event.issue.pull_request != '')
runs-on: ubuntu-latest-4-cores
name: "${{ matrix.chain }}"
steps:
- name: Check out code
uses: actions/checkout@8e5e7e5ab8b370d6c329ec480221332ada57f0ab #3.5.2
- name: Get PR author and commenter
id: get-users
if: github.event_name == 'issue_comment'
run: |
PR_AUTHOR=$(gh pr view ${{ github.event.issue.number }} --json author --jq .author.login)
COMMENT_AUTHOR="${{ github.event.comment.user.login }}"
echo "::set-output name=pr_author::$PR_AUTHOR"
echo "::set-output name=comment_author::$COMMENT_AUTHOR"
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- name: Check if commenter is PR author and a repo contributor
if: >
steps.get-users.outputs.pr_author == steps.get-users.outputs.comment_author &&
github.event_name == 'issue_comment'
run: |
if [[ "${{ steps.get-users.outputs.pr_author }}" != "${{ steps.get-users.outputs.comment_author }}" ]]; then
echo "PR author is not the comment author."
exit 1
fi
CONTRIBUTOR_CHECK=$(gh api repos/${{ github.repository }}/contributors --jq '.[].login | select(. == "${{ steps.get-users.outputs.comment_author }}")')
if [[ -z "$CONTRIBUTOR_CHECK" ]]; then
echo "Commenter is not a contributor."
exit 1
fi
echo "Commenter is a contributor and PR author."
- name: Prep build on Ubuntu
uses: ./.github/actions/prep-ubuntu
with:
cache: enabled
GWIP: ${{ secrets.GWIP_SCCACHE }}
GSA: ${{ secrets.GSA_SCCACHE }}
# - name: Install try-runtime-cli
# run: cargo install --git https://github.com/paritytech/try-runtime-cli --tag v0.5.4 --locked
- name: cargo build
run: ./ci/run-check.sh -F try-runtime
env:
TARGET: cargo-build
RUSTC_WRAPPER: "sccache"
- name: Run try-runtime
run: ./ci/run-check.sh "${{ matrix.chain }}"
env:
TARGET: try-runtime
notify-slack:
needs: try-runtime
if: always() && needs.try-runtime.result == 'failure' && github.event_name == 'schedule'
runs-on: ubuntu-latest
steps:
- name: Notify Slack
uses: rtCamp/action-slack-notify@4e5fb42d249be6a45a298f3c9543b111b02f7907 #v2.3.0
env:
SLACK_CHANNEL: eng-protocol-general
SLACK_COLOR: '#FF0000'
SLACK_ICON: "https://github.githubassets.com/assets/GitHub-Mark-ea2971cee799.png"
SLACK_MESSAGE: |
Weekly try-runtime job failed on main branch. Please check:
<${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }}|GHA Job URL>
SLACK_TITLE: 'Job Failure Notification'
SLACK_USERNAME: "Centrifuge GHA Bot"
SLACK_WEBHOOK: ${{ secrets.SLACK_WEBHOOK }}