Skip to content

Update tests.yml to use reusable conda test suite workflow from branch#764

Draft
jezdez wants to merge 16 commits intomainfrom
use-conda-reusable-test-workflow
Draft

Update tests.yml to use reusable conda test suite workflow from branch#764
jezdez wants to merge 16 commits intomainfrom
use-conda-reusable-test-workflow

Conversation

@jezdez
Copy link
Member

@jezdez jezdez commented Nov 3, 2025

Description

Refs #735

Checklist - did you ...

  • Add a file to the news directory (using the template) for the next release's release notes?
  • Add / update necessary tests?
  • Add / update outdated documentation?

@github-project-automation github-project-automation bot moved this to 🆕 New in 🔎 Review Nov 3, 2025
@conda-bot conda-bot added the cla-signed [bot] added once the contributor has signed the CLA label Nov 3, 2025
@codspeed-hq
Copy link

codspeed-hq bot commented Nov 3, 2025

CodSpeed Performance Report

Merging #764 will not alter performance

Comparing use-conda-reusable-test-workflow (0937d11) with main (5592195)

Summary

✅ 40 untouched

- Disable linux, linux-benchmarks, and macos jobs
- Update aggregate and analyze jobs to only depend on windows
- Keeps only Windows testing active for faster iteration
Use commit hash 1ca8113c5d5aecaff86c994ddfd367dff91f2400 instead of branch name
to ensure consistent, reproducible test runs. This commit includes the Windows
installation fix that removes custom installation-dir and pkgs-dirs parameters.
runs-on: windows-latest
# Use reusable test workflow from conda/conda repo
# Pinned to commit: 1ca8113c5d5aecaff86c994ddfd367dff91f2400 (reusable-test-workflow branch)
# TODO: Update to a specific tag when conda releases a versioned tag
Copy link
Contributor

Choose a reason for hiding this comment

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

Does dependabot pick these direct references too?

Copy link
Member Author

Choose a reason for hiding this comment

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

I don't think so, no

Copy link
Member Author

Choose a reason for hiding this comment

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

actually, it might

shell: cmd /C call
checkout_conda: true
checkout_conda_path: conda
checkout_conda_ref: '' # TODO: Set to a tag like 'v24.1.0' to pin conda version
Copy link
Contributor

Choose a reason for hiding this comment

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

We have been checking out conda's repo to test against main so we pick up regressions before a release. This has been hindering development here though, so maybe this can be deferred to a cronjob that posts an issue if something breaks. A bit noisy with false positives, but less disruptive to ongoing development.

However, it will bite us when we find new deprecation warnings and so on. A compromise to be made.

Copy link
Member Author

Choose a reason for hiding this comment

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

Something like 7bcf2e9?

… cleanup

Update to commit 43a5fa94decb3ff7606978d95dfa54c66c24cea2 which includes:
- Additional verification step to ensure CONDA is fully unset before setup-miniconda
- Explicit CONDA: '' in setup-miniconda step env as safeguard
- More thorough cleanup from all environment scopes
GitHub Actions requires shell format strings to include {0} as a placeholder
for the command. Changed 'cmd /C call' to 'cmd /C call {0}' to fix the
'Invalid shell option' error.
- Re-enable linux, linux-benchmarks, linux-qemu, and macos jobs
- Update commit hash references to latest version (43a5fa94decb3ff7606978d95dfa54c66c24cea2)
- Update aggregate and analyze jobs to depend on all platforms again
- Remove temporary disabling comments
Update to commit 195f731e1 which sets CONDA_BUILD='' at job level to prevent
'unbound variable' errors when conda activation scripts reference CONDA_BUILD
on Linux systems with set -u enabled.
@jezdez jezdez force-pushed the use-conda-reusable-test-workflow branch from a05326c to 1733705 Compare November 5, 2025 12:06
- Disable windows, macos, linux-benchmarks, and linux-qemu jobs
- Update aggregate and analyze jobs to only depend on linux
- Keeps only Linux testing active for faster iteration
- Re-enable windows, macos, linux-benchmarks, and linux-qemu jobs
- Update aggregate and analyze jobs to depend on all platforms again
- All platforms are now active for full test coverage
- Pin conda checkout to version 25.9.1 for reproducible builds
- Add separate cronjob workflow that tests against conda main branch daily
- Cronjob creates GitHub issues on failure to catch regressions early
- Reduces disruption to ongoing development while still catching issues

This is a compromise: stable version for regular PRs, automated testing
against main to catch deprecation warnings and regressions.
The conda-libmamba-solver repo doesn't have requirements-Linux.txt or
requirements-ci.txt files. Make these optional by checking if they exist
before including them in the conda create command.

This allows the linux-qemu job to work in conda-libmamba-solver where
only tests/requirements.txt exists.
…emu test

- Add requirements_os_specific: false to Windows and Linux jobs to prevent
  workflow from looking for non-existent OS-specific requirements files
- Fix linux-qemu job to use existing test file (test_plugin.py) instead of
  non-existent test_api.py
- Add proper conda initialization steps for linux-qemu job
s390x platform is causing failures in QEMU emulation. Skip it entirely
to avoid test failures.
@jezdez
Copy link
Member Author

jezdez commented Nov 7, 2025

pre-commit.ci autofix

pre-commit-ci bot and others added 3 commits November 7, 2025 13:09
The test was failing because pytorch 1.12 still installs cudatoolkit
even with cpuonly specified, due to package metadata constraints.
This is a known limitation with older pytorch versions.

Update the test to:
- Track if cudatoolkit is found instead of immediately failing
- Use pytest.xfail to mark as expected failure for pytorch 1.12
- Update comments to clarify this is a known limitation with older versions
- Keep the test to catch when this gets fixed
Update to commit 458c66187 which includes the fix for
test_conda_config_describe_not_included_without_plugins that handles
conda-libmamba-solver's plugin settings correctly.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

cla-signed [bot] added once the contributor has signed the CLA

Projects

Status: 🆕 New

Development

Successfully merging this pull request may close these issues.

3 participants