Skip to content

Migrate CircleCI to GitHub Actions#5729

Merged
eakmanrq merged 1 commit intomainfrom
eakmanrq/circleci-to-gha
Mar 13, 2026
Merged

Migrate CircleCI to GitHub Actions#5729
eakmanrq merged 1 commit intomainfrom
eakmanrq/circleci-to-gha

Conversation

@eakmanrq
Copy link
Collaborator

@eakmanrq eakmanrq commented Mar 12, 2026

Passing Checks: https://github.com/SQLMesh/sqlmesh/actions/runs/23057694253?pr=5729

Description

Replaces CircleCI configuration with native GitHub Actions workflows. All CI/CD jobs have been migrated, including comprehensive test coverage across Python versions, database engines, UI testing, and release processes.

Key changes:

  • Deleted CircleCI config (.circleci/config.yml and .circleci/continue_config.yml)
  • Moved helper scripts to .github/scripts/ and updated references
  • Created comprehensive pr.yaml with path-based filtering and all test jobs
  • Created release.yaml for automated PyPI publishing and GitHub releases
  • Removed private repo integration

Workflows:

  • pr.yaml: Triggered on pushes to main and pull requests. Includes doc tests, style checks (Python 3.9–3.13), Windows tests, migration tests, UI tests, engine tests (8 local + 8 cloud databases)
  • release.yaml: Triggered on version tags (v*.*.*). Builds UI, publishes Python packages, creates GitHub releases using native GitHub release notes generation

Test Plan

  • The new workflows will execute on the next push to main or PR
  • Docker engine tests run on every PR (duckdb, postgres, mysql, mssql, trino, spark, clickhouse, risingwave)
  • Cloud engine tests run only on main branch (snowflake, databricks, redshift, bigquery, clickhouse-cloud, athena, fabric, gcp-postgres)
  • Release workflow will trigger on version tag pushes

Checklist

  • CircleCI configuration fully migrated to GitHub Actions
  • All jobs properly gated with path-based filtering
  • Secret references configured at repo level
  • Makefile references updated to new script locations

@eakmanrq eakmanrq force-pushed the eakmanrq/circleci-to-gha branch from e81673f to 2e5b5b0 Compare March 12, 2026 16:14
Replaces CircleCI configuration with native GitHub Actions workflows:

- Deleted `.circleci/config.yml` and `.circleci/continue_config.yml`
- Moved helper scripts from `.circleci/` to `.github/scripts/`
- Added comprehensive `pr.yaml` with all test jobs (doc tests, style checks,
  Windows tests, migration tests, UI tests, engine tests for 8 local + 8
  cloud databases)
- Created `release.yaml` for PyPI publishing and GitHub releases on version
  tags
- Removed private repo integration (deleted `private-repo-test.yaml`)
- Updated `Makefile` to reference new script locations and exclude pyspark
  from xdist parallel runs to prevent fork OOM on CI runners
- Implemented path-based filtering using `dorny/paths-filter@v3` to
  replicate CircleCI's conditional job execution
- Limited Spark driver memory to 512m in tests to prevent OOM
- Configured engine-specific environment variables and auth for all cloud
  and Docker test targets

Signed-off-by: eakmanrq <6326532+eakmanrq@users.noreply.github.com>
@eakmanrq eakmanrq force-pushed the eakmanrq/circleci-to-gha branch from d93791e to ca1862e Compare March 13, 2026 16:25
@eakmanrq eakmanrq merged commit 07e0f0f into main Mar 13, 2026
28 of 32 checks passed
@eakmanrq eakmanrq deleted the eakmanrq/circleci-to-gha branch March 13, 2026 16:54
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.

2 participants