Skip to content
Open
Show file tree
Hide file tree
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
10 changes: 7 additions & 3 deletions .github/AGENTS.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,8 +3,10 @@
CI/CD workflows, automation, security scanning, and package distribution.

## Workflows
- **conda-package.yml** — main build/test pipeline (Linux/Windows, Python 3.10-3.14)
- **conda-package-cf.yml** — build/test using only conda-forge channel (Linux/Windows, Python 3.10-3.14)
All build/test workflows cover Python 3.10-3.14 plus free-threaded 3.14t.

- **conda-package.yml** — main build/test pipeline (Linux/Windows)
- **conda-package-cf.yml** — build/test using only conda-forge channel (Linux/Windows)
- **build-with-clang.yml** — Linux Clang compiler compatibility validation
- **build-with-standard-clang.yml** — standard Clang compiler compatibility validation
- **build_pip.yml** — validates editable build
Expand All @@ -14,7 +16,9 @@ CI/CD workflows, automation, security scanning, and package distribution.
## CI/CD policy
- Keep build matrix (Python versions, platforms) in workflow files only
- Required checks: conda build + test on supported Python versions/platforms in CI
- Artifact naming: `$PACKAGE_NAME $OS Python $VERSION`
- Python 3.14 is expressed as two `include` rows carrying `python_spec` (`3.14.* *_cp314` and `3.14.* *_cp314t`); a bare `--python 3.14` has been observed to select the free-threaded ABI and must not be relied on
- `include` rows create new matrix combinations and inherit nothing, so `runner`/`experimental` must be repeated wherever the job reads them
- Artifact naming: `$PACKAGE_NAME $OS Python $VERSION`, where `$VERSION` is `python_tag` (`3.14` or `3.14t`) when set, otherwise `python`
- Channels: `conda-forge`, `conda-forge/label/python_rc`, Intel channel

## Security
Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/build-with-clang.yml
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ jobs:

strategy:
matrix:
python: ["3.10", "3.11", "3.12", "3.13", "3.14"]
python: ["3.10", "3.11", "3.12", "3.13", "3.14", "3.14t"]

env:
ONEAPI_ROOT: /opt/intel/oneapi
Expand Down Expand Up @@ -55,7 +55,7 @@ jobs:

Comment thread
vchamarthi marked this conversation as resolved.

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

Need to extend strategy matrix for GitHub workflows to validate 3.14t also

Copy link
Copy Markdown
Author

Choose a reason for hiding this comment

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

Added "3.14t" to the matrices

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

need to add to the conda package workflow too, which requires more robust strategy. See approach in dpctl

Copy link
Copy Markdown
Author

Choose a reason for hiding this comment

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

I followed the changes in dpctl and updated it for mkl-service

- name: Install mkl-service dependencies
run: |
pip install meson-python cython cmake ninja
pip install meson-python "cython>=3.1.0" cmake ninja
Comment thread
vchamarthi marked this conversation as resolved.
Comment thread
vchamarthi marked this conversation as resolved.

- name: List oneAPI folder content
run: ls ${{ env.ONEAPI_ROOT }}/compiler
Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/build-with-standard-clang.yml
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ jobs:

strategy:
matrix:
python: ["3.10", "3.11", "3.12", "3.13", "3.14"]
python: ["3.10", "3.11", "3.12", "3.13", "3.14", "3.14t"]

env:
COMPILER_ROOT: /usr/bin
Expand Down Expand Up @@ -46,7 +46,7 @@ jobs:

- name: Install mkl-service dependencies
run: |
pip install meson-python cython cmake ninja mkl-devel
pip install meson-python "cython>=3.1.0" cmake ninja mkl-devel

Comment thread
vchamarthi marked this conversation as resolved.
- name: Build mkl-service
run: |
Expand Down
12 changes: 9 additions & 3 deletions .github/workflows/build_pip.yml
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,13 @@ jobs:

strategy:
matrix:
python: ["3.10", "3.11", "3.12", "3.13", "3.14"]
python: ["3.10", "3.11", "3.12", "3.13"]
python_spec: ['']
include:
- python: '3.14'
python_spec: '3.14.* *_cp314'
- python: '3.14'
python_spec: '3.14.* *_cp314t'

steps:
- uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
Expand All @@ -33,11 +39,11 @@ jobs:

- name: Install MKL
run: |
conda install mkl-devel mkl
conda install mkl-devel mkl "python ${{ matrix.python_spec || matrix.python }}"

- name: Build with pip
run: |
pip install --no-cache-dir meson-python ninja cmake cython
pip install --no-cache-dir meson-python ninja cmake "cython>=3.1.0"
pip install -e ".[test]" --no-build-isolation --verbose
pip list
python -m pytest -v mkl/tests
Loading