download/.github/workflows/checksums.yml
2025-02-28 02:02:10 +08:00

36 lines
1.2 KiB
YAML

name: Generate Checksums
on:
push:
branches:
- main
pull_request:
permissions:
contents: write
jobs:
checksums:
runs-on: cn
steps:
- name: Generate checksums
run: |
set -e
rm -rf /tmp/repo || true
git clone --depth 1 ${{ github.server_url }}/${{ github.repository }}.git /tmp/repo
cd /tmp/repo
git checkout ${{ github.ref_name }}
git config lfs.${{ github.server_url }}/${{ github.repository }}.git/info/lfs.locksverify true
git lfs install --local
git lfs pull
IFS=$'\n'
for file in $(git ls-files | grep "^panel/" | grep -v ".sha256$" | grep -v ".txt$"); do
filename=$(basename "$file");
sha256sum -b "$file" | sed "s|$file|$filename|" > "${file}.sha256";
done
unset IFS
git add -A
git config --global user.name "CI"
git config --global user.email "ci@haozi.net"
git config --global user.password "${{ secrets.GITHUB_TOKEN }}"
git commit -m "chore: update checksums" || true
git push origin ${{ github.ref_name }}
rm -rf /tmp/repo