chore: fix local pod build issue + remove CircleCI config - #14504
Conversation
CircleCI is fully disabled — the setup gate is `equal: ['disabled', 'enabled']`, which is always false — and is not coming back. Remove the entire `.circleci/` tree (config.yml, continue_config.yml, src/, scripts, slack-templates, hooks) and clean up dangling references: - Drop the `validate-ci-config` npm script (packed/validated the CircleCI config). - Remove `.circleci/continue_config.yml` from .gitignore. - Remove the stale CircleCI build badge from packages/web/README.md. Preserve the one live dependency: `publish-packages.yml` (GitHub Actions) generates its Slack message from `publish-packages-template.jq`, which lived under `.circleci/slack-templates/`. Move it to `scripts/slack-templates/` and update `scripts/publish-packages-slack-template.sh` to point there. Note: the dead `.circleci/**` path-filter entries in the web and mobile GitHub Actions workflows are left as-is here (editing workflow files requires the `workflow` OAuth scope); they are now no-op globs and can be cleaned up in a follow-up. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
|
|
Dependency limit exceeded — report not shown. This pull request scan exceeded the 10,000-dependency limit applied to this scan, so the results are incomplete and may be inaccurate. To avoid reporting false positives, Socket has not posted a report. Upgrade your plan to raise the dependency limit and get complete reports, or view the partial scan in the dashboard. Socket is always free for open source. If this is a non-commercial open source project, contact us to request a free Team account. |
🌐 Web preview readyPreview URL: https://audius-web-preview-pr-14504.audius.workers.dev Unique preview for this PR (deployed from this branch). |
The embed player has had **no deploy path since 2026-06-23**. CircleCI shipped it via `embed-deploy-production-cloudflare`; #14504 deleted `.circleci` without porting that job, and nothing in `.github/` has referenced `packages/embed` since. The package README still says "Deployed via CI". Caught because #14571 sat merged for four days with the old bundle still serving on `audius.co/embed`. ## The port Adds an `embed-deploy` job to `web.yml`. Three deliberate differences from the CircleCI original: | | CircleCI | here | |---|---|---| | trigger | `release*` branches | `main` | | gate | none | none (see below) | | deploy cmd | `npm run deploy:prod` | `npx wrangler@4.54.0 deploy`, matching the web deploy | Not behind the `production` gate that web and desktop share. The embed is a self-contained player with no desktop/S3 half to coordinate with, and gating it would mean the deploy that just rotted for two months needs a human every time. Easy to add `needs: [production-gate]` if you'd rather it wait. Also adds `packages/embed/**` to the workflow path filters — without it an embed-only change doesn't trigger this workflow at all, which is why #14571 ran no CI beyond the security scanners. ## Two fixes it depends on - **`wrangler.toml` was wrangler-1.x era.** `type = "webpack"` is silently ignored and `[site] entry-point` is deprecated; both replaced with a top-level `main`. Verified with `--dry-run` on the pinned 3.30.1 *and* 4.54.0 — clean on both, warnings on neither. - **`deploy:prod` called `wrangler publish`**, which no longer exists in wrangler 4. So the manual deploy documented in the README was already broken on any current wrangler. Now `wrangler deploy --env production`. The odd-looking build/deploy split is preserved, not fixed: `build:prod` renames `build/` → `build-production/` and the deploy job renames it back, because `[site] bucket` points at `./build`. That split across repo and CI is why `build:prod && deploy:prod` deploys nothing on its own. Worth collapsing someday; left alone here to keep this a port. ## Verification Ran the job's exact step sequence locally: `npm run build:prod` → `workers-site npm i` → `mv build-production build` → `npx wrangler@4.54.0 deploy --env production --dry-run`. Uploads 57.95 KiB, zero warnings. Confirmed the built bundle contains #14571's strings, so this would ship the fix that's currently stuck. Only thing not verifiable without merging: that `secrets.CLOUDFLARE_API_TOKEN` (already used by the web deploy in this same workflow) has access to the `embed` worker. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-authored-by: Claude Opus 5 <noreply@anthropic.com>
Summary
Two related housekeeping items. One of them (the pod fix) turned out to have no repo delta — see below.
1. Local pod build issue — fixed locally, no repo change
pod installwas aborting with afmtversion conflict:Root cause: the local
node_modules/react-nativepodspecs had been hand-edited (mtime May 22) to bumpfmt11.0.2 → 12.1.0across ~16 podspecs (third-party-podspecs/fmt.podspec,RCT-Folly.podspec, and theReactCommon/React-*set). This was an abandoned experiment that predates the committed fix in #14403 (May 27), where we deliberately keptfmtat 11.0.2 and patchedbase.hvia the Podfilepost_installinstead ("no equivalent backport exists for 0.79-stable yet"). The committedPodfile.lockpins 11.0.2, so the stale local 12.1.0 podspecs conflicted with it.Fix: restored the drifted
node_modulespodspecs to the pristinereact-native@0.79.5versions (which are 11.0.2 — matching the committed lockfile) and cleared CocoaPods' stalePods/Local Podspecs/cache.pod installnow completes, and the committedbase.hpatch applies cleanly ("Patched Pods/fmt/include/fmt/base.h … fmt 11.0.2 compat").Because the drift was entirely in gitignored
node_modules/Pods, there is no repository change for this — the committed state was already correct and reproducible (a freshnpm installships fmt 11.0.2). Documented here for the record; the only thing in this PR is the CircleCI removal below.2. Remove CircleCI config
CircleCI is fully disabled — the setup gate is
equal: ['disabled', 'enabled'](always false) — and is not coming back. Removed the entire.circleci/tree (55 files, ~3,100 lines) plus dangling references:validate-ci-confignpm script..circleci/continue_config.ymlfrom.gitignore.packages/web/README.md.publish-packages.ymlworkflow generates its Slack message frompublish-packages-template.jq, which lived under.circleci/slack-templates/. Moved it toscripts/slack-templates/and repointedscripts/publish-packages-slack-template.sh.Follow-up (not in this PR)
The web/mobile GitHub Actions workflows still list
- '.circleci/**'as a path-trigger. These are now no-op globs (the dir is gone). I left them out because editing.github/workflows/*.ymlrequires theworkflowOAuth scope, which this client lacks. Trivial one-line cleanup for a follow-up with the right scope.🤖 Generated with Claude Code