You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
π€ This is an automated pull request from Repo Assist.
Summary
Adds .github/workflows/ci.yml β a minimal CI workflow that runs the repository's existing unit tests on every push to master and every pull request targeting master.
Motivation
The repository currently has no CI for the extension code itself (only the Repo Assist scheduling workflow). This means pull requests and direct commits have no automated signal about whether they break existing tests. Adding a CI workflow provides:
Instant feedback for contributors: broken utility functions are caught before merge.
Confidence for maintainers: merging Repo Assist PRs (and human PRs) comes with a green check.
Documentation: the workflow makes the npm run test:unit test runner discoverable.
Implementation
.github/workflows/ci.yml runs node --test test/unit.test.js (the existing test:unit script) against a matrix of Node.js 18, 20, and 22 β the LTS range the pure-utility tests are compatible with.
No npm install step is needed: test/unit.test.js imports only Node built-ins (node:test, node:assert/strict, fs, path, os) and the local lib/utils.js module.
Test Status
β All 7 unit tests pass locally on Node.js 22:
βΆ findFiles
β returns path when file exists in exact directory
β returns null when file does not exist anywhere in tree
β walks up the directory tree to find file
β returns file in the deepest matching directory when multiple exist
β accepts an array of file names and returns first match found
β stops at parent boundary β does not escape above parent
β handles a single-segment directory (file at root)
β findFiles (7 pass, 0 fail)
No production code changes β this PR adds only the workflow file.
This was originally intended as a pull request, but the patch modifies protected files: .github/workflows/ci.yml.
The push was rejected because GitHub Actions does not have workflows permission to push these changes, and is never allowed to make such changes, or other authorization being used does not have this permission. A human must create the pull request manually.
To create a pull request with the changes:
# Download the patch from the workflow run
gh run download 23878393168 -n agent-artifacts -D /tmp/agent-artifacts-23878393168
# Create a new branch
git checkout -b repo-assist/eng-ci-unit-tests-2026-04-02-73cd649bcdaf50ad master
# Apply the patch (--3way handles cross-repo patches)
git am --3way /tmp/agent-artifacts-23878393168/aw-repo-assist-eng-ci-unit-tests-2026-04-02.patch
# Push the branch and create the pull request
git push origin repo-assist/eng-ci-unit-tests-2026-04-02-73cd649bcdaf50ad
gh pr create --title '[Repo Assist] ci: add GitHub Actions workflow to run unit tests on push/PR' --base master --head repo-assist/eng-ci-unit-tests-2026-04-02-73cd649bcdaf50ad --repo soderlind/vscode-phpcbf
π€ This is an automated pull request from Repo Assist.
Summary
Adds
.github/workflows/ci.ymlβ a minimal CI workflow that runs the repository's existing unit tests on every push tomasterand every pull request targetingmaster.Motivation
The repository currently has no CI for the extension code itself (only the Repo Assist scheduling workflow). This means pull requests and direct commits have no automated signal about whether they break existing tests. Adding a CI workflow provides:
npm run test:unittest runner discoverable.Implementation
.github/workflows/ci.ymlrunsnode --test test/unit.test.js(the existingtest:unitscript) against a matrix of Node.js 18, 20, and 22 β the LTS range the pure-utility tests are compatible with.No
npm installstep is needed:test/unit.test.jsimports only Node built-ins (node:test,node:assert/strict,fs,path,os) and the locallib/utils.jsmodule.Test Status
β All 7 unit tests pass locally on Node.js 22:
No production code changes β this PR adds only the workflow file.
Warning
π‘οΈ Protected Files β Push Permission Denied
This was originally intended as a pull request, but the patch modifies protected files:
.github/workflows/ci.yml.The push was rejected because GitHub Actions does not have
workflowspermission to push these changes, and is never allowed to make such changes, or other authorization being used does not have this permission. A human must create the pull request manually.To create a pull request with the changes: