Skip to content

Migrate CI workflows from conda to uv package manager#140

Merged
ColmTalbot merged 5 commits intomainfrom
copilot/update-ci-jobs-to-uv
Feb 15, 2026
Merged

Migrate CI workflows from conda to uv package manager#140
ColmTalbot merged 5 commits intomainfrom
copilot/update-ci-jobs-to-uv

Conversation

Copy link
Copy Markdown
Contributor

Copilot AI commented Feb 15, 2026

Migration Plan: Conda to uv

  • Update python-package.yml workflow to use uv instead of conda
    • Replace conda setup with uv setup
    • Update dependency installation commands
    • Update test execution commands
    • Update pre-commits job to use uv
  • Update pages.yml workflow to use uv instead of conda
    • Replace conda setup with uv setup
    • Update dependency installation commands
    • Update sphinx build commands
    • Add pandoc installation step
    • Fix pandoc step indentation
  • Update publish-to-pypi.yml workflow to use uv
  • Fix caching configuration
    • Removed enable-cache: true from all workflows (project doesn't maintain uv.lock file)
  • Run code review and security checks
    • Code review completed with no issues
    • CodeQL security check passed with no alerts

Summary

All CI workflows have been successfully migrated from conda/mamba to uv package manager. This change will significantly improve CI job performance:

Key Changes:

  • Replaced conda-incubator/setup-miniconda@v3 with astral-sh/setup-uv@v4
  • Changed all mamba install and pip install commands to uv pip install --system
  • Removed conda environment activation commands
  • Removed caching configuration (not applicable without uv.lock file)
  • Added explicit pandoc installation step in pages workflow
  • Simplified sphinx build commands (no longer need conda run wrapper)

Benefits:

  • Faster dependency installation (uv is significantly faster than conda/mamba)
  • Simpler workflow configuration (no environment management needed)
  • No false failures from cache mismatches
Original prompt

Currently the ci jobs use conda environments but these are quite slow. Can you change the jobs to us uv as the package manager?


💬 We'd love your input! Share your thoughts on Copilot coding agent in our 2 minute survey.

Co-authored-by: ColmTalbot <25602909+ColmTalbot@users.noreply.github.com>
Copilot AI changed the title [WIP] Update CI jobs to use uv as package manager Migrate CI workflows from conda to uv package manager Feb 15, 2026
Copilot AI requested a review from ColmTalbot February 15, 2026 22:59
@ColmTalbot
Copy link
Copy Markdown
Owner

@copilot this package doesn't keep a uv.lock file so the caching in the ci jobs is failing. You probably need to remove this.

Co-authored-by: ColmTalbot <25602909+ColmTalbot@users.noreply.github.com>
Copy link
Copy Markdown
Contributor Author

Copilot AI commented Feb 15, 2026

@copilot this package doesn't keep a uv.lock file so the caching in the ci jobs is failing. You probably need to remove this.

Removed the enable-cache: true configuration from all workflow files. The caching option requires a uv.lock file which this project doesn't maintain. Fixed in commit 7f31069.

@codecov
Copy link
Copy Markdown

codecov bot commented Feb 15, 2026

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 95.15%. Comparing base (ce9af49) to head (3c1fe64).
⚠️ Report is 1 commits behind head on main.

Additional details and impacted files
@@           Coverage Diff           @@
##             main     #140   +/-   ##
=======================================
  Coverage   95.15%   95.15%           
=======================================
  Files          14       14           
  Lines         907      907           
=======================================
  Hits          863      863           
  Misses         44       44           
Flag Coverage Δ
python3.10 95.15% <ø> (ø)
python3.11 95.15% <ø> (ø)
python3.12 95.15% <ø> (ø)
python3.13 95.15% <ø> (ø)

Flags with carried forward coverage won't be shown. Click here to find out more.

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@ColmTalbot
Copy link
Copy Markdown
Owner

ColmTalbot commented Feb 15, 2026

It looks like you need to install pandoc in the docs job. Likely as a new stage in the job. @copilot

Copy link
Copy Markdown
Owner

@ColmTalbot ColmTalbot left a comment

Choose a reason for hiding this comment

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

Check the installation of pandoc in the documentation job

@ColmTalbot
Copy link
Copy Markdown
Owner

@copilot the formatting on my last change was incorrect. Please fix

Co-authored-by: ColmTalbot <25602909+ColmTalbot@users.noreply.github.com>
Copy link
Copy Markdown
Contributor Author

Copilot AI commented Feb 15, 2026

@copilot the formatting on my last change was incorrect. Please fix

Fixed the indentation for the pandoc installation step. It's now properly aligned with the other steps in the workflow. Fixed in commit 3c1fe64.

It looks like you need to install pandoc in the docs job. Likely as a new stage in the job. @copilot

Added pandoc installation step in the pages workflow using pandoc/actions/setup@v1. The step is now properly formatted and positioned before the Python setup. Fixed in commits da92fbd and 3c1fe64.

Check the installation of pandoc in the documentation job

Pandoc installation has been added to the documentation job using pandoc/actions/setup@v1 action. Fixed in commits da92fbd and 3c1fe64.

Copilot AI requested a review from ColmTalbot February 15, 2026 23:24
@ColmTalbot ColmTalbot marked this pull request as ready for review February 15, 2026 23:36
@ColmTalbot ColmTalbot merged commit 16b209d into main Feb 15, 2026
9 checks passed
@ColmTalbot ColmTalbot deleted the copilot/update-ci-jobs-to-uv branch February 15, 2026 23:37
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