Dev #5
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: Check labels | |
on: | |
pull_request: | |
types: [labeled, opened, synchronize, unlabeled] | |
env: | |
IMAGE: paritytech/ruled_labels:0.4.0 | |
jobs: | |
check-labels: | |
runs-on: ubuntu-latest | |
steps: | |
- name: Pull image | |
run: docker pull $IMAGE | |
- name: Check labels | |
env: | |
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_substrate.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 PR --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 |