Skip to content

Commit

Permalink
Update GitHub actions to work with dependent components from 2025.0
Browse files Browse the repository at this point in the history
… release (#2137)

* Pass -e option to bash shell and add proper check of path to file on Windows

* Update step to add Intel repository

* Add umf and hwloc packages and remove version restrictions

* Bump max allowed DPC++ and OneMKL versions

* Bump required DPC++ and OneMKL versions

* Bump required dpctl version
  • Loading branch information
antonwolfy authored Nov 7, 2024
1 parent 06f6e33 commit e41a732
Show file tree
Hide file tree
Showing 4 changed files with 44 additions and 32 deletions.
26 changes: 14 additions & 12 deletions .github/workflows/build-sphinx.yml
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ env:

defaults:
run:
shell: bash -l {0}
shell: bash -el {0}

jobs:
build-and-deploy:
Expand Down Expand Up @@ -59,13 +59,13 @@ jobs:
with:
docker-images: false

- name: Install Intel repository
- name: Add Intel repository
run: |
wget https://apt.repos.intel.com/intel-gpg-keys/GPG-PUB-KEY-INTEL-SW-PRODUCTS-2023.PUB
sudo apt-key add GPG-PUB-KEY-INTEL-SW-PRODUCTS-2023.PUB
rm GPG-PUB-KEY-INTEL-SW-PRODUCTS-2023.PUB
sudo add-apt-repository "deb https://apt.repos.intel.com/oneapi all main"
sudo apt-get update
wget https://apt.repos.intel.com/intel-gpg-keys/GPG-PUB-KEY-INTEL-SW-PRODUCTS.PUB
cat GPG-PUB-KEY-INTEL-SW-PRODUCTS.PUB | gpg --dearmor | sudo tee /usr/share/keyrings/oneapi-archive-keyring.gpg > /dev/null
rm GPG-PUB-KEY-INTEL-SW-PRODUCTS.PUB
echo "deb [signed-by=/usr/share/keyrings/oneapi-archive-keyring.gpg] https://apt.repos.intel.com/oneapi all main" | sudo tee /etc/apt/sources.list.d/oneAPI.list
sudo apt update
- name: Update libstdc++-dev
run: |
Expand All @@ -76,11 +76,13 @@ jobs:
- name: Install Intel OneAPI
run: |
sudo apt-get install intel-oneapi-mkl-2024.2* \
intel-oneapi-mkl-devel-2024.2* \
intel-oneapi-tbb-devel-2021.13* \
intel-oneapi-libdpstd-devel-2022.6* \
intel-oneapi-compiler-dpcpp-cpp-2024.2*
sudo apt install hwloc \
intel-oneapi-mkl \
intel-oneapi-umf \
intel-oneapi-mkl-devel \
intel-oneapi-tbb-devel \
intel-oneapi-libdpstd-devel \
intel-oneapi-compiler-dpcpp-cpp
# required by sphinxcontrib-spelling extension
- name: Install enchant package
Expand Down
22 changes: 15 additions & 7 deletions .github/workflows/conda-package.yml
Original file line number Diff line number Diff line change
Expand Up @@ -40,7 +40,7 @@ jobs:

defaults:
run:
shell: ${{ matrix.os == 'windows-2019' && 'cmd /C CALL {0}' || 'bash -l {0}' }}
shell: ${{ matrix.os == 'windows-2019' && 'cmd /C CALL {0}' || 'bash -el {0}' }}

continue-on-error: true

Expand Down Expand Up @@ -76,7 +76,7 @@ jobs:
run: echo "MAMBA_NO_LOW_SPEED_LIMIT=1" >> $GITHUB_ENV

- name: Store conda paths as envs
shell: bash -l {0}
shell: bash -el {0}
run: |
echo "CONDA_BLD=$CONDA_PREFIX/conda-bld/${{ runner.os == 'Linux' && 'linux' || 'win' }}-64/" | tr "\\\\" '/' >> $GITHUB_ENV
echo "WHEELS_OUTPUT_FOLDER=$GITHUB_WORKSPACE${{ runner.os == 'Linux' && '/' || '\\' }}" >> $GITHUB_ENV
Expand All @@ -99,7 +99,7 @@ jobs:
- name: Build conda package
run: conda build --no-test --python ${{ matrix.python }} --numpy 2.0 ${{ env.CHANNELS }} conda-recipe
env:
MAX_BUILD_CMPL_MKL_VERSION: '2024.3a0'
MAX_BUILD_CMPL_MKL_VERSION: '2025.1a0'

- name: Upload artifact
uses: actions/upload-artifact@b4b15b8c7c6ac21ea08fcf65892d2ee8f75cf882 # v4.4.3
Expand All @@ -122,7 +122,7 @@ jobs:

defaults:
run:
shell: bash -l {0}
shell: bash -el {0}

strategy:
matrix:
Expand Down Expand Up @@ -318,7 +318,7 @@ jobs:
@echo on
set "SCRIPT=${{ env.VER_SCRIPT1 }} ${{ env.VER_SCRIPT2 }}"
FOR /F "tokens=* USEBACKQ" %%F IN (`python -c "%SCRIPT%"`) DO (
SET PACKAGE_VERSION=%%F
set PACKAGE_VERSION=%%F
)
echo PACKAGE_VERSION: %PACKAGE_VERSION%
(echo PACKAGE_VERSION=%PACKAGE_VERSION%) >> %GITHUB_ENV%
Expand Down Expand Up @@ -357,7 +357,11 @@ jobs:
shell: pwsh
run: |
$script_path="$env:CONDA_PREFIX\Scripts\set-intel-ocl-icd-registry.ps1"
&$script_path
if (Test-Path $script_path) {
&$script_path
} else {
Write-Warning "File $script_path was NOT found!"
}
# Check the variable assisting OpenCL CPU driver to find TBB DLLs which are not located where it expects them by default
$cl_cfg="$env:CONDA_PREFIX\Library\lib\cl.cfg"
Get-Content -Tail 5 -Path $cl_cfg
Expand Down Expand Up @@ -401,7 +405,7 @@ jobs:

defaults:
run:
shell: bash -l {0}
shell: bash -el {0}

continue-on-error: true

Expand Down Expand Up @@ -450,11 +454,15 @@ jobs:

cleanup_packages:
name: Clean up anaconda packages

needs: [upload]

runs-on: 'ubuntu-latest'

defaults:
run:
shell: bash -el {0}

steps:
- uses: conda-incubator/setup-miniconda@a4260408e20b96e80095f42ff7f1a15b27dd94ca # v3.0.4
with:
Expand Down
24 changes: 13 additions & 11 deletions .github/workflows/generate_coverage.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ jobs:

defaults:
run:
shell: bash -l {0}
shell: bash -el {0}

env:
python-ver: '3.12'
Expand All @@ -40,20 +40,22 @@ jobs:
- name: Add Intel repository
if: env.INSTALL_ONE_API == 'yes'
run: |
wget https://apt.repos.intel.com/intel-gpg-keys/GPG-PUB-KEY-INTEL-SW-PRODUCTS-2023.PUB
sudo apt-key add GPG-PUB-KEY-INTEL-SW-PRODUCTS-2023.PUB
rm GPG-PUB-KEY-INTEL-SW-PRODUCTS-2023.PUB
sudo add-apt-repository "deb https://apt.repos.intel.com/oneapi all main"
sudo apt-get update
wget https://apt.repos.intel.com/intel-gpg-keys/GPG-PUB-KEY-INTEL-SW-PRODUCTS.PUB
cat GPG-PUB-KEY-INTEL-SW-PRODUCTS.PUB | gpg --dearmor | sudo tee /usr/share/keyrings/oneapi-archive-keyring.gpg > /dev/null
rm GPG-PUB-KEY-INTEL-SW-PRODUCTS.PUB
echo "deb [signed-by=/usr/share/keyrings/oneapi-archive-keyring.gpg] https://apt.repos.intel.com/oneapi all main" | sudo tee /etc/apt/sources.list.d/oneAPI.list
sudo apt update
- name: Install latest Intel OneAPI
if: env.INSTALL_ONE_API == 'yes'
run: |
sudo apt-get install intel-oneapi-mkl-2024.2* \
intel-oneapi-mkl-devel-2024.2* \
intel-oneapi-tbb-devel-2021.13* \
intel-oneapi-libdpstd-devel-2022.6* \
intel-oneapi-compiler-dpcpp-cpp-2024.2*
sudo apt install hwloc \
intel-oneapi-mkl \
intel-oneapi-umf \
intel-oneapi-mkl-devel \
intel-oneapi-tbb-devel \
intel-oneapi-libdpstd-devel \
intel-oneapi-compiler-dpcpp-cpp
- name: Install Lcov
run: |
Expand Down
4 changes: 2 additions & 2 deletions conda-recipe/meta.yaml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{% set max_compiler_and_mkl_version = environ.get("MAX_BUILD_CMPL_MKL_VERSION", "2026.0a0") %}
{% set required_compiler_and_mkl_version = "2024.2" %}
{% set required_dpctl_version = "0.18.1" %}
{% set required_compiler_and_mkl_version = "2025.0" %}
{% set required_dpctl_version = "0.19.0*" %}

package:
name: dpnp
Expand Down

0 comments on commit e41a732

Please sign in to comment.