Skip to content

Migrate CircleCI to GitHub Actions#5729

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

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

Conversation

@eakmanrq

@eakmanrq eakmanrq commented Mar 12, 2026

Copy link
Copy Markdown
Collaborator

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
albertosuman-1k5 pushed a commit to albertosuman-1k5/sqlmesh that referenced this pull request Mar 19, 2026
Signed-off-by: Alberto Suman <alberto.suman@1komma5grad.com>
WhammyLeaf pushed a commit to trygforsikring/sqlmesh that referenced this pull request May 15, 2026
fresioAS pushed a commit to fresioAS/sqlmesh that referenced this pull request May 31, 2026
Signed-off-by: fresioAS <andreas.fredhoi@three60energy.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

2 participants