Nightly-build #171
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
#=============================================================================== | |
# Copyright contributors to the oneDAL project | |
# | |
# Licensed under the Apache License, Version 2.0 (the "License"); | |
# you may not use this file except in compliance with the License. | |
# You may obtain a copy of the License at | |
# | |
# http://www.apache.org/licenses/LICENSE-2.0 | |
# | |
# Unless required by applicable law or agreed to in writing, software | |
# distributed under the License is distributed on an "AS IS" BASIS, | |
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | |
# See the License for the specific language governing permissions and | |
# limitations under the License. | |
#=============================================================================== | |
name: Nightly-build | |
on: | |
schedule: | |
- cron: '0 21 * * *' | |
pull_request: | |
branches: | |
- main | |
paths: | |
- .github/workflows/nightly-build.yml | |
- .ci/pipeline/ci.yml | |
- makefile | |
- '.ci/env/**' | |
- '.ci/scripts/**' | |
- 'dev/make/**' | |
- 'dev/make/compiler_definitions/**' | |
- 'dev/make/function_definitions/**' | |
workflow_dispatch: | |
permissions: | |
contents: read | |
concurrency: | |
group: ${{ github.workflow }}-${{ github.event_name }}-${{ github.ref_name }}-${{ github.event.number || github.sha }} | |
cancel-in-progress: true | |
env: | |
WINDOWS_ALL_COMPONENTS: 'intel.oneapi.win.cpp-dpcpp-common:intel.oneapi.win.mkl.devel:intel.oneapi.win.tbb.devel' | |
jobs: | |
build_lnx: | |
name: oneDAL Linux nightly build | |
if: github.repository == 'oneapi-src/oneDAL' | |
runs-on: ubuntu-24.04 | |
timeout-minutes: 120 | |
steps: | |
- name: Checkout oneDAL | |
uses: actions/checkout@v4 | |
with: | |
repository: oneapi-src/oneDAL | |
- name: Install DPC++ | |
run: .ci/env/apt.sh dpcpp | |
- name: Install MKL | |
run: .ci/env/apt.sh mkl | |
- name: System Info | |
run: | | |
source /opt/intel/oneapi/setvars.sh | |
.ci/scripts/describe_system.sh | |
- name: Make daal | |
run: | | |
source /opt/intel/oneapi/setvars.sh | |
.ci/scripts/build.sh --compiler icx --optimizations avx2 --target daal | |
- name: Make onedal | |
run: | | |
source /opt/intel/oneapi/setvars.sh | |
.ci/scripts/build.sh --compiler icx --optimizations avx2 --target onedal | |
- name: Archive build | |
uses: actions/upload-artifact@v4 | |
with: | |
name: __release_lnx | |
path: ./__release_lnx | |
- name: Archive oneDAL environment | |
uses: actions/upload-artifact@v4 | |
with: | |
name: oneDAL_env | |
path: .ci/env | |
build_win: | |
name: oneDAL Windows nightly build | |
if: github.repository == 'oneapi-src/oneDAL' | |
runs-on: windows-2022 | |
timeout-minutes: 120 | |
steps: | |
- name: Checkout oneDAL | |
uses: actions/checkout@v4 | |
with: | |
repository: oneapi-src/oneDAL | |
- name: Install DPC++ | |
shell: cmd | |
run: | | |
set PATH=C:\msys64\usr\bin;%PATH% | |
for /f "delims=" %%i in ('grep -oP -m 1 "(?<=WINDOWS_BASEKIT_URL: ).*" .ci\pipeline\ci.yml') do set "baseurl=%%i" | |
call .ci\scripts\install_basekit.bat %baseurl:'="% ${{ env.WINDOWS_ALL_COMPONENTS }} .\oneapi\ | |
- name: Prepare Intel OpenCL CPU runtime | |
run: | | |
# Store the unpacked runtime to centralize and reduce external downloads | |
& .ci/scripts/collect_opencl_rt.ps1 | |
- name: System Info | |
shell: cmd | |
run: | | |
set PATH=C:\msys64\usr\bin;%PATH% | |
pip install cpufeature | |
call .\oneapi\setvars.bat | |
bash .ci/scripts/describe_system.sh | |
- name: Make daal | |
shell: cmd | |
run: | | |
call .\oneapi\setvars.bat | |
call .\.ci\scripts\build.bat daal vc avx2 | |
- name: Make onedal | |
shell: cmd | |
run: | | |
call .\oneapi\setvars.bat | |
call .\.ci\scripts\build.bat onedal_c vc avx2 | |
- name: Make oneapi_dpc | |
shell: cmd | |
run: | | |
call .\oneapi\setvars.bat | |
call .\oneapi\compiler\latest\bin\sycl-ls.exe | |
call .\.ci\scripts\build.bat onedal_dpc vc avx2 | |
- name: Compress Intel BaseKit | |
shell: cmd | |
run: | | |
# change absolute symlinks to relative symlinks for reuse (fix issue in Intel BaseKit) | |
# iterate through all dirs in basekit (%%s), use dir to find the symlink target for symlinks named 'latest' (%%H) | |
# delete the symlink, and make a new symlink using the last foldername (%%~nxH) in a relative fashion | |
for /D %%s in (.\oneapi\*) do for /f "tokens=2 delims=[]" %%H in ('dir /al %%s\ ^| findstr /i /c:"latest"') do rmdir %%s\latest & mklink /D %%s\latest .\%%~nxH | |
tar -cvzf oneapi.tar.gz .\oneapi | |
- name: Archive build | |
uses: actions/upload-artifact@v4 | |
with: | |
name: __release_win | |
path: .\__release_win_vc | |
- name: Archive Intel BaseKit | |
uses: actions/upload-artifact@v4 | |
with: | |
name: intel_oneapi_basekit | |
path: .\oneapi.tar.gz | |
- name: Archive Intel OpenCL CPU runtime | |
uses: actions/upload-artifact@v4 | |
with: | |
name: opencl_rt_installer | |
path: .\opencl_rt.msi |