-
Notifications
You must be signed in to change notification settings - Fork 22
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Add GH action to check build with oneMKL interfaces
- Loading branch information
1 parent
11771fb
commit ef28e0e
Showing
1 changed file
with
104 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,104 @@ | ||
name: Test oneMKL interfaces | ||
|
||
on: | ||
push: | ||
branches: | ||
- master | ||
pull_request: | ||
|
||
permissions: read-all | ||
|
||
env: | ||
CHANNELS: '-c dppy/label/dev -c https://software.repos.intel.com/python/conda/ -c conda-forge --override-channels' | ||
BUILD_DEP_PKGS: >- | ||
mkl-devel-dpcpp | ||
tbb-devel | ||
dpctl | ||
onedpl-devel | ||
setuptools | ||
numpy">=2.0" | ||
cython | ||
cmake | ||
ninja | ||
scikit-build | ||
jobs: | ||
build_and_test: | ||
name: Run on ['${{ matrix.os }}', python='${{ matrix.python }}'] | ||
|
||
strategy: | ||
matrix: | ||
python: ['3.12'] | ||
os: [ubuntu-22.04, windows-2019] | ||
|
||
permissions: | ||
# Needed to cancel any previous runs that are not completed for a given workflow | ||
actions: write | ||
|
||
runs-on: ${{ matrix.os }} | ||
|
||
defaults: | ||
run: | ||
shell: ${{ matrix.os == 'windows-2019' && 'cmd /C CALL {0}' || 'bash -el {0}' }} | ||
|
||
continue-on-error: true | ||
|
||
steps: | ||
- name: Cancel Previous Runs | ||
uses: styfle/cancel-workflow-action@85880fa0301c86cca9da44039ee3bb12d3bedbfa # 0.12.1 | ||
with: | ||
access_token: ${{ github.token }} | ||
|
||
- name: Checkout DPNP repo | ||
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 | ||
with: | ||
fetch-depth: 0 | ||
|
||
- name: Setup miniconda | ||
uses: conda-incubator/setup-miniconda@d2e6a045a86077fb6cad6f5adf368e9076ddaa8d # v3.1.0 | ||
with: | ||
miniforge-version: latest | ||
use-mamba: 'true' | ||
channels: conda-forge | ||
conda-remove-defaults: 'true' | ||
python-version: ${{ matrix.python }} | ||
activate-environment: 'test_onemkl_interfaces' | ||
|
||
# Sometimes `mamba install ...` fails due to slow download speed rate, so disable the check in mamba | ||
- name: Disable speed limit check in mamba | ||
run: echo "MAMBA_NO_LOW_SPEED_LIMIT=1" >> $GITHUB_ENV | ||
|
||
- name: Install dpnp build dependencies | ||
run: | | ||
mamba install ${{ env.DPCPP_PKG }} ${{ env.BUILD_DEP_PKGS }} ${{ env.CHANNELS }} | ||
env: | ||
DPCPP_PKG: ${{ matrix.os == 'windows-2019' && 'dpcpp_win-64 vs_win-64=2017.9' || 'dpcpp_linux-64' }} | ||
# DPCPP_PKG: dpcpp_${{ matrix.os == 'windows-2019' && 'win' || 'linux' }}-64 | ||
|
||
# - name: Conda info | ||
# run: | | ||
# mamba info | ||
# mamba list | ||
|
||
- name: Conda list | ||
run: | | ||
mamba list | ||
- name: Build and install DPNP package | ||
run: | | ||
python scripts/build_locally.py --onemkl-interfaces --verbose | ||
- name: Smoke test | ||
run: | | ||
python -m dpctl -f | ||
python -c "import dpnp; print(dpnp.__version__)" | ||
- name: Install pytest | ||
run: | | ||
mamba install pytest ${{ env.CHANNELS }} | ||
- name: Run tests | ||
run: | | ||
python -m pytest -ra --pyargs dpnp.tests | ||
env: | ||
SYCL_CACHE_PERSISTENT: 1 |