-
-
Notifications
You must be signed in to change notification settings - Fork 87
28 lines (22 loc) · 885 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
# Run tests for bash or markdown files modified in this PR.
name: bash / pr
on: pull_request
jobs:
ci:
runs-on: ubuntu-22.04
steps:
- name: Checkout PR
uses: actions/checkout@44c2b7a8a4ea60a981eaca3cf939b5f4305c123b
- name: Install bats-core
run: sudo apt update && sudo apt -y install bats
- 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")
gh api "$pr_endpoint/files" --paginate --jq '
.[] |
select(.status == "added" or .status == "modified" or .status == "renamed") |
select(.filename | match("\\.(sh|bash|bats)$")) |
.filename
' | xargs -r bash .github/scripts/pr