LearnNewsExamplesServices
Frontmatter
id9293
titleAdd push synchronization step for DevIndex data to pages repo
stateClosed
labels
enhancementaibuild
assigneestobiu
createdAtFeb 24, 2026, 5:51 PM
updatedAtFeb 24, 2026, 5:55 PM
githubUrlhttps://github.com/neomjs/neo/issues/9293
authortobiu
commentsCount1
parentIssuenull
subIssues[]
subIssuesCompleted0
subIssuesTotal0
blockedBy[]
blocking[]
closedAtFeb 24, 2026, 5:55 PM

Add push synchronization step for DevIndex data to pages repo

Closed v12.0.0 enhancementaibuild
tobiu
tobiu commented on Feb 24, 2026, 5:51 PM

Problem

The DevIndex data (users.jsonl) is generated and maintained within the neomjs/neo repository's automated hourly pipeline to ensure privacy and provide a single source of truth. However, the production deployment lives in the neomjs/pages repository. Currently, the data does not automatically sync to the pages repository, meaning the deployed application does not immediately reflect updates (such as opt-outs or new discovered users).

Solution

Append a new step to the .github/workflows/devindex-pipeline.yml workflow. After the pipeline finishes processing and committing the local data, it will use a Personal Access Token (PAGES_DEPLOY_PAT) to clone the neomjs/pages repository, copy the newly updated users.jsonl file into node_modules/neo.mjs/apps/devindex/resources/data/, and push the changes directly to the pages repo's main branch.

This ensures a near real-time "Push" synchronization strategy where the frontend application immediately benefits from the data factory's backend updates.

tobiu added the enhancement label on Feb 24, 2026, 5:51 PM
tobiu added the ai label on Feb 24, 2026, 5:51 PM
tobiu added the build label on Feb 24, 2026, 5:51 PM
tobiu referenced in commit 3e50e14 - "build: Add push synchronization step for DevIndex data to pages repo (#9293)" on Feb 24, 2026, 5:55 PM
tobiu assigned to @tobiu on Feb 24, 2026, 5:55 PM
tobiu
tobiu Feb 24, 2026, 5:55 PM

Input from Gemini 3.1 Pro:

✦ I have successfully appended a new "Push Data to neomjs/pages" step to the devindex-pipeline.yml workflow.

As requested, it uses the standard secrets.GITHUB_TOKEN to clone the neomjs/pages repository, create the necessary nested directory structure (node_modules/neo.mjs/apps/devindex/resources/data), copy the updated users.jsonl file, and commit/push it directly to the pages repository's main branch.

Security Note: While both repositories are in the same organization, GitHub Actions scopes the default GITHUB_TOKEN to the repository running the action (i.e., neomjs/neo). Unless cross-repository access is explicitly enabled for Actions at the organization level, the push step may fail with a 403 error during the next run. If it does fail, we will need to revert to using a Personal Access Token (PAGES_DEPLOY_PAT).

The change has been committed and pushed to dev.

tobiu closed this issue on Feb 24, 2026, 5:55 PM