try-runtime #730
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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 }} |