-
-
Notifications
You must be signed in to change notification settings - Fork 31
33 lines (27 loc) · 1021 Bytes
/
pr.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
# Run tests for jq or test files modified in this PR.
name: jq / pr
on: pull_request
jobs:
pr:
runs-on: ubuntu-latest
steps:
- name: Checkout PR
uses: actions/checkout@v3
- name: Install software
run: |
sudo apt update &&
sudo apt -y install bats curl gh &&
sudo curl -o /usr/bin/jq https://github.com/jqlang/jq/releases/download/jq-1.7/jq-linux-amd64 &&
sudo chmod -v 755 /usr/bin/jq
- name: Run tests for changed/added exercises
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
run: |
pr_endpoint=$(jq -r '"repos/\(.repository.full_name)/pulls/\(.pull_request.number)"' "$GITHUB_EVENT_PATH")
declare -p pr_endpoint
gh api "$pr_endpoint/files" --paginate --jq '
.[]
| select(.status | IN("added", "modified", "renamed"))
| select(.filename | test("\\.(jq|bats|bash|md)$"))
| .filename
' | xargs -r bash bin/pr