diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 2f19a48193..881c8e8e27 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -17,10 +17,10 @@ name: CI on: pull_request: - branches: [ "main" ] + branches: [ "master" ] push: branches: - - main + - master workflow_dispatch: permissions: read-all @@ -139,14 +139,16 @@ jobs: export COVERAGE_FILE=$(pwd)/.coverage.sklearn if [ "${{ steps.set-env.outputs.DPCFLAG }}" == "" ]; then export CPU=cpu; fi bash .ci/scripts/run_sklearn_tests.sh $CPU - - name: Archive coverage data + - name: Create coverage report + run: | + source venv/bin/activate + coverage combine .coverage.sklearnex .coverage.sklearn + coverage json -o coverage.lnx${{ matrix.PYTHON_VERSION }}_${{ matrix.SKLEARN_VERSION }}.json + - name: Archive coverage report uses: actions/upload-artifact@v4 with: name: coverage_lnx_Py${{ matrix.PYTHON_VERSION }}_${{ matrix.SKLEARN_VERSION }} - path: | - .coverage.sklearn - .coverage.sklearnex - include-hidden-files: true + path: coverage.lnx${{ matrix.PYTHON_VERSION }}_${{ matrix.SKLEARN_VERSION }}.json - name: Sklearn testing [preview] run: | source venv/bin/activate @@ -282,14 +284,17 @@ jobs: set COVERAGE_FILE=%cd%\.coverage.sklearn if "${{ steps.set-env.outputs.DPCFLAG }}"=="" set CPU=cpu bash .ci/scripts/run_sklearn_tests.sh %CPU% - - name: Archive coverage data + - name: Create coverage report + shell: cmd + run: | + call .\venv\Scripts\activate.bat + coverage combine .coverage.sklearnex .coverage.sklearn + coverage json -o coverage.win${{ matrix.PYTHON_VERSION }}_${{ matrix.SKLEARN_VERSION }}.json + - name: Archive coverage report uses: actions/upload-artifact@v4 with: name: coverage_win_Py${{ matrix.PYTHON_VERSION }}_${{ matrix.SKLEARN_VERSION }} - path: | - .coverage.sklearn - .coverage.sklearnex - include-hidden-files: true + path: coverage.win${{ matrix.PYTHON_VERSION }}_${{ matrix.SKLEARN_VERSION }}.json - name: Sklearn testing [preview] shell: cmd run: | diff --git a/.github/workflows/codecov.yml b/.github/workflows/codecov.yml new file mode 100644 index 0000000000..229752fce2 --- /dev/null +++ b/.github/workflows/codecov.yml @@ -0,0 +1,54 @@ +#=============================================================================== +# Copyright 2024 Intel Corporation +# +# 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: codecov +on: + workflow_run: + workflows: [CI] + types: + - completed + workflow_dispatch: +permissions: read-all +concurrency: + group: ${{ github.workflow }}-${{ github.event_name }}-${{ github.ref_name }}-${{ github.event.number || github.sha }} + cancel-in-progress: true + +jobs: + upload_coverage: + runs-on: ubuntu-24.04 + if: ${{ github.event.workflow_run.conclusion == 'success' }} + name: Codecov + steps: + - name: Checkout Scikit-learn-intelex + uses: actions/checkout@v4 + - name: 'Download artifact' + uses: actions/download-artifact@v4 + with: + path: coverage + github-token: ${{ github.token }} + run-id: ${{ github.event.workflow_run.id }} + merge-multiple: true + - name: Install codecov cli + run: | + python3 -m pip install coverage + curl -Os https://cli.codecov.io/latest/linux/codecov + chmod +x codecov + - name: Upload to codecov + run: | + export PR=${{ github.event.workflow_run.pull_requests[0].number }} + export CODECOV_NAME=CI-$PR-${{ github.sha }} + if [ -n "${PR}" ]; then export PR="-P ${PR}"; fi + export SHA=${{ github.event.workflow_run.head_sha }} + ./codecov -v upload-process -Z -t ${{ secrets.CODECOV_TOKEN }} -n $CODECOV_NAME -C $SHA -F github -s ./coverage $PR diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml new file mode 100644 index 0000000000..52cb4d6dc3 --- /dev/null +++ b/.github/workflows/test.yml @@ -0,0 +1,72 @@ +#=============================================================================== +# Copyright 2024 Intel Corporation +# +# 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: test +on: + workflow_dispatch: + +permissions: read-all + +concurrency: + group: ${{ github.workflow }}-${{ github.event_name }}-${{ github.ref_name }}-${{ github.event.number || github.sha }} + cancel-in-progress: true + +env: + DPCTL_VERSION: 0.18.1 + DPNP_VERSION: 0.16.0 + DPCTL_PY_VERSIONS: '3.9\|3.11' + +jobs: + sklearn_lnx: + strategy: + fail-fast: false + matrix: + include: + - PYTHON_VERSION: "3.10" + SKLEARN_VERSION: "1.2" + name: LinuxNightly/pip Python${{ matrix.PYTHON_VERSION }}_Sklearn${{ matrix.SKLEARN_VERSION }} + runs-on: ubuntu-24.04 + timeout-minutes: 120 + + steps: + - name: Checkout Scikit-learn-intelex + uses: actions/checkout@v4 + - name: Get run ID of "CI" workflow + id: get-run-id + run: | + OTHER_REPO="icfaust/scikit-learn-intelex" + WF_NAME="CI" + JQ_QUERY='map(select(.event == "workflow_dispatch" or .event == "schedule")) | .[0].databaseId' + RUN_ID=`gh run --repo ${OTHER_REPO} list --workflow "${WF_NAME}" --json databaseId,event --status success --jq "${JQ_QUERY}"` + echo "Detected latest run id of ${RUN_ID} for workflow ${WF_NAME}" + echo "run-id=${RUN_ID}" >> "$GITHUB_OUTPUT" + env: + GH_TOKEN: ${{ github.token }} + - name: Download artifacts + uses: actions/download-artifact@v4 + with: + path: coverage + github-token: ${{ github.token }} + run-id: ${{ steps.get-run-id.outputs.run-id }} + merge-multiple: true + - name: Install dependencies + run: | + curl -Os https://cli.codecov.io/latest/linux/codecov + chmod +x codecov + - name: Upload to codecov + run: | + export CODECOV_NAME=CI-${{ github.event.number }}-${{ github.sha }} + ./codecov --verbose upload-process --fail-on-error -t ${{ secrets.CODECOV_TOKEN }} -n "${CODECOV_NAME}" -F github -s ./coverage diff --git a/onedal/__init__.py b/onedal/__init__.py index 8f7ade667c..be24a7fa47 100644 --- a/onedal/__init__.py +++ b/onedal/__init__.py @@ -51,6 +51,8 @@ _is_spmd_backend = False +print("test7") + if _is_dpc_backend: try: import onedal._onedal_py_spmd_dpc as _spmd_backend