Skip to content

Prepare and publish extension packages through a queue - #308

Merged
admdly merged 17 commits into
mainfrom
codex/directory-package-builds
Nov 10, 2026
Merged

admdly merged 17 commits into
mainfrom
codex/directory-package-builds

Conversation

@admdly

@admdly admdly commented Nov 7, 2026 •

Copy link
Copy Markdown
Contributor

Accept ready-to-install extension ZIPs and prepare them asynchronously through a queue. Preserve their compressed file payloads, replace the manifest with directory metadata, and verify checksums. Releases reference immutable artifacts; submission and approval check that the reviewed listing matches the selected package. Uploaded code and build scripts are never executed.

ZIPs stay in private B2 storage. Sanitized SVG or optimized AVIF/PNG icons are stored during packaging in the public asset bucket at extensions/<extension UUID>/icons/<asset UUID>.<format>. Pending image URLs are unlisted, not private; API previews remain permission-checked. New extensions receive a permanent UUID draft identity after validation, and the first submission reuses it. Approval reuses the existing CDN assets without copying them.

Queue processing rechecks owner and publisher access, handles duplicate delivery and interrupted work, and bounds retries and archive processing. The package workflow depends on narrow repository, object-store and image-processing interfaces. Cloudflare queue delivery, binding configuration and image processing live in platform adapters; B2 storage has its own adapter. SQL and guarded writes stay in persistence repositories. Node tests exercise ZIP preparation and manifest corrections without Cloudflare runtime imports. Package integration tests use the B2 adapter with mocked S3 responses and D1/image bindings; package storage has no R2 fallback.

Local development uses the regular Worker configuration. Public URLs and deployment controls remain in Wrangler. B2 connection details and the MXroute server/username are dashboard-managed runtime variables, preserved by keep_vars: true. Documentation uses placeholders for operational values; credentials stay in secrets.

Deployment: package mode remains disabled. Provision the declared Queue and confirm Images binding support before automatic deployment. Configure the separate B2 credentials and complete production runtime/capacity measurements before enabling package mode. Enable and smoke-test this API before deploying the directory changes or publisher changes.

@chatgpt-codex-connector

chatgpt-codex-connector Bot commented Nov 7, 2026 •

Copy link
Copy Markdown
Codex Review Summary: ✅ Completed

This comment shows the latest Codex review activity on this pull request.

Review Status Commit Review trigger
🔒 Security Review ✅ Completed 2026-11-07T15:01:44.033346Z 5bddf1d PR opened
ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review" or "@codex security review".

Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings.

@cloudflare-workers-and-pages

cloudflare-workers-and-pages Bot commented Nov 7, 2026 •

Copy link
Copy Markdown

Deploying with  Cloudflare Workers  Cloudflare Workers

The latest updates on your project. Learn more about integrating Git with Workers.

Status Name Latest Commit Updated (UTC)
✅ Deployment successful!
View logs
api 5c4c0d9 Nov 10 2026, 03:37 AM

@admdly admdly self-assigned this Nov 7, 2026

@cubic-dev-ai cubic-dev-ai Bot left a comment •

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

All reported issues were addressed across 55 files

Reply with feedback, questions, or to request a fix.

Turn on auto-fix | Re-trigger cubic

Comment thread src/services/extensions/v1/database.ts Resolved
Comment thread src/services/extensions/v2/db/schema.ts Resolved

@cubic-dev-ai cubic-dev-ai Bot left a comment •

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

All reported issues were addressed across 20 files (changes from recent commits).

Reply with feedback, questions, or to request a fix.

Turn on auto-fix | Re-trigger cubic

Comment thread src/services/extensions/v1/README.md Resolved

@cubic-dev-ai cubic-dev-ai Bot left a comment •

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

All reported issues were addressed across 16 files (changes from recent commits).

Reply with feedback, questions, or to request a fix.

Turn on auto-fix | Re-trigger cubic

Comment thread src/services/extensions/v2/PACKAGING.md Resolved

@cubic-dev-ai cubic-dev-ai Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

0 issues found across 1 file (changes from recent commits).

Requires human review: Adds an async package-preparation pipeline (queue consumer, B2 storage, new DB tables) and changes v1 latest-release semantics; needs human sign-off on public pre-approval icons, schema migration, and API/operational tradeoffs.

Turn on auto-fix | Re-trigger cubic

@cubic-dev-ai cubic-dev-ai Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

0 issues found across 4 files (changes from recent commits).

Requires human review: Adds queue-based package preparation with B2 storage, image processing, DB migrations, and v1 latest-release changes; needs human sign-off on public pending icons, schema migration, v1 contract, and operational queue tradeoffs.

Turn on auto-fix | Re-trigger cubic

@cubic-dev-ai cubic-dev-ai Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

0 issues found across 4 files (changes from recent commits).

Requires human review: Queue-based package preparation with B2 storage, image processing, migrations, and v1 latest-release semantics. Despite doc/config improvements, public pending icons, schema, v1 contract, and queue capacity decisions need human sign-off.

Turn on auto-fix | Re-trigger cubic

@cubic-dev-ai cubic-dev-ai Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

0 issues found across 2 files (changes from recent commits).

Requires human review: Queue-based package preparation adds B2/public-icon storage, migrations, queue bindings, and new v1 latest-release semantics. Pending-icon visibility, the v1 contract, and queue capacity/retry tradeoffs are deliberate human decisions.

Turn on auto-fix | Re-trigger cubic

@cubic-dev-ai cubic-dev-ai Bot left a comment •

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

All reported issues were addressed across 6 files (changes from recent commits).

Reply with feedback, questions, or to request a fix.

Turn on auto-fix | Re-trigger cubic

@cubic-dev-ai cubic-dev-ai Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

0 issues found across 3 files (changes from recent commits).

Requires human review: Queue-based package preparation introduces public storage for pending icons, v1 latest-release contract changes, DB migrations, and queue operational tradeoffs; package mode stays disabled, but these choices still need human sign-off.

Turn on auto-fix | Re-trigger cubic

@admdly
admdly merged commit 968c4b6 into main Nov 10, 2026
9 checks passed
@admdly
admdly deleted the codex/directory-package-builds branch November 10, 2026 03:40
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant