Download the correct ILP64 tarball #56
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
name: macOS tests (meson) | |
on: | |
pull_request: | |
branches: | |
- main | |
- maintenance/** | |
push: | |
branches: | |
- debug-autoblas | |
permissions: | |
contents: read # to fetch code (actions/checkout) | |
env: | |
CCACHE_DIR: "${{ github.workspace }}/.ccache" | |
concurrency: | |
group: ${{ github.workflow }}-${{ github.head_ref || github.run_id }} | |
cancel-in-progress: true | |
jobs: | |
x86_conda: | |
name: macOS x86-64 conda | |
if: "github.repository == 'rgommers/numpy'" | |
runs-on: macos-latest | |
strategy: | |
matrix: | |
python-version: ["3.11"] | |
steps: | |
- uses: actions/checkout@8ade135a41bc03ea155e62e844d188df1ea18608 # v4.1.0 | |
with: | |
submodules: recursive | |
fetch-depth: 0 | |
- name: Prepare cache dirs and timestamps | |
id: prep-ccache | |
shell: bash -l {0} | |
run: | | |
mkdir -p "${CCACHE_DIR}" | |
echo "dir=$CCACHE_DIR" >> $GITHUB_OUTPUT | |
NOW=$(date -u +"%F-%T") | |
echo "timestamp=${NOW}" >> $GITHUB_OUTPUT | |
echo "today=$(/bin/date -u '+%Y%m%d')" >> $GITHUB_OUTPUT | |
- name: Setup compiler cache | |
uses: actions/cache@88522ab9f39a2ea568f7027eddc7d8d8bc9d59c8 # v3.3.1 | |
id: cache-ccache | |
with: | |
path: ${{ steps.prep-ccache.outputs.dir }} | |
key: ${{ github.workflow }}-${{ matrix.python-version }}-ccache-macos-${{ steps.prep-ccache.outputs.timestamp }} | |
restore-keys: | | |
${{ github.workflow }}-${{ matrix.python-version }}-ccache-macos- | |
- name: Setup Mambaforge | |
uses: conda-incubator/setup-miniconda@3b0f2504dd76ef23b6d31f291f4913fb60ab5ff3 # v2.2.0 | |
with: | |
python-version: ${{ matrix.python-version }} | |
channels: conda-forge | |
channel-priority: true | |
activate-environment: numpy-dev | |
use-only-tar-bz2: false | |
miniforge-variant: Mambaforge | |
miniforge-version: latest | |
use-mamba: true | |
# Updates if `environment.yml` or the date changes. The latter is needed to | |
# ensure we re-solve once a day (since we don't lock versions). Could be | |
# replaced by a conda-lock based approach in the future. | |
- name: Cache conda environment | |
uses: actions/cache@88522ab9f39a2ea568f7027eddc7d8d8bc9d59c8 # v3.3.1 | |
env: | |
# Increase this value to reset cache if environment.yml has not changed | |
CACHE_NUMBER: 1 | |
with: | |
path: ${{ env.CONDA }}/envs/numpy-dev | |
key: | |
${{ runner.os }}--${{ steps.prep-ccache.outputs.today }}-conda-${{ env.CACHE_NUMBER }}-${{ hashFiles('environment.yml') }} | |
id: envcache | |
- name: Update Conda Environment | |
run: mamba env update -n numpy-dev -f environment.yml | |
if: steps.envcache.outputs.cache-hit != 'true' | |
- name: Build and Install NumPy | |
shell: bash -l {0} | |
run: | | |
conda activate numpy-dev | |
CC="ccache $CC" spin build -j2 | |
- name: Run test suite (full) | |
shell: bash -l {0} | |
run: | | |
conda activate numpy-dev | |
export OMP_NUM_THREADS=2 | |
spin test -j2 -m full | |
- name: Ccache statistics | |
shell: bash -l {0} | |
run: | | |
conda activate numpy-dev | |
ccache -s | |
accelerate: | |
name: Accelerate (LP64, ILP64) | |
if: "github.repository == 'numpy/numpy'" | |
runs-on: macos-13 | |
steps: | |
- uses: actions/checkout@8ade135a41bc03ea155e62e844d188df1ea18608 # v4.1.0 | |
with: | |
submodules: recursive | |
fetch-depth: 0 | |
- uses: actions/setup-python@65d7f2d534ac1bc67fcd62888c5f4f3d2cb2b236 # v4.7.1 | |
with: | |
python-version: '3.10' | |
- uses: maxim-lobanov/setup-xcode@60606e260d2fc5762a71e64e74b2174e8ea3c8bd # v1.6.0 | |
with: | |
xcode-version: '14.3' | |
- name: Install dependencies | |
run: | | |
pip install -r build_requirements.txt | |
pip install pytest pytest-xdist hypothesis | |
- name: Build against Accelerate (LP64) | |
run: spin build -- -Ddisable-optimization=true | |
- name: Test (linalg only) | |
run: spin test -j2 -- numpy/linalg | |
- name: Build NumPy against Accelerate (ILP64) | |
run: | | |
spin build -- -Duse-ilp64=true | |
- name: Test (fast tests) | |
run: spin test -j2 |