mirror of
https://github.com/pezkuwichain/pezkuwi-subxt.git
synced 2026-04-23 02:37:59 +00:00
Replace the label checks using bash script by ruled-labels (#1576)
* Add rules and specs * add labels * Add new checks * Fix criticality check * Use the new rule filter introduced in ruled-labels v0.3.0 to better target tests * Add workflow to tests label rules * Fix trigger * Add new GH Workflow * Don't swallow failures but allow them * Fix new script * Simplify check * Fix Workflow * Remove dup var * Fix vars * Move pull image to separate step * Remove continue on error * Show input list of labels * Fix check-labels workflow * Remove Docker -it flags * Prevent shell from splitting on spaces * Fix rules path * Comment out rules related to labels not present in the repo * Fix tests * Fix labels specs and tests * fix test * new label description and rules * fix tests * use ruled_labels as crate * fix toolchain * fix component * move from docker to crate * fix test * fail without labels * add cache * fix check no labels * add D-labels check * fix emtpy label check * try docker * fix specs * test D label * revert Cargo.toml * use tags for ruled_labels * fix rules * test D label * fix tags * remove changes * add PR tag to single criticality rule * remove old line * test ruled_labels test * disable Check label Rules * fix GHA name * fix tests * rename files, upd ruled_labels 0.3.2 Co-authored-by: alvicsam <alvicsam@gmail.com> Co-authored-by: parity-processbot <> Co-authored-by: Joyce Siqueira <joycesiqueira@Joyces-MacBook-Pro.local> Co-authored-by: joyce <joyce@parity.io> Co-authored-by: Joyce Siqueira <98593770+the-right-joyce@users.noreply.github.com> Co-authored-by: Alexander Samusev <41779041+alvicsam@users.noreply.github.com>
This commit is contained in:
@@ -0,0 +1,54 @@
|
||||
name: Check D labels
|
||||
|
||||
on:
|
||||
pull_request:
|
||||
types: [labeled, opened, synchronize, unlabeled]
|
||||
paths:
|
||||
- primitives/**
|
||||
|
||||
jobs:
|
||||
check-labels:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: Checkout sources
|
||||
uses: actions/checkout@v3
|
||||
with:
|
||||
fetch-depth: 0
|
||||
ref: ${{ github.event.pull_request.head.ref }}
|
||||
repository: ${{ github.event.pull_request.head.repo.full_name }}
|
||||
|
||||
- name: Pull image
|
||||
env:
|
||||
IMAGE: paritytech/ruled_labels:0.3.2
|
||||
run: docker pull $IMAGE
|
||||
|
||||
- name: Check labels
|
||||
env:
|
||||
IMAGE: paritytech/ruled_labels:0.3.2
|
||||
MOUNT: /work
|
||||
GITHUB_PR: ${{ github.event.pull_request.number }}
|
||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
API_BASE: https://api.github.com/repos
|
||||
REPO: ${{ github.repository }}
|
||||
RULES_PATH: scripts/ci/ruled_labels
|
||||
CHECK_SPECS: specs.yaml
|
||||
run: |
|
||||
echo "REPO: ${REPO}"
|
||||
echo "GITHUB_PR: ${GITHUB_PR}"
|
||||
|
||||
# Fetch the labels for the PR under test
|
||||
labels=$( curl -H "Authorization: token ${GITHUB_TOKEN}" -s "$API_BASE/${REPO}/pulls/${GITHUB_PR}" | jq '.labels | .[] | .name' | tr "\n" ",")
|
||||
|
||||
if [ -z "${labels}" ]; then
|
||||
echo "No labels found. Please add labels D labels"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
labels_args=${labels: :-1}
|
||||
printf "Checking labels: %s\n" "${labels_args}"
|
||||
|
||||
# Prevent the shell from splitting labels with spaces
|
||||
IFS=","
|
||||
|
||||
# --dev is more useful to debug mode to debug
|
||||
docker run --rm -i -v $PWD/${RULES_PATH}/:$MOUNT $IMAGE check $MOUNT/$CHECK_SPECS --labels ${labels_args} --dev --tags audit
|
||||
@@ -0,0 +1,30 @@
|
||||
name: Check label Rules
|
||||
|
||||
on:
|
||||
push:
|
||||
paths:
|
||||
- scripts/ci/ruled_labels/**
|
||||
|
||||
jobs:
|
||||
check-label-rules:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: Checkout sources
|
||||
uses: actions/checkout@v3
|
||||
with:
|
||||
fetch-depth: 0
|
||||
ref: ${{ github.event.pull_request.head.ref }}
|
||||
repository: ${{ github.event.pull_request.head.repo.full_name }}
|
||||
|
||||
- name: Pull image
|
||||
env:
|
||||
IMAGE: paritytech/ruled_labels:0.3.2
|
||||
run: docker pull $IMAGE
|
||||
|
||||
- name: Check label Rules
|
||||
env:
|
||||
IMAGE: paritytech/ruled_labels:0.3.2
|
||||
MOUNT: /work
|
||||
RULES_PATH: scripts/ci/ruled_labels
|
||||
run: |
|
||||
docker run --rm -i -v $PWD/${RULES_PATH}/:$MOUNT $IMAGE test ${MOUNT}/tests.yaml
|
||||
@@ -0,0 +1,26 @@
|
||||
# disabled in favor of ruled_labels tool
|
||||
# name: Check labels
|
||||
|
||||
# on:
|
||||
# pull_request:
|
||||
# types: [labeled, opened, synchronize, unlabeled]
|
||||
|
||||
|
||||
# jobs:
|
||||
# check-labels:
|
||||
# runs-on: ubuntu-latest
|
||||
# steps:
|
||||
# - name: Checkout sources
|
||||
# uses: actions/checkout@v3
|
||||
# with:
|
||||
# fetch-depth: 0
|
||||
# ref: ${{ github.event.pull_request.head.ref }}
|
||||
# repository: ${{ github.event.pull_request.head.repo.full_name }}
|
||||
# - name: Check labels
|
||||
# run: bash ${{ github.workspace }}/scripts/ci/github/check_labels.sh
|
||||
# env:
|
||||
# GITHUB_PR: ${{ github.event.pull_request.number }}
|
||||
# GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
# HEAD_SHA: ${{ github.event.pull_request.head.sha }}
|
||||
# BASE_SHA: ${{ github.event.pull_request.base.sha }}
|
||||
|
||||
@@ -9,15 +9,44 @@ jobs:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: Checkout sources
|
||||
uses: actions/checkout@93ea575cb5d8a053eaa0ac8fa3b40d7e05a33cc8 # v3.1.0
|
||||
uses: actions/checkout@v3
|
||||
with:
|
||||
fetch-depth: 0
|
||||
ref: ${{ github.event.pull_request.head.ref }}
|
||||
repository: ${{ github.event.pull_request.head.repo.full_name }}
|
||||
- name: Check labels
|
||||
run: bash ${{ github.workspace }}/scripts/ci/github/check_labels.sh
|
||||
|
||||
- name: Pull image
|
||||
env:
|
||||
IMAGE: paritytech/ruled_labels:0.3.2
|
||||
run: docker pull $IMAGE
|
||||
|
||||
- name: Check labels
|
||||
env:
|
||||
IMAGE: paritytech/ruled_labels:0.3.2
|
||||
MOUNT: /work
|
||||
GITHUB_PR: ${{ github.event.pull_request.number }}
|
||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
HEAD_SHA: ${{ github.event.pull_request.head.sha }}
|
||||
BASE_SHA: ${{ github.event.pull_request.base.sha }}
|
||||
API_BASE: https://api.github.com/repos
|
||||
REPO: ${{ github.repository }}
|
||||
RULES_PATH: scripts/ci/ruled_labels
|
||||
CHECK_SPECS: specs.yaml
|
||||
run: |
|
||||
echo "REPO: ${REPO}"
|
||||
echo "GITHUB_PR: ${GITHUB_PR}"
|
||||
|
||||
# Fetch the labels for the PR under test
|
||||
labels=$( curl -H "Authorization: token ${GITHUB_TOKEN}" -s "$API_BASE/${REPO}/pulls/${GITHUB_PR}" | jq '.labels | .[] | .name' | tr "\n" ",")
|
||||
|
||||
if [ -z "${labels}" ]; then
|
||||
echo "No labels found. Please add labels A, B and C labels"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
labels_args=${labels: :-1}
|
||||
printf "Checking labels: %s\n" "${labels_args}"
|
||||
|
||||
# Prevent the shell from splitting labels with spaces
|
||||
IFS=","
|
||||
|
||||
# --dev is more useful to debug mode to debug
|
||||
docker run --rm -i -v $PWD/${RULES_PATH}/:$MOUNT $IMAGE check $MOUNT/$CHECK_SPECS --labels ${labels_args} --dev --tags PR
|
||||
|
||||
Reference in New Issue
Block a user