Skip to content

Refactor Windows on ARM build script #1

Refactor Windows on ARM build script

Refactor Windows on ARM build script #1

Workflow file for this run

name: Windows-on-ARM
on:
push:
branches: [ main ]
pull_request:
branches: [ main ]
workflow_dispatch: null
env:
OPENBLAS_COMMIT: "v0.3.29"
OPENBLAS_ROOT: "c:\\opt"
# Preserve working directory for calls into bash
# Without this, invoking bash will cd to the home directory
CHERE_INVOKING: "yes"
BASH_PATH: "c:\\rtools40\\usr\\bin\\bash.exe"
jobs:
build:
runs-on: windows-11-arm
timeout-minutes: 90
steps:
- uses: actions/checkout@v4.1.1
- name: Set up Python
uses: actions/setup-python@v5
with:
python-version: 3.9
architecture: arm64
- name: Build
run: |
git submodule update --init --recursive
.\tools\build_steps_win_arm64.bat
- name: Test
run: |
& $env:BASH_PATH -lc tools/build_gfortran.sh
echo "Static test"
.\for_test\test.exe
echo "Dynamic test"
.\for_test\test_dyn.exe
- name: Copy
run: |
cp for_test\test*.exe builds
- uses: actions/upload-artifact@v4.3.0
with:
name: wheels-${{matrix.plat }}-${{ matrix.INTERFACE64 }}
path: dist/scipy_openblas*.whl
- uses: actions/upload-artifact@v4.3.0
with:
name: openblas-${{matrix.plat }}-${{ matrix.INTERFACE64 }}
path: builds/openblas*.zip
- name: Test 64-bit interface wheel
run: |
python -m pip install --no-index --find-links dist scipy_openblas64
python -m scipy_openblas64
python -c "import scipy_openblas64; print(scipy_openblas64.get_pkg_config())"
- name: Install Anaconda client
run: |
wget https://static.rust-lang.org/rustup/dist/aarch64-pc-windows-msvc/rustup-init.exe -Outfile rustup-init.exe
.\rustup-init.exe -y
$env:PATH="$env:PATH;$env:USERPROFILE\.cargo\bin"
pip install anaconda-client
- name: Upload
# see https://github.com/marketplace/actions/setup-miniconda for why
# `-el {0}` is required.
shell: bash -el {0}
env:
ANACONDA_SCIENTIFIC_PYTHON_UPLOAD: ${{ secrets.ANACONDA_SCIENTIFIC_PYTHON_UPLOAD }}
run: |
source tools/upload_to_anaconda_staging.sh
upload_wheels