mirror of
https://github.com/pezkuwichain/pezkuwi-subxt.git
synced 2026-06-10 03:11:09 +00:00
[ci] add auto cargo-fmt (#1562)
* [WIP][ci] add auto cargo-fmt * [ci] Apply cargo-fmt * use fmt nightly * [ci] Apply cargo-fmt * add comment to cargo-fmt and remove fmt gha Co-authored-by: paritytech-ci <paritytech-ci@parity.io>
This commit is contained in:
committed by
GitHub
parent
c066eaee49
commit
f0fbb51019
-40
@@ -1,40 +0,0 @@
|
||||
name: Quick check Formatting
|
||||
|
||||
on:
|
||||
push:
|
||||
branches:
|
||||
- "*"
|
||||
pull_request:
|
||||
types: [opened, synchronize, reopened, ready_for_review]
|
||||
|
||||
jobs:
|
||||
quick_check:
|
||||
strategy:
|
||||
matrix:
|
||||
os: ["ubuntu-latest"]
|
||||
runs-on: ${{ matrix.os }}
|
||||
steps:
|
||||
- name: Install Rust nightly toolchain
|
||||
uses: actions-rs/toolchain@v1
|
||||
with:
|
||||
profile: minimal
|
||||
toolchain: nightly
|
||||
override: true
|
||||
components: clippy, rustfmt
|
||||
|
||||
- name: Cache Dependencies & Build Outputs
|
||||
uses: actions/cache@v3
|
||||
with:
|
||||
path: |
|
||||
~/.cargo/registry
|
||||
~/.cargo/git
|
||||
target
|
||||
key: ${{ runner.os }}-${{ matrix.os }}-cargo-${{ hashFiles('**/Cargo.lock') }}
|
||||
|
||||
- uses: actions/checkout@v3
|
||||
|
||||
- name: Cargo fmt
|
||||
uses: actions-rs/cargo@v1
|
||||
with:
|
||||
command: fmt
|
||||
args: --all -- --check
|
||||
@@ -69,6 +69,11 @@ variables:
|
||||
- if: $CI_COMMIT_REF_NAME =~ /^release-parachains-v[0-9].*$/ # i.e. release-parachains-v1.0, release-parachains-v2.1rc1, release-parachains-v3000
|
||||
- if: $CI_COMMIT_REF_NAME =~ /^polkadot-v[0-9]+\.[0-9]+.*$/ # i.e. polkadot-v1.0.99, polkadot-v2.1rc1
|
||||
|
||||
.pr-refs: &pr-refs
|
||||
# these jobs run always*
|
||||
rules:
|
||||
- if: $CI_COMMIT_REF_NAME =~ /^[0-9]+$/ # PRs
|
||||
|
||||
.publish-refs: &publish-refs
|
||||
rules:
|
||||
- if: $CI_COMMIT_REF_NAME == "master"
|
||||
@@ -107,6 +112,23 @@ variables:
|
||||
tags:
|
||||
- kubernetes-parity-build
|
||||
|
||||
#### stage: .pre
|
||||
|
||||
# checks code format and fails if formatting is required
|
||||
# the code will be formatted automatically and the pipeline will be restarted
|
||||
cargo-fmt:
|
||||
stage: .pre
|
||||
<<: *pr-refs
|
||||
<<: *kubernetes-env
|
||||
before_script:
|
||||
- echo PROJECT_NAME=$CI_PROJECT_NAME > fmt.env
|
||||
- echo PR_BRANCH_NAME=$(curl -s https://api.github.com/repos/paritytech/${CI_PROJECT_NAME}/pulls/${CI_COMMIT_REF_NAME} | jq -r ".head.ref") >> fmt.env
|
||||
script:
|
||||
- cargo +nightly fmt --check
|
||||
artifacts:
|
||||
reports:
|
||||
dotenv: fmt.env
|
||||
|
||||
#### stage: test
|
||||
|
||||
test-linux-stable:
|
||||
@@ -601,3 +623,17 @@ cancel-pipeline:
|
||||
project: "parity/infrastructure/ci_cd/pipeline-stopper"
|
||||
# remove branch, when pipeline-stopper for substrate and polakdot is updated to the same branch
|
||||
branch: "as-improve"
|
||||
|
||||
# this job will automatically format code and rerun pipeline if cargo-fmt job fails
|
||||
auto-fmt:
|
||||
stage: .post
|
||||
rules:
|
||||
- if: $CI_COMMIT_REF_NAME =~ /^[0-9]+$/ # PRs
|
||||
when: on_failure
|
||||
needs:
|
||||
- job: cargo-fmt
|
||||
variables:
|
||||
PROJECT_NAME: "${CI_PROJECT_NAME}"
|
||||
PR_BRANCH_NAME: "${PR_BRANCH_NAME}"
|
||||
trigger:
|
||||
project: "parity/infrastructure/ci_cd/auto-fmt"
|
||||
|
||||
Reference in New Issue
Block a user