Skip to content

KNGHT donations 2023-05 2024-12 #1151

KNGHT donations 2023-05 2024-12

KNGHT donations 2023-05 2024-12 #1151

Workflow file for this run

name: Validate JSONs and Donation files
on:
pull_request:
branches:
- main
jobs:
validate-donation-entries:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
#with:
# ref: ${{ github.head_ref }}
- name: Check files in donations.yml
uses: mikefarah/[email protected]
with:
cmd: ls -la */donations.yml; for F in */donations.yml; do PROOFS="`yq e '.[].files' $F | cut -d' ' -f2`"; for PROOF in $PROOFS; do echo -n $PROOF; [ ! -f "$PROOF" ] && echo ' MISSING' && exit 1; echo ' exists'; done; done
- name: Create jsons out of donations.yml
uses: mikefarah/[email protected]
with:
cmd: "for F in */donations.yml; do DEST=${F/yml/json}; yq -j e . $F > $DEST; cat $DEST; done"
- name: The Validate JSON action insists of adding the pwd to all json paths, so lets trick it
run: |
mkdir -p /home/runner/work/Donations/Donations/home/runner/work/Donations/
ln -s /home/runner/work/Donations/Donations /home/runner/work/Donations/Donations/home/runner/work/Donations/Donations
ls -la /home/runner/work/Donations/Donations/home/runner/work/Donations
- name: Debug all donations.json files
run: "for i in */donations.json; do echo $i; cat $i; echo; done"
- name: Validate JSON
uses: kiriakos/validate-json-action@e97bf4885314574701657ab73e5b7fceb3e07130
with:
schema: .github/schemas/donations-schema.json
env:
INPUT_SCHEMA: .github/schemas/donations-schema.json
INPUT_JSONS: "/home/runner/work/Donations/Donations/*/donations.json"
# Run calculations only to ensure they actually work
- name: Calculate Total Ada Donated per pool
uses: mikefarah/[email protected]
with:
cmd: for F in */donations.yml; do TKR=`echo $F | cut -d/ -f1`; SUM=`yq e '.[].ada' "$F" | grep -v -e --- | paste -sd+ | bc`; echo -e "$SUM\t$TKR" >> /tmp/donations.ada; done; sort -nr /tmp/donations.ada > donations.ada
- name: Calculate Total USD Donated per pool
uses: mikefarah/[email protected]
with:
cmd: for F in */donations.yml; do TKR=`echo $F | cut -d/ -f1`; SUM=`yq e '.[].usd' "$F" | grep -v -e --- | tr -d , | paste -sd+ | bc`; echo -e "$SUM\t$TKR" >> /tmp/donations.usd; done; sort -nr /tmp/donations.usd > donations.usd
- name: Calculate total Donations
run: |
cat donations.ada | cut -f1 | paste -sd+ | bc > totals.ada
cat donations.usd | cut -f1 | paste -sd+ | bc > totals.usd