Skip to content

chore(website): migrate to pnpm and enable minimum release age#724

Draft
B4nan wants to merge 1 commit intomasterfrom
chore/migrate-website-to-pnpm
Draft

chore(website): migrate to pnpm and enable minimum release age#724
B4nan wants to merge 1 commit intomasterfrom
chore/migrate-website-to-pnpm

Conversation

@B4nan
Copy link
Copy Markdown
Member

@B4nan B4nan commented Apr 14, 2026

Summary

Migrates the website/ subdirectory from Yarn 4 to pnpm 10.24.0 as part of an org-wide supply-chain hardening effort. The Python root (uv) is unchanged.

Enables a 24h minimum release age for third-party npm packages via pnpm-workspace.yaml (with @apify/* and @crawlee/* excluded so first-party releases stay fast), and mirrors the policy in renovate.json via internalChecksFilter=strict plus a packageRule that sets minimumReleaseAge: 0 days for the same scopes.

Changes

  • website/package.json: renamed to apify-client-python-website, marked private: true, set packageManager to pnpm@10.24.0, rewrote all script references from yarn to pnpm.
  • website/pnpm-workspace.yaml (new): sets minimumReleaseAge: 1440 (minutes) with @apify/* and @crawlee/* excluded.
  • website/.npmrc (new): enables hoisted node linker and workspace package linking.
  • website/pnpm-lock.yaml (new): generated from pnpm install.
  • Removed Yarn artifacts: website/yarn.lock, website/.yarnrc.yml, website/.yarn/ (only contained install-state.gz; no .yarn/patches/ directory was present).
  • website/docusaurus.config.js: renamed future.experimental_faster to future.faster (required by Docusaurus 3.10).
  • .github/actions/pnpm-install/action.yml (new): composite action copied verbatim from apify-client-js for use by future CI workflows.
  • .github/workflows/_release_docs.yaml: git add website/yarn.lock -> git add website/pnpm-lock.yaml.
  • .github/workflows/manual_release_stable.yaml: replaced inline yarn install + npx docusaurus in the version_docs job with pnpm/action-setup, pnpm install --frozen-lockfile, and pnpm exec docusaurus. (Steps are inlined rather than calling ./.github/actions/pnpm-install because GitHub Actions does not support working-directory on uses: steps and the composite expects to run from the repo containing the lockfile.)
  • pyproject.toml: poe tasks update-docs-theme, build-docs, and run-docs now use pnpm instead of yarn / corepack enable && yarn.
  • renovate.json: added internalChecksFilter: "strict" and a package rule granting @apify/* / @crawlee/* a 0 days minimum release age.
  • .gitignore: dropped the now-obsolete website/.yarn entry.

Verified locally: pnpm install, pnpm install --frozen-lockfile, and Docusaurus config validation all pass. A full pnpm build is gated by the repo's Python docs pipeline (pydoc-markdown) which is invoked by uv run poe build-docs in CI and was not re-run locally; the Docusaurus config loads past the future.faster rename cleanly.

Rolls out the same pattern just applied to apify-sdk-python.

🤖 Generated with Claude Code

Migrate the website/ subdirectory from Yarn 4 to pnpm 10.24.0 as part of
an org-wide supply-chain hardening effort. The Python root (uv) is
unchanged. Enables a 24h minimum release age for third-party packages
via pnpm-workspace.yaml (with @apify/* and @crawlee/* excluded), and
mirrors the policy in renovate.json using internalChecksFilter=strict.

Also renames the renamed-by-Docusaurus future.experimental_faster option
to future.faster in the Docusaurus config, and replaces yarn/npx calls
in workflows and poe tasks with their pnpm equivalents.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
@github-actions github-actions bot added this to the 138th sprint - Tooling team milestone Apr 14, 2026
@github-actions github-actions bot added the t-tooling Issues with this label are in the ownership of the tooling team. label Apr 14, 2026
@codecov
Copy link
Copy Markdown

codecov bot commented Apr 14, 2026

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 95.04%. Comparing base (a1770eb) to head (0bab2c6).

Additional details and impacted files
@@            Coverage Diff             @@
##           master     #724      +/-   ##
==========================================
- Coverage   95.21%   95.04%   -0.17%     
==========================================
  Files          45       45              
  Lines        4747     4747              
==========================================
- Hits         4520     4512       -8     
- Misses        227      235       +8     
Flag Coverage Δ
integration 95.04% <ø> (-0.17%) ⬇️

Flags with carried forward coverage won't be shown. Click here to find out more.

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

@B4nan B4nan added the adhoc Ad-hoc unplanned task added during the sprint. label Apr 14, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

adhoc Ad-hoc unplanned task added during the sprint. t-tooling Issues with this label are in the ownership of the tooling team.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants