Skip to content

make array Hermitian before calling complex-to-real FFT #7193

make array Hermitian before calling complex-to-real FFT

make array Hermitian before calling complex-to-real FFT #7193

Workflow file for this run

name: Conda package
on:
push:
branches:
- master
pull_request:
permissions: read-all
env:
package-name: dpnp
# Follow oneAPI installation instruction for conda, since intel channel is not longer available
# channels-list: '-c dppy/label/dev -c intel -c conda-forge --override-channels'
channels-list: '-c dppy/label/dev -c https://software.repos.intel.com/python/conda/ -c conda-forge --override-channels'
ver-script-part1: "import json; f = open('version.json', 'r'); j = json.load(f); f.close(); "
ver-script-part2: "d = j['dpnp'][0]; print('='.join((d[s] for s in ('version', 'build'))))"
fetch-depth: 1
# python 3.13 is blocked since BLAS requires "mkl<2025.0" (see https://github.com/conda-forge/blas-feedstock/pull/128
# which depends on resolving MKL issue https://github.com/conda-forge/intel_repack-feedstock/issues/83)
python-ver-test-all-dtypes: '3.12'
test-env-name: 'test'
rerun-tests-on-failure: 'true'
rerun-tests-max-attempts: 2
rerun-tests-timeout: 35
jobs:
build:
name: Build
strategy:
fail-fast: false
matrix:
# python 3.13 is blocked since BLAS requires "mkl<2025.0" (see https://github.com/conda-forge/blas-feedstock/pull/128
# which depends on resolving MKL issue https://github.com/conda-forge/intel_repack-feedstock/issues/83)
python: ['3.9', '3.10', '3.11', '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}' }}
env:
build-conda-pkg-env: 'environments/build_conda_pkg.yml'
build-env-name: 'build'
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
id: setup_miniconda
continue-on-error: true
uses: conda-incubator/setup-miniconda@505e6394dae86d6a5c7fbb6e3fb8938e3e863830 # v3.1.1
with:
miniforge-version: latest
use-mamba: 'true'
conda-remove-defaults: 'true'
environment-file: ${{ env.build-conda-pkg-env }}
activate-environment: ${{ env.build-env-name }}
- name: ReSetup miniconda
if: steps.setup_miniconda.outcome == 'failure'
uses: conda-incubator/setup-miniconda@505e6394dae86d6a5c7fbb6e3fb8938e3e863830 # v3.1.1
with:
miniforge-version: latest
use-mamba: 'true'
conda-remove-defaults: 'true'
environment-file: ${{ env.build-conda-pkg-env }}
activate-environment: ${{ env.build-env-name }}
- name: List installed packages
run: mamba list
- name: Store conda paths as envs
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
- name: Build conda package
id: build_conda_pkg
continue-on-error: true
run: conda build --no-test --python ${{ matrix.python }} --numpy 2.0 ${{ env.channels-list }} conda-recipe
env:
MAX_BUILD_CMPL_MKL_VERSION: '2025.2a0'
- name: ReBuild conda package
if: steps.build_conda_pkg.outcome == 'failure'
run: conda build --no-test --python ${{ matrix.python }} --numpy 2.0 ${{ env.channels-list }} conda-recipe
env:
MAX_BUILD_CMPL_MKL_VERSION: '2025.2a0'
- name: Upload artifact
uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4.6.2
with:
name: ${{ env.package-name }} ${{ runner.os }} Python ${{ matrix.python }}
path: ${{ env.CONDA_BLD }}${{ env.package-name }}-*.conda
- name: Upload wheels artifact
uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4.6.2
with:
name: ${{ env.package-name }} ${{ runner.os }} Wheels Python ${{ matrix.python }}
path: ${{ env.WHEELS_OUTPUT_FOLDER }}${{ env.package-name }}-*.whl
test_linux:
name: Test
needs: build
runs-on: ${{ matrix.os }}
defaults:
run:
shell: bash -el {0}
strategy:
fail-fast: false
matrix:
# python 3.13 is blocked due to MKL issue
python: ['3.9', '3.10', '3.11', '3.12']
os: [ubuntu-latest]
env:
dpnp-repo-path: '${{ github.workspace }}/source/'
create-conda-channel-env: 'source/environments/create_conda_channel.yml'
channel-path: '${{ github.workspace }}/channel/'
pkg-path-in-channel: '${{ github.workspace }}/channel/linux-64/'
ver-json-path: '${{ github.workspace }}/version.json'
steps:
- name: Checkout DPNP repo
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
with:
fetch-depth: ${{ env.fetch-depth }}
path: ${{ env.dpnp-repo-path }}
- name: Download artifact
uses: actions/download-artifact@d3f86a106a0bac45b974a628896c90dbdf5c8093 # v4.3.0
with:
name: ${{ env.package-name }} ${{ runner.os }} Python ${{ matrix.python }}
path: ${{ env.pkg-path-in-channel }}
- name: Setup miniconda
id: setup_miniconda
continue-on-error: true
uses: conda-incubator/setup-miniconda@505e6394dae86d6a5c7fbb6e3fb8938e3e863830 # v3.1.1
with:
miniforge-version: latest
use-mamba: 'true'
conda-remove-defaults: 'true'
environment-file: ${{ env.create-conda-channel-env }}
activate-environment: ${{ env.test-env-name }}
- name: ReSetup miniconda
if: steps.setup_miniconda.outcome == 'failure'
uses: conda-incubator/setup-miniconda@505e6394dae86d6a5c7fbb6e3fb8938e3e863830 # v3.1.1
with:
miniforge-version: latest
use-mamba: 'true'
conda-remove-defaults: 'true'
environment-file: ${{ env.create-conda-channel-env }}
activate-environment: ${{ env.test-env-name }}
- name: Create conda channel
run: |
python -m conda_index ${{ env.channel-path }}
- name: Test conda channel
run: |
conda search ${{ env.package-name }} -c ${{ env.channel-path }} --override-channels --info --json > ${{ env.ver-json-path }}
cat ${{ env.ver-json-path }}
- name: Get package version
run: |
export PACKAGE_VERSION=$(python -c "${{ env.ver-script-part1 }} ${{ env.ver-script-part2 }}")
echo PACKAGE_VERSION=${PACKAGE_VERSION}
echo "PACKAGE_VERSION=$PACKAGE_VERSION" >> $GITHUB_ENV
# conda-index does not support python 3.13, but we need to test DPNP package with python 3.13
- name: Remove conda-index
run: mamba remove conda-index
- name: Install dpnp
id: install_dpnp
continue-on-error: true
run: |
mamba install ${{ env.package-name }}=${{ env.PACKAGE_VERSION }} pytest pytest-xdist python=${{ matrix.python }} ${{ env.TEST_CHANNELS }}
env:
TEST_CHANNELS: '-c ${{ env.channel-path }} ${{ env.channels-list }}'
- name: ReInstall dpnp
if: steps.install_dpnp.outcome == 'failure'
run: |
mamba install ${{ env.package-name }}=${{ env.PACKAGE_VERSION }} pytest pytest-xdist python=${{ matrix.python }} ${{ env.TEST_CHANNELS }}
env:
TEST_CHANNELS: '-c ${{ env.channel-path }} ${{ env.channels-list }}'
- name: List installed packages
run: mamba list
- name: Smoke test
run: |
python -c "import dpctl; dpctl.lsplatform()"
python -c "import dpnp; print(dpnp.__version__)"
- name: Run tests
if: env.rerun-tests-on-failure != 'true'
run: |
if [[ "${{ matrix.python }}" == "${{ env.python-ver-test-all-dtypes }}" ]]; then
export DPNP_TEST_ALL_INT_TYPES=1
python -m pytest -ra --pyargs ${{ env.package-name }}.tests
else
python -m pytest -n auto -ra --pyargs ${{ env.package-name }}.tests
fi
- name: Run tests
if: env.rerun-tests-on-failure == 'true'
id: run_tests_linux
uses: nick-fields/retry@ce71cc2ab81d554ebbe88c79ab5975992d79ba08 # v3.0.2
with:
timeout_minutes: ${{ env.rerun-tests-timeout }}
max_attempts: ${{ env.rerun-tests-max-attempts }}
retry_on: any
command: |
. $CONDA/etc/profile.d/conda.sh
. $CONDA/etc/profile.d/mamba.sh
mamba activate ${{ env.test-env-name }}
if [[ "${{ matrix.python }}" == "${{ env.python-ver-test-all-dtypes }}" ]]; then
export DPNP_TEST_ALL_INT_TYPES=1
python -m pytest -ra --pyargs ${{ env.package-name }}.tests
else
python -m pytest -n auto -ra --pyargs ${{ env.package-name }}.tests
fi
test_windows:
name: Test
needs: build
runs-on: ${{ matrix.os }}
defaults:
run:
shell: cmd /C CALL {0}
strategy:
fail-fast: false
matrix:
# python 3.13 is blocked due to MKL issue
python: ['3.9', '3.10', '3.11', '3.12']
os: [windows-2019]
env:
dpnp-repo-path: '${{ github.workspace }}\source'
create-conda-channel-env: 'source\environments\create_conda_channel.yml'
channel-path: '${{ github.workspace }}\channel\'
pkg-path-in-channel: '${{ github.workspace }}\channel\win-64\'
ver-json-path: '${{ github.workspace }}\version.json'
steps:
- name: Checkout DPNP repo
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
with:
fetch-depth: ${{ env.fetch-depth }}
path: ${{ env.dpnp-repo-path }}
- name: Download artifact
uses: actions/download-artifact@d3f86a106a0bac45b974a628896c90dbdf5c8093 # v4.3.0
with:
name: ${{ env.package-name }} ${{ runner.os }} Python ${{ matrix.python }}
path: ${{ env.pkg-path-in-channel }}
- name: Store a path to package archive
run: |
@echo on
set SEARCH_SCRIPT="DIR ${{ env.pkg-path-in-channel }} /s/b | FINDSTR /r "dpnp-.*\.conda""
FOR /F "tokens=* USEBACKQ" %%F IN (`%SEARCH_SCRIPT%`) DO (
SET FULL_PACKAGE_PATH=%%F
)
echo FULL_PACKAGE_PATH: %FULL_PACKAGE_PATH%
(echo FULL_PACKAGE_PATH=%FULL_PACKAGE_PATH%) >> %GITHUB_ENV%
- name: Setup miniconda
id: setup_miniconda
continue-on-error: true
uses: conda-incubator/setup-miniconda@505e6394dae86d6a5c7fbb6e3fb8938e3e863830 # v3.1.1
with:
miniforge-version: latest
use-mamba: 'true'
conda-remove-defaults: 'true'
environment-file: ${{ env.create-conda-channel-env }}
activate-environment: ${{ env.test-env-name }}
- name: ReSetup miniconda
if: steps.setup_miniconda.outcome == 'failure'
uses: conda-incubator/setup-miniconda@505e6394dae86d6a5c7fbb6e3fb8938e3e863830 # v3.1.1
with:
miniforge-version: latest
use-mamba: 'true'
conda-remove-defaults: 'true'
environment-file: ${{ env.create-conda-channel-env }}
activate-environment: ${{ env.test-env-name }}
- name: Store conda paths as envs
run: |
@echo on
(echo CONDA_LIB_PATH=%CONDA_PREFIX%\Library\lib\) >> %GITHUB_ENV%
(echo CONDA_LIB_BIN_PATH=%CONDA_PREFIX%\Library\bin\) >> %GITHUB_ENV%
- name: Install conda-index
run: |
mamba install conda-index=${{ env.CONDA_INDEX_VERSION }}
- name: Create conda channel
run: |
@echo on
python -m conda_index ${{ env.channel-path }}
- name: Test conda channel
run: |
@echo on
conda search ${{ env.package-name }} -c ${{ env.channel-path }} --override-channels --info --json > ${{ env.ver-json-path }}
- name: Dump version.json
run: more ${{ env.ver-json-path }}
- name: Get package version
run: |
@echo on
set "SCRIPT=${{ env.ver-script-part1 }} ${{ env.ver-script-part2 }}"
FOR /F "tokens=* USEBACKQ" %%F IN (`python -c "%SCRIPT%"`) DO (
set PACKAGE_VERSION=%%F
)
echo PACKAGE_VERSION: %PACKAGE_VERSION%
(echo PACKAGE_VERSION=%PACKAGE_VERSION%) >> %GITHUB_ENV%
# conda-index does not support python 3.13, but we need to test DPNP package with python 3.13
- name: Remove conda-index
run: mamba remove conda-index
- name: Install dpnp
run: |
@echo on
mamba install ${{ env.package-name }}=${{ env.PACKAGE_VERSION }} pytest pytest-xdist python=${{ matrix.python }} ${{ env.TEST_CHANNELS }}
env:
TEST_CHANNELS: '-c ${{ env.channel-path }} ${{ env.channels-list }}'
MAMBA_NO_LOW_SPEED_LIMIT: 1
- name: List installed packages
run: mamba list
- name: Activate OCL CPU RT
shell: pwsh
run: |
$script_path="$env:CONDA_PREFIX\Scripts\set-intel-ocl-icd-registry.ps1"
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\bin\cl.cfg"
Get-Content -Tail 5 -Path $cl_cfg
- name: Smoke test
run: |
python -c "import dpctl; dpctl.lsplatform()"
python -c "import dpnp; print(dpnp.__version__)"
- name: Run tests
if: env.rerun-tests-on-failure != 'true'
shell: pwsh
run: |
if (${{ matrix.python }} -eq ${{ env.python-ver-test-all-dtypes }}) {
$env:DPNP_TEST_ALL_INT_TYPES=1
python -m pytest -ra --pyargs ${{ env.package-name }}.tests
} else {
python -m pytest -n auto -ra --pyargs ${{ env.package-name }}.tests
}
- name: Run tests
if: env.rerun-tests-on-failure == 'true'
id: run_tests_win
uses: nick-fields/retry@ce71cc2ab81d554ebbe88c79ab5975992d79ba08 # v3.0.2
with:
timeout_minutes: ${{ env.rerun-tests-timeout }}
max_attempts: ${{ env.rerun-tests-max-attempts }}
retry_on: any
shell: pwsh
command: |
if ( ${{ matrix.python }} -eq ${{ env.python-ver-test-all-dtypes }} ) {
$env:DPNP_TEST_ALL_INT_TYPES=1
python -m pytest -ra --pyargs ${{ env.package-name }}.tests
} else {
python -m pytest -n auto -ra --pyargs ${{ env.package-name }}.tests
}
upload:
name: Upload
needs: [test_linux, test_windows]
strategy:
fail-fast: false
matrix:
# python 3.13 is blocked due to MKL issue
python: ['3.9', '3.10', '3.11', '3.12']
os: [ubuntu-22.04, windows-2019]
runs-on: ${{ matrix.os }}
defaults:
run:
shell: ${{ matrix.os == 'windows-2019' && 'cmd /C CALL {0}' || 'bash -el {0}' }}
env:
upload-conda-pkg-env: 'environments/upload_cleanup_conda_pkg.yml'
upload-env-name: 'upload'
if: |
(github.repository == 'IntelPython/dpnp') &&
(github.ref == 'refs/heads/master' || (startsWith(github.ref, 'refs/heads/release') == true) || github.event_name == 'push' && contains(github.ref, 'refs/tags/'))
steps:
- name: Checkout DPNP repo
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
with:
fetch-depth: ${{ env.fetch-depth }}
- name: Download artifact
uses: actions/download-artifact@d3f86a106a0bac45b974a628896c90dbdf5c8093 # v4.3.0
with:
name: ${{ env.package-name }} ${{ runner.os }} Python ${{ matrix.python }}
- name: Download wheels artifact
uses: actions/download-artifact@d3f86a106a0bac45b974a628896c90dbdf5c8093 # v4.3.0
with:
name: ${{ env.package-name }} ${{ runner.os }} Wheels Python ${{ matrix.python }}
- name: Setup miniconda
id: setup_miniconda
continue-on-error: true
uses: conda-incubator/setup-miniconda@505e6394dae86d6a5c7fbb6e3fb8938e3e863830 # v3.1.1
with:
miniforge-version: latest
use-mamba: 'true'
conda-remove-defaults: 'true'
environment-file: ${{ env.upload-conda-pkg-env }}
activate-environment: ${{ env.upload-env-name }}
- name: ReSetup miniconda
if: steps.setup_miniconda.outcome == 'failure'
uses: conda-incubator/setup-miniconda@505e6394dae86d6a5c7fbb6e3fb8938e3e863830 # v3.1.1
with:
miniforge-version: latest
use-mamba: 'true'
conda-remove-defaults: 'true'
environment-file: ${{ env.upload-conda-pkg-env }}
activate-environment: ${{ env.upload-env-name }}
- name: Package version
shell: bash -el {0}
run: |
echo "PACKAGE_VERSION=$(basename ${{ env.package-name }}-*.conda | sed 's/^${{ env.package-name }}-\([^-]*\).*/\1/')" >> $GITHUB_ENV
- name: Upload
run: |
anaconda --token ${{ env.ANACONDA_TOKEN }} upload --user dppy --label dev ${{ env.package-name }}-*.conda
env:
ANACONDA_TOKEN: ${{ secrets.ANACONDA_TOKEN }}
- name: Upload wheels
run: |
anaconda --token ${{ env.ANACONDA_TOKEN }} upload --user dppy --label dev ${{ env.package-name }}-*.whl --version ${{ env.PACKAGE_VERSION }}
env:
ANACONDA_TOKEN: ${{ secrets.ANACONDA_TOKEN }}
array-api-conformity:
name: Array API conformity
needs: build
permissions:
# Needed to add a comment to a pull request's issue
pull-requests: write
strategy:
matrix:
os: [ubuntu-22.04]
runs-on: ${{ matrix.os }}
defaults:
run:
shell: bash -el {0}
continue-on-error: true
env:
array-api-tests-path: '${{ github.workspace }}/array-api-tests/'
json-report-file: '${{ github.workspace }}/.report.json'
dpnp-repo-path: '${{ github.workspace }}/source/'
array-api-skips-file: '${{ github.workspace }}/source/.github/workflows/array-api-skips.txt'
create-conda-channel-env: 'source/environments/create_conda_channel.yml'
python-ver: '3.12' # it has to be aligned with python in create_conda_channel.yml
conda-env-name: 'array-api-conformity'
channel-path: '${{ github.workspace }}/channel/'
pkg-path-in-channel: '${{ github.workspace }}/channel/linux-64/'
ver-json-path: '${{ github.workspace }}/version.json'
steps:
- name: Checkout DPNP repo
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
with:
fetch-depth: ${{ env.fetch-depth }}
path: ${{ env.dpnp-repo-path }}
- name: Download artifact
uses: actions/download-artifact@d3f86a106a0bac45b974a628896c90dbdf5c8093 # v4.3.0
with:
name: ${{ env.package-name }} ${{ runner.os }} Python ${{ env.python-ver }}
path: ${{ env.pkg-path-in-channel }}
- name: Setup miniconda
id: setup_miniconda
continue-on-error: true
uses: conda-incubator/setup-miniconda@505e6394dae86d6a5c7fbb6e3fb8938e3e863830 # v3.1.1
with:
miniforge-version: latest
use-mamba: 'true'
conda-remove-defaults: 'true'
environment-file: ${{ env.create-conda-channel-env }}
activate-environment: ${{ env.conda-env-name }}
- name: ReSetup miniconda
if: steps.setup_miniconda.outcome == 'failure'
uses: conda-incubator/setup-miniconda@505e6394dae86d6a5c7fbb6e3fb8938e3e863830 # v3.1.1
with:
miniforge-version: latest
use-mamba: 'true'
conda-remove-defaults: 'true'
environment-file: ${{ env.create-conda-channel-env }}
activate-environment: ${{ env.conda-env-name }}
- name: Create conda channel
run: |
python -m conda_index ${{ env.channel-path }}
- name: Test conda channel
run: |
conda search ${{ env.package-name }} -c ${{ env.channel-path }} --override-channels --info --json > ${{ env.ver-json-path }}
cat ${{ env.ver-json-path }}
- name: Get package version
run: |
export PACKAGE_VERSION=$(python -c "${{ env.ver-script-part1 }} ${{ env.ver-script-part2 }}")
echo PACKAGE_VERSION=${PACKAGE_VERSION}
echo "PACKAGE_VERSION=$PACKAGE_VERSION" >> $GITHUB_ENV
- name: Install dpnp
id: install_dpnp
continue-on-error: true
run: |
mamba install ${{ env.package-name }}=${{ env.PACKAGE_VERSION }} pytest python=${{ env.python-ver }} ${{ env.TEST_CHANNELS }}
env:
TEST_CHANNELS: '-c ${{ env.channel-path }} ${{ env.channels-list }}'
- name: ReInstall dpnp
if: steps.install_dpnp.outcome == 'failure'
run: |
mamba install ${{ env.package-name }}=${{ env.PACKAGE_VERSION }} pytest python=${{ env.python-ver }} ${{ env.TEST_CHANNELS }}
env:
TEST_CHANNELS: '-c ${{ env.channel-path }} ${{ env.channels-list }}'
- name: List installed packages
run: mamba list
- name: Smoke test
run: |
python -c "import dpctl; dpctl.lsplatform()"
python -c "import dpnp; print(dpnp.__version__)"
- name: Clone array API tests repo
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
with:
repository: 'data-apis/array-api-tests'
path: ${{ env.array-api-tests-path }}
fetch-depth: ${{ env.fetch-depth }}
submodules: 'recursive'
- name: Install array API test dependencies
run: |
pip install -r requirements.txt
working-directory: ${{ env.array-api-tests-path }}
- name: Install jq
run: |
sudo apt-get install jq
- name: List installed packages
run: mamba list
- name: Smoke test
run: |
python -c "import dpctl; dpctl.lsplatform()"
python -c "import dpnp; print(dpnp.__version__)"
- name: Run array API conformance tests
run: |
python -m pytest --json-report --json-report-file=${{ env.json-report-file }} --disable-deadline --skips-file ${{ env.array-api-skips-file }} array_api_tests || true
env:
ARRAY_API_TESTS_MODULE: 'dpnp'
ARRAY_API_TESTS_VERSION: '2024.12'
SYCL_CACHE_PERSISTENT: 1
working-directory: ${{ env.array-api-tests-path }}
- name: Set GitHub environment variables
run: |
FILE=${{ env.json-report-file }}
if test -f "$FILE"; then
PASSED_TESTS=$(jq '.summary | .passed // 0' $FILE)
FAILED_TESTS=$(jq '.summary | .failed // 0' $FILE)
SKIPPED_TESTS=$(jq '.summary | .skipped // 0' $FILE)
MESSAGE="Array API standard conformance tests for dpnp=$PACKAGE_VERSION ran successfully.
Passed: $PASSED_TESTS
Failed: $FAILED_TESTS
Skipped: $SKIPPED_TESTS"
echo "MESSAGE<<EOF" >> $GITHUB_ENV
echo "$MESSAGE" >> $GITHUB_ENV
echo "EOF" >> $GITHUB_ENV
else
echo "Array API standard conformance tests failed to run for dpnp=$PACKAGE_VERSION."
exit 1
fi
- name: Output API summary
run: echo "::notice ${{ env.MESSAGE }}"
- name: Post result to PR
if: ${{ github.event.pull_request && !github.event.pull_request.head.repo.fork }}
uses: mshick/add-pr-comment@b8f338c590a895d50bcbfa6c5859251edc8952fc # v2.8.2
with:
message-id: array_api_results
message: |
${{ env.MESSAGE }}
cleanup_packages:
name: Clean up anaconda packages
needs: [upload]
runs-on: 'ubuntu-latest'
defaults:
run:
shell: bash -el {0}
env:
cleanup-conda-pkg-env: 'environments/upload_cleanup_conda_pkg.yml'
cleanup-env-name: 'cleanup'
steps:
- name: Checkout DPNP repo
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
with:
fetch-depth: ${{ env.fetch-depth }}
- name: Setup miniconda
id: setup_miniconda
continue-on-error: true
uses: conda-incubator/setup-miniconda@505e6394dae86d6a5c7fbb6e3fb8938e3e863830 # v3.1.1
with:
miniforge-version: latest
use-mamba: 'true'
conda-remove-defaults: 'true'
environment-file: ${{ env.cleanup-conda-pkg-env }}
activate-environment: ${{ env.cleanup-env-name }}
- name: ReSetup miniconda
if: steps.setup_miniconda.outcome == 'failure'
uses: conda-incubator/setup-miniconda@505e6394dae86d6a5c7fbb6e3fb8938e3e863830 # v3.1.1
with:
miniforge-version: latest
use-mamba: 'true'
conda-remove-defaults: 'true'
environment-file: ${{ env.cleanup-conda-pkg-env }}
activate-environment: ${{ env.cleanup-env-name }}
- name: Checkout repo
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
with:
repository: IntelPython/devops-tools
fetch-depth: ${{ env.fetch-depth }}
- name: Cleanup old packages
run: |
python scripts/cleanup-old-packages.py \
--verbose --force --token ${{ secrets.ANACONDA_TOKEN }} \
--package dppy/${{ env.package-name }} --label dev