Files
store/.github/workflows/catalog.yml
2025-09-08 11:14:49 -07:00

37 lines
1.4 KiB
YAML

on: push
permissions:
contents: write
jobs:
c:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- run: |
echo "{" >catalog.json
c=
for d in */ .;do
[ "$d" = "./" ]&&key="root"||key="${d%/}"
files=$(find "$d" -maxdepth 1 -type f -name '*.sune'|grep -v '/\.'||:)
[ -z "$files" ]&&continue
echo "$c \"$key\": [" >>catalog.json
cc=
for f in $files;do
raw="https://raw.githubusercontent.com/$GITHUB_REPOSITORY/$GITHUB_REF_NAME/$f"
n=$(jq -r '.[0].name//empty' "$f" 2>/dev/null)
a=$(jq -r '.[0].avatar//empty' "$f" 2>/dev/null)
i=$(jq -r '.[0].id//empty' "$f" 2>/dev/null)
jq -rn --arg name "${n:-$(basename "$f")}" --arg raw "$raw" --arg avatar "$a" --arg id "$i" '({name:$name,raw:$raw}+(if $avatar=="" then {} else {avatar:$avatar} end)+(if $id=="" then {} else {id:$id} end))'|sed "1s/^/$cc /" >>catalog.json
cc=,
done
echo " ]" >>catalog.json
c=,
done
echo "}" >>catalog.json
t=$(mktemp)
jq . catalog.json >"$t" && mv "$t" catalog.json
git config user.name bot
git config user.email bot@users.noreply.github.com
git add catalog.json
git commit -m update || true
git push