Conditional required
checks
#472
Workflow file for this run
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
# Checks that doesn't require heavy lifting, like formatting, linting, etc. | |
name: quick-checks | |
on: | |
push: | |
branches: | |
- master | |
pull_request: | |
types: [opened, synchronize, reopened, ready_for_review] | |
merge_group: | |
concurrency: | |
group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }} | |
cancel-in-progress: true | |
permissions: {} | |
jobs: | |
set-image: | |
# GitHub Actions allows using 'env' in a container context. | |
# However, env variables don't work for forks: https://github.com/orgs/community/discussions/44322 | |
# This workaround sets the container image for each job using 'set-image' job output. | |
runs-on: ubuntu-latest | |
timeout-minutes: 10 | |
outputs: | |
IMAGE: ${{ steps.set_image.outputs.IMAGE }} | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v4 | |
- id: set_image | |
run: cat .github/env >> $GITHUB_OUTPUT | |
fmt: | |
runs-on: ubuntu-latest | |
timeout-minutes: 10 | |
needs: [set-image] | |
container: | |
image: ${{ needs.set-image.outputs.IMAGE }} | |
steps: | |
- uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1 | |
- name: Cargo fmt | |
run: cargo +nightly fmt --all -- --check | |
check-dependency-rules: | |
runs-on: ubuntu-latest | |
timeout-minutes: 10 | |
steps: | |
- uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1 | |
- name: check dependency rules | |
run: | | |
cd substrate/ | |
../.gitlab/ensure-deps.sh | |
check-rust-feature-propagation: | |
runs-on: ubuntu-latest | |
timeout-minutes: 10 | |
needs: [set-image] | |
container: | |
image: ${{ needs.set-image.outputs.IMAGE }} | |
steps: | |
- uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1 | |
- name: run zepter | |
run: zepter run check | |
test-rust-features: | |
runs-on: ubuntu-latest | |
timeout-minutes: 10 | |
needs: [set-image] | |
container: | |
image: ${{ needs.set-image.outputs.IMAGE }} | |
steps: | |
- uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1 | |
- name: run rust features | |
run: bash .gitlab/rust-features.sh . | |
check-toml-format: | |
runs-on: ubuntu-latest | |
timeout-minutes: 10 | |
needs: [set-image] | |
container: | |
image: ${{ needs.set-image.outputs.IMAGE }} | |
steps: | |
- uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1 | |
- name: check toml format | |
run: | | |
taplo format --check --config .config/taplo.toml | |
echo "Please run `taplo format --config .config/taplo.toml` to fix any toml formatting issues" | |
check-workspace: | |
runs-on: ubuntu-latest | |
timeout-minutes: 10 | |
steps: | |
- uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.0 (22. Sep 2023) | |
- name: install python deps | |
run: | | |
sudo apt-get update && sudo apt-get install -y python3-pip python3 | |
pip3 install toml | |
- name: check integrity | |
run: > | |
python3 .github/scripts/check-workspace.py . | |
--exclude | |
"substrate/frame/contracts/fixtures/build" | |
"substrate/frame/contracts/fixtures/contracts/common" | |
check-markdown: | |
runs-on: ubuntu-latest | |
timeout-minutes: 10 | |
steps: | |
- name: Checkout sources | |
uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1 | |
- name: Setup Node.js | |
uses: actions/[email protected] | |
with: | |
node-version: "18.x" | |
registry-url: "https://npm.pkg.github.com" | |
scope: "@paritytech" | |
- name: Install tooling | |
run: | | |
npm install -g markdownlint-cli | |
markdownlint --version | |
- name: Check Markdown | |
env: | |
CONFIG: .github/.markdownlint.yaml | |
run: | | |
echo "Checking markdown formatting. More info: docs/contributor/markdown_linting.md" | |
markdownlint --config "$CONFIG" --ignore target . |