Skip to content
This repository has been archived by the owner on Nov 15, 2023. It is now read-only.

[ci] Change check-labels GHA #6594

Merged
merged 4 commits into from
Jan 23, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
21 changes: 0 additions & 21 deletions .github/workflows/auto-label-prs.yml

This file was deleted.

50 changes: 50 additions & 0 deletions .github/workflows/check-D-labels.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,50 @@
name: Check D labels

on:
pull_request:
types: [labeled, opened, synchronize, unlabeled]
paths:
- runtime/polkadot/**
- runtime/kusama/**
- runtime/common/**
- primitives/src/**

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.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 audit
40 changes: 31 additions & 9 deletions .github/workflows/check-labels.yml
Original file line number Diff line number Diff line change
Expand Up @@ -8,16 +8,38 @@ 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.4.0
run: docker pull $IMAGE

- name: Check labels
run: bash ${{ github.workspace }}/scripts/ci/github/check_labels.sh
env:
IMAGE: paritytech/ruled_labels:0.4.0
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: labels/ruled_labels
CHECK_SPECS: specs_polkadot.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