Skip to content

Conversation

@roomote
Copy link
Contributor

@roomote roomote bot commented Feb 10, 2026

Summary

Adds a new GitHub Actions workflow that automatically builds both regular and nightly VSIX packages on every pull request, uploads them as downloadable artifacts, and posts a PR comment with download links.

This gives reviewers a one-click path to install and test PR changes locally before merging.

Reviewer action required

The workflow file is staged at .github/pr-build.yml because the automation token lacks the workflows permission needed to push to .github/workflows/. A maintainer needs to move the file:

git checkout feature/pr-build-artifacts
mv .github/pr-build.yml .github/workflows/pr-build.yml
git add -A && git commit -m "chore: move workflow to correct location" && git push

What the workflow does

  1. Triggers on pull_request events (opened, reopened, ready_for_review, synchronize) targeting main
  2. Cancels in-flight builds for the same PR via concurrency groups
  3. build-regular job - Runs pnpm vsix to produce the standard marketplace VSIX
  4. build-nightly job - Patches the nightly version number and runs pnpm vsix:nightly
  5. comment job - Posts (or updates) a PR comment with links to download both artifacts from the workflow run
  6. Artifacts are retained for 14 days

How reviewers use it

After the workflow runs, a comment appears on the PR:

VSIX Build Artifacts

Variant Artifact
Regular roo-code-regular
Nightly roo-code-nightly
Download artifacts from this workflow run

Reviewers click the link, download the .vsix, and install with:

code --install-extension path/to/file.vsix

View task on Roo Code Cloud

Important

Adds a GitHub Actions workflow to build and upload regular and nightly VSIX packages on pull request events, with download links posted in PR comments.

  • Workflow:
    • New workflow .github/pr-build.yml for building VSIX packages on pull_request events targeting main.
    • Cancels in-flight builds for the same PR using concurrency groups.
  • Jobs:
    • build-regular: Runs pnpm vsix to build regular VSIX and uploads it as roo-code.
    • build-nightly: Patches version in package.nightly.json, runs pnpm vsix:nightly, and uploads as roo-code-nightly.
    • comment: Posts or updates a PR comment with download links for both artifacts.
  • Artifacts:
    • Retained for 14 days.
  • Reviewer Action:
    • Workflow file needs to be moved to .github/workflows/ by a maintainer.

This description was created by Ellipsis for 273203e. You can customize this summary. It will automatically update as commits are pushed.

This file should be moved to .github/workflows/pr-build.yml
The roomote bot token lacks the workflows permission to push directly
to .github/workflows/.
@roomote
Copy link
Contributor Author

roomote bot commented Feb 10, 2026

Rooviewer Clock   See task

Both previously flagged issues are resolved in 273203e. No new issues found.

  • Comment pagination bug -- listComments uses the default 30-per-page limit, so on busy PRs the bot's earlier comment won't be found and a duplicate will be posted. Use github.paginate with per_page: 100.
  • Dead step -- "Determine VSIX filename" (lines 29-35) sets outputs that no subsequent step consumes. Remove it.
Previous reviews

Mention @roomote in a comment to request specific changes to this pull request or fix all unresolved issues.

Comment on lines 121 to 125
const { data: comments } = await github.rest.issues.listComments({
owner: context.repo.owner,
repo: context.repo.repo,
issue_number: context.issue.number,
});
Copy link
Contributor Author

Choose a reason for hiding this comment

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

listComments returns 30 results per page by default. On PRs with more than 30 comments, the bot's earlier comment won't appear in the first page, so comments.find(...) won't match it and a duplicate comment will be created instead of updating the existing one. Set per_page: 100 and use github.paginate (or the paginate.iterator) to walk all pages.

Suggested change
const { data: comments } = await github.rest.issues.listComments({
owner: context.repo.owner,
repo: context.repo.repo,
issue_number: context.issue.number,
});
const comments = await github.paginate(github.rest.issues.listComments, {
owner: context.repo.owner,
repo: context.repo.repo,
issue_number: context.issue.number,
per_page: 100,
});

Fix it with Roo Code or mention @roomote and request a fix.

Comment on lines 29 to 35
- name: Determine VSIX filename
id: vsix
run: |
VSIX_FILE=$(ls bin/*.vsix | head -n1)
VSIX_NAME=$(basename "$VSIX_FILE")
echo "file=$VSIX_FILE" >> "$GITHUB_OUTPUT"
echo "name=$VSIX_NAME" >> "$GITHUB_OUTPUT"
Copy link
Contributor Author

Choose a reason for hiding this comment

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

This step sets steps.vsix.outputs.file and steps.vsix.outputs.name, but no subsequent step references either output. The upload step uses a glob pattern directly. Consider removing this dead step to reduce noise.

Fix it with Roo Code or mention @roomote and request a fix.

@hannesrudolph
Copy link
Collaborator

@roomote can you assess if the comments/suggestions are legit? If so, address them.

@roomote
Copy link
Contributor Author

roomote bot commented Feb 10, 2026

Fixaroo Clock   See task

Fixed both review issues: removed the dead "Determine VSIX filename" step and replaced listComments with github.paginate (using per_page: 100) to avoid missing the bot comment on busy PRs.

View commit | Revert commit

- Remove unused "Determine VSIX filename" step whose outputs were never consumed
- Replace listComments with github.paginate to handle PRs with 30+ comments
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.

2 participants