refactor: revert CI image approach and use standard npm ci in workflows
Test / unit-tests (push) Successful in 2m32s
Pull Request / unit-tests (pull_request) Successful in 2m36s
Pull Request / acceptance-tests (pull_request) Failing after 4m59s
Pull Request / analyze-bump-type (pull_request) Has been skipped

The CI image approach with pre-installed dependencies doesn't work with Gitea Actions due to workspace mounting issues. When Gitea Actions runs a container job, it mounts the workspace at a specific path (e.g., /workspace/david/euchre_camp), which hides the container's /app directory where dependencies were installed.

Changes:
- Reverted pr.yml unit-tests to use node:20-alpine with npm ci
- Updated pr.yml acceptance-tests to use mcr.microsoft.com/playwright image with npm ci
- Updated test.yml to use node:20-alpine with npm ci
- Removed ci-image-builder.yml workflow
- Removed Dockerfile.ci and build-ci-image.sh
- Updated AGENTS.md and README.md to document the deprecation
- Updated justfile to remove CI image commands

The standard approach of running npm ci in each workflow is the recommended approach for Gitea Actions.
This commit is contained in:
2026-03-31 23:10:50 -07:00
parent 397594a9df
commit d24e810ad1
8 changed files with 53 additions and 240 deletions
+16 -13
View File
@@ -9,19 +9,15 @@ jobs:
unit-tests:
runs-on: ubuntu-latest
container:
image: docker.notsosm.art/euchre-camp-ci-runner:latest
image: node:20-alpine
options: --user root
env:
NODE_PATH: /workspace/david/euchre_camp/node_modules
steps:
- name: Checkout code
uses: actions/checkout@v4
- name: Link node_modules from container
run: |
# Create symlink from container's node_modules to workspace
ln -sf /app/node_modules /workspace/david/euchre_camp/node_modules
- name: Install dependencies
run: npm ci
- name: Run unit tests
run: npm run test:run
@@ -30,22 +26,29 @@ jobs:
runs-on: ubuntu-latest
needs: unit-tests
container:
image: docker.notsosm.art/euchre-camp-ci-runner:latest
image: mcr.microsoft.com/playwright:v1.58.0-jammy
options: --user root
env:
DATABASE_PROVIDER: sqlite
DATABASE_URL: file:./prisma/ci.db
BETTER_AUTH_SECRET: test-secret-key-for-ci-only
NODE_PATH: /workspace/david/euchre_camp/node_modules
steps:
- name: Checkout code
uses: actions/checkout@v4
- name: Link node_modules from container
run: |
# Create symlink from container's node_modules to workspace
ln -sf /app/node_modules /workspace/david/euchre_camp/node_modules
- name: Setup Node.js
uses: actions/setup-node@v4
with:
node-version: '20'
- name: Install dependencies
run: npm ci
- name: Generate Prisma client
run: npx prisma generate
env:
DATABASE_URL: postgresql://user:pass@localhost:5432/dummy
- name: Setup SQLite database
run: |