Skip to content

Prepare v4.0: unified database setup and cleanup#19

Merged
GSadee merged 1 commit intoSyliusLabs:mainfrom
Rafikooo:feature/auto-database-url
Jan 27, 2026
Merged

Prepare v4.0: unified database setup and cleanup#19
GSadee merged 1 commit intoSyliusLabs:mainfrom
Rafikooo:feature/auto-database-url

Conversation

@Rafikooo
Copy link
Copy Markdown
Contributor

@Rafikooo Rafikooo commented Jan 13, 2026

Breaking changes for v4.0 release:

  • Unified database credentials (sylius:sylius) across MySQL, MariaDB, and PostgreSQL
  • Removed deprecated database_version input (use database: "mysql:8.4" format)
  • Removed postgresql alias (only postgres supported now)
  • Action now sets DATABASE_URL automatically - no need to define it in workflows

Other improvements:

  • PostgreSQL CI optimizations (fsync=off, synchronous_commit=off, etc.) for faster test runs
  • Fixed required: true on inputs that have defaults
  • Merged duplicate PHP setup steps
  • Pinned browser-actions/setup-chrome to v2
  • Updated node_version default to 22.x

Usage example after v4.0

strategy:
    matrix:
        database: ["mysql:8.4", "postgres:16", "mariadb:10.11"]

steps:
    - uses: actions/checkout@v4

    - name: Build application
      uses: SyliusLabs/BuildTestAppAction@v4
      with:
          database: ${{ matrix.database }}
          php_version: "8.3"
          symfony_version: "^7.4"
          sylius_version: "~2.2.0"
          e2e: "yes"

    - name: Run tests
      run: vendor/bin/behat

No DATABASE_URL in env: needed - the action handles it.

@Rafikooo Rafikooo force-pushed the feature/auto-database-url branch from 6875e92 to 8b6d037 Compare January 13, 2026 08:32
@Rafikooo Rafikooo changed the title Set DATABASE_URL automatically based on database type Unify database input format and set DATABASE_URL automatically Jan 13, 2026
@Rafikooo Rafikooo force-pushed the feature/auto-database-url branch from 8b6d037 to e53147d Compare January 13, 2026 08:33
@Rafikooo Rafikooo changed the title Unify database input format and set DATABASE_URL automatically Prepare v4.0: unified database setup and cleanup Jan 16, 2026
@Rafikooo Rafikooo force-pushed the feature/auto-database-url branch from 44daab7 to 17e6561 Compare January 16, 2026 10:32
@Rafikooo Rafikooo force-pushed the feature/auto-database-url branch from 17e6561 to a9b430a Compare January 16, 2026 16:18
Breaking changes:
- Unified database input format: `mysql:8.4` instead of separate `database` + `database_version`
- Unified credentials (`sylius:sylius@sylius`) across MySQL, MariaDB, and PostgreSQL
- Removed deprecated `postgresql` alias (use `postgres`)
- Action now sets `DATABASE_URL` automatically - no need to define it in workflows

Other improvements:
- Added validation for database input format
- Fixed `required: true` on inputs that have defaults
- Merged duplicate PHP setup steps into one
- Pinned `browser-actions/setup-chrome` to v2
- Updated `node_version` default to 22.x
@Rafikooo Rafikooo force-pushed the feature/auto-database-url branch from a9b430a to 71e4891 Compare January 21, 2026 09:06
@GSadee GSadee merged commit a747fd3 into SyliusLabs:main Jan 27, 2026
TheMilek added a commit to Sylius/Sylius that referenced this pull request Jan 28, 2026
Testing new BuildTestAppAction from `feature/auto-database-url` branch
which introduces:

- Unified database format: `mysql:8.4` instead of separate `database` +
`database_version`
- Automatic `DATABASE_URL` setting (no need to define in workflows)
- Unified credentials (`sylius:sylius@sylius`) across all databases

Changes in this PR:
- Update ci_e2e-mysql.yaml, ci_e2e-pgsql.yaml, ci_e2e-mariadb.yaml
- Remove `DATABASE_URL` from env sections
- Use new `database: "type:version"` format

Related: SyliusLabs/BuildTestAppAction#19

<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit

* **Chores**
* CI workflows updated to use automated database configuration for
MariaDB, MySQL, and PostgreSQL.
* Removed hard-coded database connection environment entries so jobs
rely on generated configuration.
* Standardized database selection input across matrix jobs and updated
build steps to a newer build-action for more consistent test runs.

<sub>✏️ Tip: You can customize this high-level summary in your review
settings.</sub>
<!-- end of auto-generated comment: release notes by coderabbit.ai -->
Rafikooo added a commit to Sylius/PluginSkeleton that referenced this pull request Feb 5, 2026
## Summary

- Replace Panther with Chrome session for Behat (simpler, no port
conflicts)
- Use new `SyliusLabs/BuildTestAppAction@v4` for CI workflow
- Change `BEHAT_BASE_URL` from nginx to standard
`http://127.0.0.1:8080/`
- Make `base_url` configurable via env var
- Test all LTS databases: MySQL 8.0/8.4, MariaDB 10.11/11.4, PostgreSQL
15/16/17

Related: SyliusLabs/BuildTestAppAction#19
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.

3 participants