Files
pezkuwi-subxt/.github/workflows/check-labels.yml
T
Alexander Samusev 48415ce2a7 [ci] Add experimental feature in tests and cargo check (#1173)
* [ci] Add experimental feature in tests and cargo check

* fix labels GHA

* disable D-labels

* add check license

* add auto-label-issues

* fix CHECK_SPECS for labels

* rm useless commands

* Update .github/workflows/check-labels.yml

* fix

* Fudge license scanner

* remove spellcheck job

---------

Co-authored-by: Oliver Tale-Yazdi <oliver.tale-yazdi@parity.io>
2023-08-26 17:26:12 +03:00

54 lines
1.9 KiB
YAML

name: Check labels
on:
pull_request:
types: [labeled, opened, synchronize, unlabeled]
jobs:
check-labels:
runs-on: ubuntu-latest
steps:
- name: Pull image
env:
IMAGE: paritytech/ruled_labels:0.4.0
run: docker pull $IMAGE
- name: Check labels
env:
IMAGE: paritytech/ruled_labels:0.4.0
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: labels/ruled_labels
CHECK_SPECS: "specs_polkadot-sdk.yaml"
run: |
echo "REPO: ${REPO}"
echo "GITHUB_PR: ${GITHUB_PR}"
# Clone repo with labels specs
echo "Cloning repo with labels specs"
# Temporary, before https://github.com/paritytech/labels/pull/29 is not merged
git clone https://github.com/paritytech/labels
# Fetch the labels for the PR under test
echo "Fetch the labels for $API_BASE/${REPO}/pulls/${GITHUB_PR}"
labels=$( curl -H "Authorization: token ${GITHUB_TOKEN}" -s "$API_BASE/${REPO}/pulls/${GITHUB_PR}" | jq '.labels | .[] | .name' | tr "\n" ",")
echo "Labels: ${labels}"
if [ -z "${labels}" ]; then
echo "No labels found, checking without them"
docker run --rm -i -v $PWD/${RULES_PATH}/:$MOUNT $IMAGE check $MOUNT/$CHECK_SPECS --no-label
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