Skip to content

Schema Support#1

Merged
bernard-ng merged 24 commits intomainfrom
schema
Mar 6, 2026
Merged

Schema Support#1
bernard-ng merged 24 commits intomainfrom
schema

Conversation

@bernard-ng
Copy link
Member

This pull request introduces a comprehensive overhaul of the project's continuous integration (CI) workflows and documentation. The main focus is on expanding and improving the CI pipeline to support functional testing across multiple database platforms and versions, while also updating documentation to reflect the project's current status, rules, and release history.

CI Workflow Enhancements:

  • Major CI pipeline refactor:

    • Added a new .github/workflows/ci.yml workflow that orchestrates linting, unit testing, and functional tests for SQLite, MySQL, MariaDB, PostgreSQL, and SQL Server, each running as separate jobs and supporting matrix builds for multiple database versions.
    • Introduced dedicated workflow files for each database: test-sqlite3.yaml, test-mysql.yaml, test-mariadb.yaml, test-postgresql.yaml, and test-sqlserver.yaml. Each is configured for multi-version testing, proper service setup, dependency caching, and environment variable management. [1] [2] [3] [4] [5]
    • Allowed MySQL 5.7 and all MariaDB jobs to fail without failing the overall workflow, improving CI resilience for known flaky versions. [1] [2]
  • Refined existing workflows:

    • Modified lint.yml and test.yml to be triggerable via workflow_dispatch and callable by other workflows, streamlining their integration into the new CI pipeline. [1] [2]
    • Enhanced test job to run coverage and upload the Vitest coverage report as an artifact.

Documentation Updates:

  • Updated AGENTS.md:
    • Replaced the Doctrine DBAL parity map and namespace mapping with new project rules, validation steps, and guidance for aligning with both Doctrine and Node/TypeScript idioms.
  • Overhauled CHANGELOG.md:
    • Reorganized release notes to reflect major milestones, including the introduction of multi-database CI, schema engine enhancements, and documentation improvements.

Summary of Most Important Changes:

CI Pipeline Modernization

  • Added a top-level CI workflow (ci.yml) to orchestrate linting, unit, and functional tests across SQLite, MySQL, MariaDB, PostgreSQL, and SQL Server, each with multi-version matrix builds.
  • Implemented dedicated functional test workflows for each major database, ensuring robust cross-platform coverage and resilience to known flaky versions. [1] [2] [3] [4] [5]
  • Updated lint.yml and test.yml to support workflow composition and manual triggering, and enhanced test jobs to include coverage reporting and artifact upload. [1] [2] [3]

Documentation Improvements

  • Rewrote AGENTS.md to focus on project rules, validation, and Doctrine/Datazen alignment guidance, removing outdated namespace parity tables.
  • Reorganized and expanded CHANGELOG.md to reflect major releases, CI improvements, and project milestones in a more readable format.

@bernard-ng bernard-ng added the enhancement New feature or request label Mar 6, 2026
@bernard-ng bernard-ng self-assigned this Mar 6, 2026
@bernard-ng bernard-ng merged commit fe6bd7c into main Mar 6, 2026
24 of 40 checks passed
@bernard-ng bernard-ng deleted the schema branch March 6, 2026 08:46
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant