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:
Chevdor
2022-12-12 11:37:52 +01:00
committed by GitHub
parent 3839099703
commit 16c944af15
7 changed files with 442 additions and 5 deletions
+34 -5
View File
@@ -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