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.CI_PASSWORD }}" git commit -m "chore: update checksums" || true git push origin ${{ github.ref_name }} rm -rf /tmp/repo