mirror of
https://github.com/pezkuwichain/pezkuwi-subxt.git
synced 2026-04-23 00:18:00 +00:00
46 lines
1.6 KiB
YAML
46 lines
1.6 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_cumulus.yaml
|
|
run: |
|
|
echo "REPO: ${REPO}"
|
|
echo "GITHUB_PR: ${GITHUB_PR}"
|
|
# Clone repo with labels specs
|
|
git clone https://github.com/paritytech/labels
|
|
# 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
|
|
docker run --rm -i -v $PWD/${RULES_PATH}/:$MOUNT $IMAGE check $MOUNT/$CHECK_SPECS --tags audit --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
|