Dargon789/sequence.js
View on GitHub# Sequence diagram for triggering and executing the dist publishing workflow
Open
#153 opened on Dec 26, 2025
dependenciesdocumentationduplicateenhancementgood first issueinvalidjavascriptquestion
Repository metrics
- Stars
- (1 star)
- PR merge metrics
- (PR metrics pending)
Description
Reviewer's Guide
Introduces a GitHub Actions workflow that builds specific packages and publishes their built distributions to dedicated dist branches, rewriting workspace dependencies to point at those dist branches before force-pushing them to the repository.
Sequence diagram for triggering and executing the dist publishing workflow
sequenceDiagram
actor Dev
participant GitHub
participant Workflow_Publish_Dists as Workflow_Publish_Dists
participant Runner as GitHub_Runner
participant Repo as GitHub_Repository
Dev->>GitHub: Push to master or manual workflow_dispatch
GitHub->>Workflow_Publish_Dists: Trigger workflow
Workflow_Publish_Dists->>Runner: Start job build-and-push
Runner->>Repo: actions/checkout@v4 (fetch-depth 0)
Runner->>Runner: Run install-dependencies action
Runner->>Runner: Run pnpm run build
loop For each PACKAGE in PACKAGES
Runner->>Runner: Copy packages/PACKAGE to /tmp/PACKAGE
Runner->>Runner: git init and checkout branch dists/PACKAGE
Runner->>Runner: Rewrite workspace deps in package.json
Runner->>Repo: git push -f HEAD:dists/PACKAGE using GITHUB_TOKEN
end
Runner-->>Workflow_Publish_Dists: Job build-and-push completed
Workflow_Publish_Dists-->>GitHub: Report workflow status
GitHub-->>Dev: Show workflow result in checks
Flow diagram for per-package dist branch preparation and publishing
flowchart TD
A[Start job build-and-push] --> B[Checkout repo with fetch-depth 0]
B --> C[Install dependencies via local action]
C --> D[Run pnpm run build]
D --> E[Iterate PACKAGES array]
subgraph Loop_per_PACKAGE
direction TB
E --> F[Set BRANCH to dists/PACKAGE and PKG_DIR to packages/PACKAGE]
F --> G[Create temp dir /tmp/PACKAGE]
G --> H[Copy PKG_DIR contents to temp dir]
H --> I[cd into /tmp/PACKAGE]
I --> J[git init]
J --> K[git checkout -b BRANCH]
K --> L[Configure git user github-actions]
L --> M[Run node script to rewrite workspace deps in package.json]
M --> N[git add .]
N --> O[git commit -m Build: publish PACKAGE dist]
O --> P[git remote add origin with GITHUB_TOKEN]
P --> Q[git push -f origin HEAD:BRANCH]
Q --> R[cd back]
R --> E
end
E --> S[All packages processed]
S --> T[End job]
File-Level Changes
| Change | Details | Files |
|---|---|---|
| Add a GitHub Actions workflow to build selected packages and publish their dist contents to dedicated branches with rewritten dependency versions. | Define a Publish Dists for Packages workflow triggered on pushes to master and manual dispatch, running on ubuntu-latest.Check out the repository with full history and install dependencies using the shared install-dependencies composite action.Build the monorepo packages via pnpm run build before publishing.For each configured package path, copy its built contents to a temp directory, initialize a git repository, and create a branch named dists/.Run a Node script to rewrite workspace: dependencies in package.json to GitHub repo-based versions targeting corresponding dist branches.Configure git identity, commit the package contents, and force-push each branch to the origin remote under dists/. | .github/workflows/Publish-Dists.yml |
Interacting with Sourcery
- Trigger a new review: Comment
@sourcery-ai reviewon the pull request. - Continue discussions: Reply directly to Sourcery's review comments.
- Generate a GitHub issue from a review comment: Ask Sourcery to create an
issue from a review comment by replying to it. You can also reply to a
review comment with
@sourcery-ai issueto create an issue from it. - Generate a pull request title: Write
@sourcery-aianywhere in the pull request title to generate a title at any time. You can also comment@sourcery-ai titleon the pull request to (re-)generate the title at any time. - Generate a pull request summary: Write
@sourcery-ai summaryanywhere in the pull request body to generate a PR summary at any time exactly where you want it. You can also comment@sourcery-ai summaryon the pull request to (re-)generate the summary at any time. - Generate reviewer's guide: Comment
@sourcery-ai guideon the pull request to (re-)generate the reviewer's guide at any time. - Resolve all Sourcery comments: Comment
@sourcery-ai resolveon the pull request to resolve all Sourcery comments. Useful if you've already addressed all the comments and don't want to see them anymore. - Dismiss all Sourcery reviews: Comment
@sourcery-ai dismisson the pull request to dismiss all existing Sourcery reviews. Especially useful if you want to start fresh with a new review - don't forget to comment@sourcery-ai reviewto trigger a new review!
Customizing Your Experience
Access your dashboard to:
- Enable or disable review features such as the Sourcery-generated pull request summary, the reviewer's guide, and others.
- Change the review language.
- Add, remove or edit custom review instructions.
- Adjust other review settings.
Getting Help
- Contact our support team for questions or feedback.
- Visit our documentation for detailed guides and information.
- Keep in touch with the Sourcery team by following us on X/Twitter, LinkedIn or GitHub.
Originally posted by @sourcery-ai[bot] in https://github.com/Dargon789/sequence.js/issues/152#issuecomment-3693293494