Skip to content

Phase #3: Add GitHub Actions CI workflow#20612

Open
souhailmerroun wants to merge 1 commit intocommunity-edition-elasticsearch-8.17-upgradefrom
community-edition-github-actions
Open

Phase #3: Add GitHub Actions CI workflow#20612
souhailmerroun wants to merge 1 commit intocommunity-edition-elasticsearch-8.17-upgradefrom
community-edition-github-actions

Conversation

@souhailmerroun
Copy link
Copy Markdown
Contributor

Summary

  • Adds GitHub Actions CI workflow alongside existing CircleCI configuration
  • Both CI systems remain active during transition period
  • Workflow structure mirrors CircleCI CE tests

What's included

Job Description
checkout Initial code checkout with artifact upload
build Install dependencies, build assets and front packages
test-back-static PHPStan, PHP-CS-Fixer, container lint
test-back-unit PHPSpec unit tests
test-back-acceptance Behat acceptance tests
test-front-static TypeScript checking, ESLint
test-front-unit Jest unit tests
test-back-phpunit PHPUnit integration tests (5 parallel shards)
test-back-migrations Migration tests
cypress-sanity Cypress E2E tests
test-back-behat-legacy Behat legacy tests (10 parallel shards)

Services

The workflow uses GitHub's service containers:

  • MySQL 8.0.34 (matching docker-compose upgrade)
  • Elasticsearch 8.17.0 (matching docker-compose upgrade)
  • Selenium for Behat tests

Job Dependencies

checkout
    └── build
        ├── test-back-static ─────┐
        ├── test-back-unit ───────┤
        ├── test-back-acceptance  │
        ├── test-front-static ────┤
        ├── test-front-unit       │
        ├── test-back-phpunit ────┤
        │   └── test-back-migrations
        ├── cypress-sanity        │
        └── test-back-behat-legacy (requires static & unit)
                                  │
                                  └── pull-request-success

Test plan

  • GitHub Actions workflow triggers on PR
  • All jobs complete successfully
  • Artifacts (screenshots, videos) uploaded on failure
  • CircleCI continues to work in parallel

🤖 Generated with Claude Code

This adds a GitHub Actions workflow alongside the existing CircleCI
configuration. The workflow includes:

- Checkout and build jobs with artifact caching
- Backend static analysis (PHPStan, PHP-CS-Fixer, container lint)
- Backend unit tests (PHPSpec)
- Backend acceptance tests (Behat)
- Frontend static analysis (TypeScript, ESLint)
- Frontend unit tests (Jest)
- Backend PHPUnit integration tests (5 shards)
- Backend migration tests
- Cypress sanity checks
- Behat legacy tests (10 shards)

The workflow uses GitHub's service containers for MySQL 8.0.34 and
Elasticsearch 8.17.0, matching the upgraded versions in this branch.

Both CI systems are kept active during the transition period.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
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.

1 participant