Frontmatter
| id | 9293 |
| title | Add push synchronization step for DevIndex data to pages repo |
| state | Closed |
| labels | enhancementaibuild |
| assignees | tobiu |
| createdAt | Feb 24, 2026, 5:51 PM |
| updatedAt | Feb 24, 2026, 5:55 PM |
| githubUrl | https://github.com/neomjs/neo/issues/9293 |
| author | tobiu |
| commentsCount | 1 |
| parentIssue | null |
| subIssues | [] |
| subIssuesCompleted | 0 |
| subIssuesTotal | 0 |
| blockedBy | [] |
| blocking | [] |
| closedAt | Feb 24, 2026, 5:55 PM |
Add push synchronization step for DevIndex data to pages repo

Input from Gemini 3.1 Pro:
✦ I have successfully appended a new "Push Data to neomjs/pages" step to the
devindex-pipeline.ymlworkflow.As requested, it uses the standard
secrets.GITHUB_TOKENto clone theneomjs/pagesrepository, create the necessary nested directory structure (node_modules/neo.mjs/apps/devindex/resources/data), copy the updatedusers.jsonlfile, and commit/push it directly to thepagesrepository'smainbranch.Security Note: While both repositories are in the same organization, GitHub Actions scopes the default
GITHUB_TOKENto 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.
Problem
The DevIndex data (
users.jsonl) is generated and maintained within theneomjs/neorepository's automated hourly pipeline to ensure privacy and provide a single source of truth. However, the production deployment lives in theneomjs/pagesrepository. Currently, the data does not automatically sync to thepagesrepository, 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.ymlworkflow. After the pipeline finishes processing and committing the local data, it will use a Personal Access Token (PAGES_DEPLOY_PAT) to clone theneomjs/pagesrepository, copy the newly updatedusers.jsonlfile intonode_modules/neo.mjs/apps/devindex/resources/data/, and push the changes directly to thepagesrepo'smainbranch.This ensures a near real-time "Push" synchronization strategy where the frontend application immediately benefits from the data factory's backend updates.