Files
wp-plugin-starter-template-…/.github/workflows/wordpress-tests.yml

78 lines
2.1 KiB
YAML

name: WordPress Tests
on:
push:
branches: [ main, feature/*, bugfix/* ]
pull_request:
branches: [ main ]
jobs:
code-quality:
name: Code Quality Check
runs-on: ubuntu-latest
strategy:
matrix:
node-version: [18, 20]
steps:
- uses: actions/checkout@v4
- name: Setup Node.js
uses: actions/setup-node@v4
with:
node-version: ${{ matrix.node-version }}
cache: 'npm'
- name: Install dependencies
run: npm ci
- name: Verify package.json and package-lock.json
run: |
echo "Verifying package.json and package-lock.json are in sync"
npm ci --dry-run
- name: Lint JavaScript files
run: |
echo "Linting JavaScript files"
# Add your linting command here when you have one
# For example: npm run lint
# Note about e2e tests
- name: Note about e2e tests
run: |
echo "Note: e2e tests are temporarily disabled in CI due to Docker compatibility issues."
echo "Please run tests locally before submitting PRs using:"
echo "npm run setup:single && npm run test:single:headless"
echo "npm run setup:multisite && npm run test:multisite:headless"
# Temporarily disable e2e tests until we can fix the Docker service container issues
# e2e-test:
# name: End-to-End Tests
# runs-on: ubuntu-latest
# needs: code-quality
# steps:
# - uses: actions/checkout@v4
#
# - name: Setup Node.js
# uses: actions/setup-node@v4
# with:
# node-version: '20'
# cache: 'npm'
#
# - name: Install dependencies
# run: npm ci
#
# - name: Install Cypress
# run: npm install cypress
#
# - name: Wait for WordPress
# run: |
# echo "Waiting for WordPress to be ready..."
# timeout 60 bash -c 'until curl -s http://localhost:8000; do sleep 2; done'
#
# - name: Run Cypress tests
# run: |
# echo "Running e2e tests..."
# # This is a placeholder for the actual test command
# # npm run test:single:headless