Commit Graph
15 Commits
Author SHA1 Message Date
Vinta Chen 6ff59a63c6 chore: bump actions/checkout from v6 to v7
CI / test (push) Canceled after 0s
Deploy Website / deploy (push) Canceled after 0s
v7 blocks checking out fork PR heads under pull_request_target and
workflow_run. Neither workflow here uses those triggers, so the only
effect is staying current with the other repos.
2026-08-21 22:25:12 +08:00
Vinta ChenandClaude cc804b1de2 feat: add Downloads/Month column to website table
Sourced from website/data/pypi_downloads.tsv the same way
github_stars.json feeds the stars column. The new sortable column
sits between GitHub Stars and Last Commit on the homepage and
category pages, formatted with thousands separators like stars, with
an em dash when no PyPI data exists. Rows are matched by normalized
README display name; Built-in entries never show counts since
same-named PyPI packages are stdlib backports (e.g. the asyncio
package).

Below 960px the column hides and the count moves into the expand
row, mirroring the existing Last Commit treatment. main.js gains the
downloads sort branch and URL param.

The deploy workflow fetches the TSV via the new
make fetch_pypi_downloads target with a daily actions/cache
fallback, mirroring the stars fetch, but non-fatal: the column
degrades to dashes when the fetch fails, unlike stars which the
build requires.

Co-Authored-By: Claude <noreply@anthropic.com>
2026-08-16 17:52:04 +08:00
Vinta ChenandClaude 0bf9522e5d chore: add uv supply-chain hardening and enforce locked installs
- Set exclude-newer to 3 days and only-binary/:all: in pyproject.toml to
  limit dependency freshness window and block source builds
- Switch uv sync to --locked in Makefile, ci.yml, and deploy-website.yml
  to enforce the lockfile rather than re-resolving on each install
- Regenerate uv.lock with exclude-newer snapshot recorded

Co-Authored-By: Claude <noreply@anthropic.com>
2026-04-22 02:21:48 +08:00
Vinta ChenandClaude a2303c9389 ci: skip deploy job on forks
Co-Authored-By: Claude <noreply@anthropic.com>
2026-04-03 16:16:08 +08:00
Vinta ChenandClaude c6004c971f ci: skip tests on non-scheduled deploy runs
Co-Authored-By: Claude <noreply@anthropic.com>
2026-04-03 16:03:35 +08:00
Vinta ChenandClaude b7b8eb02d1 ci: always run tests and simplify branches syntax in deploy workflow
Co-Authored-By: Claude <noreply@anthropic.com>
2026-04-03 16:00:21 +08:00
Vinta ChenandClaude 54864ab37a ci: merge build/deploy jobs and cache stars by date
Collapse the two-job workflow into one, set the github-pages
environment on the single job, and key the star-data cache by
date (YYYY-MM-DD) so it is shared across same-day runs instead
of being per-run-id. Also skip tests on scheduled runs and
validate JSON before serving it.

Co-Authored-By: Claude <noreply@anthropic.com>
2026-04-03 15:55:46 +08:00
Vinta ChenandClaude 32acf942d9 ci: run tests before building and deploying website
Catches parser regressions before any deployment artifact is produced.

Co-Authored-By: Claude <noreply@anthropic.com>
2026-03-22 01:32:28 +08:00
Vinta ChenandClaude 957d685ff4 ci: run fetch-stars step on every workflow trigger
Removed the 'if: github.event_name == schedule' guard so the step also
runs on manual dispatches and push-triggered deploys, not only on the
nightly schedule.

Co-Authored-By: Claude <noreply@anthropic.com>
2026-03-18 22:55:29 +08:00
Vinta ChenandClaude 0d9dfb2713 ci: consolidate star fetch into deploy workflow using Actions cache
Replace the separate fetch-github-stars.yml workflow (which committed
star data back to git) with an inline fetch step in deploy-website.yml.
Star data is now stored in Actions cache between runs, eliminating the
workflow_run trigger chain and the need to track github_stars.json in
the repository.

Co-Authored-By: Claude <noreply@anthropic.com>
2026-03-18 22:44:29 +08:00
Vinta ChenandClaude bfed6a5c81 ci: trigger deploy after fetch-github-stars workflow succeeds
Adds a workflow_run trigger so the site is rebuilt whenever fresh
star data lands on master, in addition to the existing push trigger.
The build job guard ensures it only runs on direct pushes or when
the upstream workflow concluded successfully.

Co-Authored-By: Claude <noreply@anthropic.com>
2026-03-18 22:18:10 +08:00
Vinta ChenandClaude b6d1bf9307 ci: use uv dependency groups and Makefile target for deploy workflow
Switches install step from --no-dev to --group build for explicit
dependency group selection, and replaces the bare python invocation
with `make build` to use the canonical build entrypoint.

Co-Authored-By: Claude <noreply@anthropic.com>
2026-03-18 21:33:57 +08:00
Vinta ChenandClaude Opus 4.6 c5caa5a5e1 ci: hardcode deployment URL to https://awesome-python.com
The deploy-pages action outputs http:// despite HTTPS being enforced.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-18 14:03:50 +08:00
Vinta ChenandClaude 2fe0f5c2bd ci: bump actions/checkout to v6 and upload-pages-artifact to v4
Co-Authored-By: Claude <noreply@anthropic.com>
2026-03-18 13:57:26 +08:00
Vinta ChenandClaude 177183d9bd add custom website build system
Replaces MkDocs with a bespoke Python site generator using Jinja2 templates
and Markdown. Adds uv for dependency management, GitHub Actions workflow for
deployment, and Makefile targets for local development (fetch_stars, build,
preview, deploy).

Co-Authored-By: Claude <noreply@anthropic.com>
2026-03-18 13:48:49 +08:00