Skip to content

Conversation

@timsaucer
Copy link
Member

@timsaucer timsaucer commented Feb 8, 2026

This PR is to improve our CI performance in a couple of ways

  • For PRs we can build in debug mode instead of release mode. For RC tags and pushes to main we still run in release mode.
  • This gives better debug if there are failures in CI and faster builds.
  • We will still catch any errors generated in release mode when the merge to main occurs.
  • At the same time, doing some minor cleanup of jobs that may no longer be necessary.
  • Upload only one artifact in debug mode, the linux x86 wheel used for pytests
  • Avoids rebuilding multiple times in test
  • Overall cuts down CI by about 30 minutes

…pushes to main and release or candidate tags.
@timsaucer timsaucer marked this pull request as ready for review February 9, 2026 20:34
Co-authored-by: Martin Grigorov <martin-g@users.noreply.github.com>
@timsaucer timsaucer requested a review from Copilot February 9, 2026 21:15
Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR refactors CI to use reusable build/test workflows and to run PR builds in debug mode for faster feedback while keeping release-mode builds for main and tags.

Changes:

  • Split CI into reusable workflows (build.yml, test.yml) and added dedicated entry workflows for PRs (ci.yml) and releases (release.yml).
  • Updated test workflow to install and test against the pre-built Linux wheel artifact instead of rebuilding during tests.
  • CI/config formatting cleanups across TOML files and adjusted license generation to rely on cargo-license.

Reviewed changes

Copilot reviewed 9 out of 11 changed files in this pull request and generated 7 comments.

Show a summary per file
File Description
pyproject.toml Formatting cleanup and a dependency list syntax fix (trailing comma).
examples/datafusion-ffi-example/Cargo.toml TOML formatting cleanup for pyo3 features list.
examples/datafusion-ffi-example/.cargo/config.toml TOML formatting cleanup for rustflags.
dev/create_license.py Switches license generation to call cargo-license directly.
.github/workflows/test.yml Converts to reusable workflow and installs pre-built wheel artifacts for tests.
.github/workflows/release.yml Adds release entry workflow calling reusable build/test in release mode.
.github/workflows/ci.yml Adds PR entry workflow calling reusable build/test in debug mode.
.github/workflows/build.yml Converts to reusable workflow; adds linting jobs and reworks wheel build/artifact behavior.
.cargo/config.toml TOML formatting cleanup for rustflags.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

timsaucer and others added 2 commits February 9, 2026 16:57
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
@timsaucer timsaucer requested a review from martin-g February 9, 2026 22:40
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