fix: enforce working-directory for act_runner host mode compatibility
Some checks failed
/ audit (push) Failing after 4s
ci-cd / build (push) Failing after 5s
ci / build (push) Failing after 3s
AITBC CLI Level 1 Commands Test / test-cli-level1 (18) (push) Failing after 14s
AITBC CLI Level 1 Commands Test / test-cli-level1 (20) (push) Failing after 5s
autofix / fix (push) Failing after 2s
security-scanning / audit (push) Failing after 1s
test / test (push) Failing after 3s
ci-cd / deploy (push) Has been skipped

CRITICAL FIX: Resolve act_runner host mode working directory issue

Problem:
- act_runner host mode does not persist working directory between steps
- Each 'cd repo' command was being lost due to isolated step execution
- npm install was still running in hostexecutor directory instead of repo

Solution:
- Add 'working-directory: repo' to every step after clone
- Enforce working directory at step level instead of inside run commands
- This bypasses act_runner host mode quirks completely

Changes:
- Update all 7 workflows to use working-directory: repo
- Remove 'cd repo' from run commands (redundant with working-directory)
- Keep git clone step outside working-directory (needs to run in default dir)
- Add verification steps to confirm correct working directory

Workflows updated:
- ci.yml, audit.yml, fix.yml, test.yml, security-scanning.yml
- cli-level1-tests.yml, ci-cd.yml

This should finally resolve the ENOENT: no such file or directory
errors for package.json by ensuring all npm commands execute in the
correct repository directory.
This commit is contained in:
2026-03-27 12:24:14 +01:00
parent 8759c0e9f2
commit 37abc660da
7 changed files with 39 additions and 55 deletions

View File

@@ -30,23 +30,20 @@ jobs:
git clone https://gitea.bubuit.net/oib/aitbc.git repo
- name: Setup Node ${{ matrix.node-version }}
working-directory: repo
run: |
cd repo
curl -fsSL https://deb.nodesource.com/setup_${{ matrix.node-version }}.x | bash -
apt-get install -y nodejs
- name: Install dependencies
run: |
cd repo
npm install --legacy-peer-deps
working-directory: repo
run: npm install --legacy-peer-deps
- name: Run CLI Level 1 Tests
run: |
cd repo
npm run test:cli:level1 || echo "CLI tests completed"
working-directory: repo
run: npm run test:cli:level1 || echo "CLI tests completed"
- name: Upload coverage reports
if: matrix.node-version == '20'
run: |
cd repo
npm run test:coverage || echo "Coverage completed"
working-directory: repo
run: npm run test:coverage || echo "Coverage completed"