diff --git a/.github/workflows/star-history.yml b/.github/workflows/star-history.yml deleted file mode 100644 index b7d90c43..00000000 --- a/.github/workflows/star-history.yml +++ /dev/null @@ -1,72 +0,0 @@ -name: Refresh star history chart - -on: - schedule: - # Twice daily at 06:00 and 18:00 UTC. - - cron: "0 6,18 * * *" - workflow_dispatch: - -permissions: - contents: write - -env: - DO_NOT_TRACK: "1" - KTX_TELEMETRY_DISABLED: "1" - NEXT_TELEMETRY_DISABLED: "1" - -concurrency: - group: star-history-refresh - cancel-in-progress: true - -jobs: - refresh: - name: Regenerate assets/star-history.svg - runs-on: ubuntu-latest - steps: - - name: Checkout repository - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 - with: - # RELEASE_PAT can push to the protected main branch; the default - # GITHUB_TOKEN is rejected by the branch-protection hook (GH006). - token: ${{ secrets.RELEASE_PAT }} - - - name: Fetch fresh star-history SVG - run: | - set -euo pipefail - # cachebust forces star-history to regenerate instead of serving its - # own server-side cache; --location follows the slug-normalizing 301. - url="https://api.star-history.com/svg?repos=Kaelio/ktx&type=Date&cachebust=${GITHUB_RUN_ID}-${GITHUB_RUN_ATTEMPT}" - curl --fail --location --silent --show-error \ - --retry 3 --retry-delay 5 --max-time 60 \ - -o assets/star-history.svg.new "$url" - # Guard against error pages / truncated responses before overwriting. - if ! grep -q "" assets/star-history.svg.new; then - echo "Downloaded file is not a valid SVG; aborting." >&2 - exit 1 - fi - if [ "$(wc -c < assets/star-history.svg.new)" -lt 1000 ]; then - echo "Downloaded SVG is suspiciously small; aborting." >&2 - exit 1 - fi - # The star-history API returns the SVG without a trailing newline, - # which end-of-file-fixer rewrites whenever pre-commit runs - # --all-files on a PR. Because the refresh commit below uses [skip ci], - # the hook never runs against it here, so an un-normalized file - # silently breaks the pre-commit check on every open PR. Normalize to - # exactly one trailing newline before committing. - printf '%s\n' "$(cat assets/star-history.svg.new)" > assets/star-history.svg - rm -f assets/star-history.svg.new - - - name: Commit if changed - run: | - set -euo pipefail - if git diff --quiet -- assets/star-history.svg; then - echo "Star-history chart unchanged; nothing to commit." - exit 0 - fi - git config user.name "github-actions[bot]" - git config user.email "41898282+github-actions[bot]@users.noreply.github.com" - git add assets/star-history.svg - # [skip ci] keeps this housekeeping commit from triggering KTX CI. - git commit -m "chore: refresh star history chart [skip ci]" - git push