Skip to content
Closed
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
34 changes: 34 additions & 0 deletions .github/workflows/python-package-conda.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
name: Python Package using Conda

on: [push]
Copy link

Copilot AI Jan 8, 2026

Choose a reason for hiding this comment

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

This workflow triggers on every push to any branch. The existing python-test.yaml workflow has more refined triggers with paths-ignore filters to avoid running on documentation-only changes. Consider adding similar filters to avoid unnecessary CI runs and reduce resource usage.

Suggested change
on: [push]
on:
push:
paths-ignore:
- 'docs/**'
- '**/*.md'

Copilot uses AI. Check for mistakes.

jobs:
build-linux:
runs-on: ubuntu-latest
strategy:
max-parallel: 5

steps:
- uses: actions/checkout@v4
Copy link

Copilot AI Jan 8, 2026

Choose a reason for hiding this comment

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

The actions/checkout action is using version v4, while the existing python-test.yaml workflow uses v6. Consider updating to v6 for the latest features and security improvements.

Suggested change
- uses: actions/checkout@v4
- uses: actions/checkout@v6

Copilot uses AI. Check for mistakes.
- name: Set up Python 3.10
uses: actions/setup-python@v3
Copy link

Copilot AI Jan 8, 2026

Choose a reason for hiding this comment

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

The actions/setup-python action is using version v3, which is outdated. The existing python-test.yaml workflow uses actions/setup-uv@v7 with uv for faster dependency management. Consider updating to use a similar approach or at least upgrade to the latest version of setup-python for better performance and security patches.

Suggested change
uses: actions/setup-python@v3
uses: actions/setup-python@v5

Copilot uses AI. Check for mistakes.
with:
python-version: '3.10'
- name: Add conda to system path
run: |
# $CONDA is an environment variable pointing to the root of the miniconda directory
echo $CONDA/bin >> $GITHUB_PATH
- name: Install dependencies
run: |
conda env update --file environment.yml --name base
Copy link

Copilot AI Jan 8, 2026

Choose a reason for hiding this comment

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

This workflow references an environment.yml file that does not exist in the repository. The workflow will fail when trying to execute this step. Either create an environment.yml file with the necessary conda dependencies, or use the existing requirements-dev.txt file with pip instead.

Suggested change
conda env update --file environment.yml --name base
python -m pip install --upgrade pip
pip install -r requirements-dev.txt

Copilot uses AI. Check for mistakes.
- name: Lint with flake8
run: |
conda install flake8
# stop the build if there are Python syntax errors or undefined names
flake8 . --count --select=E9,F63,F7,F82 --show-source --statistics
# exit-zero treats all errors as warnings. The GitHub editor is 127 chars wide
flake8 . --count --exit-zero --max-complexity=10 --max-line-length=127 --statistics
Comment on lines +24 to +30
Copy link

Copilot AI Jan 8, 2026

Choose a reason for hiding this comment

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

This workflow uses flake8 for linting, but the project uses ruff as its linter (as seen in .pre-commit-config.yaml and .github/workflows/python-test.yaml). This creates inconsistency in code quality checks. Consider using ruff instead to match the existing project standards.

Suggested change
- name: Lint with flake8
run: |
conda install flake8
# stop the build if there are Python syntax errors or undefined names
flake8 . --count --select=E9,F63,F7,F82 --show-source --statistics
# exit-zero treats all errors as warnings. The GitHub editor is 127 chars wide
flake8 . --count --exit-zero --max-complexity=10 --max-line-length=127 --statistics
- name: Lint with ruff
run: |
conda install -c conda-forge ruff
# stop the build if there are Python syntax errors or undefined names
ruff check .
# run ruff again but do not fail the build, treating all issues as warnings
ruff check . || true

Copilot uses AI. Check for mistakes.
- name: Test with pytest
run: |
conda install pytest
pytest
Loading