Adds overloads to ak.full #12113
Workflow file for this run
This file contains hidden or 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: CI | |
| on: [pull_request, merge_group, workflow_dispatch] | |
| env: | |
| ARKOUDA_QUICK_COMPILE: true | |
| ARKOUDA_SKIP_CHECK_DEPS: true | |
| concurrency: | |
| group: ${{ github.workflow }}-${{ github.ref }} | |
| cancel-in-progress: true | |
| jobs: | |
| lint: | |
| runs-on: ubuntu-latest | |
| steps: | |
| - name: Checkout Repository | |
| uses: actions/checkout@v4 | |
| - name: Install dependencies | |
| run: | | |
| python -m pip install --upgrade pip | |
| - name: Check for tabs | |
| run: | | |
| ! git --no-pager grep -n $'\t' -- '*.chpl' | |
| - name: Run doc-example check | |
| run: make check-doc-examples | |
| chpl-lint: | |
| runs-on: ubuntu-latest | |
| strategy: | |
| matrix: | |
| chpl-version: ['2.6.0'] | |
| container: | |
| image: ghcr.io/bears-r-us/ubuntu-with-arkouda-deps-chpl-${{ matrix.chpl-version }}:latest | |
| credentials: | |
| username: ${{ github.actor }} | |
| password: ${{ secrets.github_token }} | |
| steps: | |
| - name: Checkout Repository | |
| uses: actions/checkout@v4 | |
| - name: Set Python version to 3.13 | |
| run: | | |
| update-alternatives --install /usr/bin/python3 python3 /usr/bin/python3.13 1 | |
| - name: Ensure ignore file exists | |
| # .chplcheckignore should live at your repo root | |
| run: | | |
| if [ ! -f .chplcheckignore ]; then | |
| echo "# add paths/globs to ignore, e.g. src/generated/*" > .chplcheckignore | |
| fi | |
| - name: Run chplcheck (respecting .chplcheckignore) | |
| run: | | |
| make chplcheck | |
| ruff-format: | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - name: Install Python | |
| uses: actions/setup-python@v5 | |
| with: | |
| python-version: "3.13" | |
| - name: Install dependencies | |
| run: | | |
| python -m pip install --upgrade pip | |
| pip install ruff==0.11.2 | |
| # Update output format to enable automatic inline annotations. | |
| - name: ruff version | |
| run: | | |
| ruff --version | |
| - name: Run Ruff | |
| run: ruff format --check --diff | |
| mypy: | |
| runs-on: ubuntu-latest | |
| container: | |
| image: ghcr.io/bears-r-us/ubuntu-with-arkouda-deps-chpl-2.6.0:latest | |
| credentials: | |
| username: ${{ github.actor }} | |
| password: ${{ secrets.github_token }} | |
| steps: | |
| - name: Checkout Repository | |
| uses: actions/checkout@v4 | |
| - name: Set Python version to 3.13 | |
| run: | | |
| update-alternatives --install /usr/bin/python3 python3 /usr/bin/python3.13 1 | |
| - name: Install dependencies | |
| run: | | |
| python3 -m ensurepip --default-pip | |
| python3 -m pip install -e .[dev] | |
| - name: check mypy version | |
| run: | | |
| mypy --version | |
| - name: Arkouda mypy | |
| run: | | |
| python3 -m mypy arkouda | |
| docstr-cov: | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v3 | |
| - name: Set up Python | |
| uses: actions/setup-python@v4 | |
| with: { python-version: '3.x' } | |
| - name: Install dependencies | |
| run: pip install docstr-coverage | |
| - name: Run docstring coverage | |
| run: | | |
| mkdir -p docs | |
| make docstr-coverage | |
| flake8: | |
| runs-on: ubuntu-latest | |
| container: | |
| image: ghcr.io/bears-r-us/ubuntu-with-arkouda-deps-chpl-2.6.0:latest | |
| credentials: | |
| username: ${{ github.actor }} | |
| password: ${{ secrets.github_token }} | |
| steps: | |
| - name: Checkout Repository | |
| uses: actions/checkout@v4 | |
| - name: Set Python version to 3.13 | |
| run: | | |
| update-alternatives --install /usr/bin/python3 python3 /usr/bin/python3.13 1 | |
| - name: Install Dependencies | |
| uses: nick-fields/retry@v2 | |
| with: | |
| timeout_seconds: 1200 # or use timeout_minutes | |
| max_attempts: 2 | |
| retry_wait_seconds: 60 | |
| retry_on: error | |
| command: | | |
| python3 -m ensurepip --default-pip | |
| python -m pip install --upgrade pip | |
| pip install flake8 pydoclint[flake8]==0.6.10 | |
| - name: flake8 version | |
| run: | | |
| python3 -m ensurepip --default-pip | |
| flake8 --version | |
| - name: Arkouda flake8 | |
| run: | | |
| flake8 --config .flake8 . | |
| arkouda_python_portability: | |
| runs-on: ubuntu-latest | |
| strategy: | |
| matrix: | |
| python-version: ['3.10', '3.11', '3.12', '3.13'] | |
| env: | |
| CHPL_HOME: /opt/chapel-2.6.0 | |
| container: | |
| image: ghcr.io/bears-r-us/ubuntu-with-arkouda-deps-chpl-2.6.0:latest | |
| credentials: | |
| username: ${{ github.actor }} | |
| password: ${{ secrets.github_token }} | |
| steps: | |
| - name: Checkout Repository | |
| uses: actions/checkout@v4 | |
| # Check Python version | |
| - name: Set python version | |
| run: | | |
| update-alternatives --install /usr/bin/python3 python3 /usr/bin/python${{ matrix.python-version }} 1 | |
| - name: Check python version | |
| run: | | |
| python3 --version | |
| - name: Install dependencies | |
| uses: nick-fields/retry@v2 | |
| with: | |
| timeout_seconds: 1200 # or use timeout_minutes | |
| max_attempts: 2 | |
| retry_wait_seconds: 60 | |
| retry_on: error | |
| command: | | |
| python3 -m ensurepip --default-pip | |
| echo "\$(eval \$(call add-path,/usr/lib/x86_64-linux-gnu/hdf5/serial/))" >> Makefile.paths | |
| echo "\$(eval \$(call add-path,$DEP_INSTALL_DIR/arrow-install/))" >> Makefile.paths | |
| echo "\$(eval \$(call add-path,$DEP_INSTALL_DIR/libiconv-install/))" >> Makefile.paths | |
| - name: Build/Install Arkouda | |
| run: | | |
| make | |
| python3 -m pip install .[dev] | |
| - name: Arkouda unit tests | |
| run: | | |
| make test-python size=100 | |
| arkouda_makefile_almalinux: | |
| runs-on: ubuntu-latest | |
| strategy: | |
| matrix: | |
| python-version: ['3.13'] | |
| container: | |
| image: ghcr.io/bears-r-us/almalinux-with-arkouda-deps:latest | |
| credentials: | |
| username: ${{ github.actor }} | |
| password: ${{ secrets.github_token }} | |
| steps: | |
| - name: Checkout Repository | |
| uses: actions/checkout@v4 | |
| # Install dependencies to build Python from source | |
| - name: Install dependencies | |
| run: | | |
| dnf update -y | |
| dnf install -y zlib-devel gcc gcc-c++ make zlib-devel bzip2 bzip2-devel readline-devel sqlite sqlite-devel openssl openssl-devel libffi-devel xz-devel zlib-devel | |
| # TODO: why does this need to build its own Python when the container has its own? | |
| # almalinux's python is old, so we build from source. But can we move this into the container build? | |
| # Download and install Python from source (updated URL for Python 3.13) | |
| - name: Download Python ${matrix.python-version} source | |
| run: | | |
| curl -O https://www.python.org/ftp/python/${{ matrix.python-version }}.0/Python-${{ matrix.python-version }}.0.tgz | |
| file Python-${{ matrix.python-version }}.0.tgz # Check the file type | |
| - name: Extract Python ${matrix.python-version} source | |
| run: | | |
| tar -xvf Python-${{ matrix.python-version }}.0.tgz | |
| cd Python-${{ matrix.python-version }}.0 && ./configure --enable-optimizations && make -j$(nproc) && make altinstall && cd .. | |
| update-alternatives --install /usr/bin/python3 python3 /usr/local/bin/python${{ matrix.python-version }} 1 | |
| # Install pip for Python from the get-pip.py script | |
| - name: Install pip for Python ${{ matrix.python-version }} | |
| run: | | |
| curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py && python${{ matrix.python-version }} get-pip.py | |
| - name: Check python version | |
| run: | | |
| python3 --version | |
| - name: Make install-arrow | |
| uses: nick-fields/retry@v2 | |
| with: | |
| timeout_seconds: 1200 # or use timeout_minutes | |
| max_attempts: 2 | |
| retry_wait_seconds: 60 | |
| retry_on: error | |
| command: | | |
| make install-arrow DEP_BUILD_DIR=/dep/build | |
| - name: Make install-zmq | |
| uses: nick-fields/retry@v2 | |
| with: | |
| timeout_seconds: 1200 # or use timeout_minutes | |
| max_attempts: 2 | |
| retry_wait_seconds: 60 | |
| retry_on: error | |
| command: | | |
| make install-zmq DEP_BUILD_DIR=/dep/build | |
| - name: Make install-iconv | |
| uses: nick-fields/retry@v2 | |
| with: | |
| timeout_seconds: 1200 # or use timeout_minutes | |
| max_attempts: 2 | |
| retry_wait_seconds: 60 | |
| retry_on: error | |
| command: | | |
| make install-iconv DEP_BUILD_DIR=/dep/build | |
| - name: Make install-idn2 | |
| uses: nick-fields/retry@v2 | |
| with: | |
| timeout_seconds: 1200 # or use timeout_minutes | |
| max_attempts: 2 | |
| retry_wait_seconds: 60 | |
| retry_on: error | |
| command: | | |
| make install-idn2 DEP_BUILD_DIR=/dep/build | |
| - name: Make install-blosc | |
| uses: nick-fields/retry@v2 | |
| with: | |
| timeout_seconds: 1200 # or use timeout_minutes | |
| max_attempts: 2 | |
| retry_wait_seconds: 60 | |
| retry_on: error | |
| command: | | |
| make install-blosc DEP_BUILD_DIR=/dep/build | |
| - name: Make install-hdf5 | |
| uses: nick-fields/retry@v2 | |
| with: | |
| timeout_seconds: 1200 # or use timeout_minutes | |
| max_attempts: 2 | |
| retry_wait_seconds: 60 | |
| retry_on: error | |
| command: | | |
| make install-hdf5 DEP_BUILD_DIR=/dep/build | |
| - name: Make install-pytables | |
| uses: nick-fields/retry@v2 | |
| with: | |
| timeout_seconds: 1200 # or use timeout_minutes | |
| max_attempts: 2 | |
| retry_wait_seconds: 60 | |
| retry_on: error | |
| command: | | |
| HDF5_DIR=$(pwd)/dep/hdf5-install/ make install-pytables | |
| arkouda_makefile: | |
| runs-on: ubuntu-latest | |
| strategy: | |
| matrix: | |
| chpl-version: ['2.6.0'] | |
| container: | |
| image: ghcr.io/bears-r-us/ubuntu-with-arkouda-deps-chpl-${{ matrix.chpl-version }}:latest | |
| credentials: | |
| username: ${{ github.actor }} | |
| password: ${{ secrets.github_token }} | |
| steps: | |
| - name: Checkout Repository | |
| uses: actions/checkout@v4 | |
| - name: Set Python version to 3.13 | |
| run: | | |
| update-alternatives --install /usr/bin/python3 python3 /usr/bin/python3.13 1 | |
| python3 -m ensurepip --default-pip | |
| - name: Check python version | |
| run: | | |
| python3 --version | |
| - name: Make install-arrow-quick | |
| uses: nick-fields/retry@v2 | |
| with: | |
| timeout_seconds: 1200 # or use timeout_minutes | |
| max_attempts: 2 | |
| retry_wait_seconds: 60 | |
| retry_on: error | |
| command: | | |
| make install-arrow-quick | |
| - name: Make install-arrow | |
| uses: nick-fields/retry@v2 | |
| with: | |
| timeout_seconds: 1200 # or use timeout_minutes | |
| max_attempts: 2 | |
| retry_wait_seconds: 60 | |
| retry_on: error | |
| command: | | |
| apt-get remove -y apache-arrow-apt-source | |
| make install-arrow DEP_BUILD_DIR=$DEP_BUILD_DIR | |
| - name: Make install-zmq | |
| uses: nick-fields/retry@v2 | |
| with: | |
| timeout_seconds: 1200 # or use timeout_minutes | |
| max_attempts: 2 | |
| retry_wait_seconds: 60 | |
| retry_on: error | |
| command: | | |
| make install-zmq DEP_BUILD_DIR=$DEP_BUILD_DIR | |
| - name: Make install-iconv | |
| uses: nick-fields/retry@v2 | |
| with: | |
| timeout_seconds: 1200 # or use timeout_minutes | |
| max_attempts: 2 | |
| retry_wait_seconds: 60 | |
| retry_on: error | |
| command: | | |
| make install-iconv DEP_BUILD_DIR=$DEP_BUILD_DIR | |
| - name: Make install-idn2 | |
| uses: nick-fields/retry@v2 | |
| with: | |
| timeout_seconds: 1200 # or use timeout_minutes | |
| max_attempts: 2 | |
| retry_wait_seconds: 60 | |
| retry_on: error | |
| command: | | |
| make install-idn2 DEP_BUILD_DIR=$DEP_BUILD_DIR | |
| - name: Make install-blosc | |
| uses: nick-fields/retry@v2 | |
| with: | |
| timeout_seconds: 1200 # or use timeout_minutes | |
| max_attempts: 2 | |
| retry_wait_seconds: 60 | |
| retry_on: error | |
| command: | | |
| make install-blosc DEP_BUILD_DIR=$DEP_BUILD_DIR | |
| - name: Make install-hdf5 | |
| uses: nick-fields/retry@v2 | |
| with: | |
| timeout_seconds: 1200 # or use timeout_minutes | |
| max_attempts: 2 | |
| retry_wait_seconds: 60 | |
| retry_on: error | |
| command: | | |
| make install-hdf5 DEP_BUILD_DIR=$DEP_BUILD_DIR | |
| # - name: Make install-pytables | |
| # uses: nick-fields/retry@v2 | |
| # with: | |
| # timeout_seconds: 1200 # or use timeout_minutes | |
| # max_attempts: 2 | |
| # retry_wait_seconds: 60 | |
| # retry_on: error | |
| # command: | | |
| # HDF5_DIR=$(pwd)/dep/hdf5-install/ make install-pytables DEP_BUILD_DIR=$DEP_BUILD_DIR | |
| arkouda_chpl_portability: | |
| runs-on: ubuntu-latest | |
| strategy: | |
| matrix: | |
| chpl-version: ['2.4.0','2.5.0','2.6.0'] | |
| container: | |
| image: ghcr.io/bears-r-us/ubuntu-with-arkouda-deps-chpl-${{ matrix.chpl-version }}:latest | |
| credentials: | |
| username: ${{ github.actor }} | |
| password: ${{ secrets.github_token }} | |
| steps: | |
| - name: Checkout Repository | |
| uses: actions/checkout@v4 | |
| - name: Set Python version to 3.13 | |
| run: | | |
| update-alternatives --install /usr/bin/python3 python3 /usr/bin/python3.13 1 | |
| - name: Check Chapel version | |
| run: | | |
| chpl --version | |
| - name: Install dependencies | |
| uses: nick-fields/retry@v2 | |
| with: | |
| timeout_seconds: 1200 # or use timeout_minutes | |
| max_attempts: 2 | |
| retry_wait_seconds: 60 | |
| retry_on: error | |
| command: | | |
| python3 -m ensurepip --default-pip | |
| echo "\$(eval \$(call add-path,/usr/lib/x86_64-linux-gnu/hdf5/serial/))" >> Makefile.paths | |
| echo "\$(eval \$(call add-path,$DEP_INSTALL_DIR/arrow-install/))" >> Makefile.paths | |
| echo "\$(eval \$(call add-path,$DEP_INSTALL_DIR/libiconv-install/))" >> Makefile.paths | |
| - name: Build/Install Arkouda | |
| run: | | |
| make | |
| python3 -m pip install .[dev] | |
| - name: Arkouda unit tests | |
| run: | | |
| make test-python size=100 | |
| arkouda_multi-dim: | |
| runs-on: ubuntu-latest | |
| env: | |
| ARKOUDA_CONFIG_FILE: .configs/MultiDimTestServerModules.cfg | |
| strategy: | |
| matrix: | |
| chpl-version: ['2.4.0','2.5.0','2.6.0'] | |
| max-parallel: 3 | |
| container: | |
| image: ghcr.io/bears-r-us/ubuntu-with-arkouda-deps-chpl-${{ matrix.chpl-version }}:latest | |
| credentials: | |
| username: ${{ github.actor }} | |
| password: ${{ secrets.github_token }} | |
| steps: | |
| - name: Show memory available | |
| run: | | |
| echo "Memory info:" | |
| free -h | |
| echo "CPU info:" | |
| nproc | |
| - name: Checkout Repository | |
| uses: actions/checkout@v4 | |
| - name: Set Python version to 3.13 | |
| run: | | |
| update-alternatives --install /usr/bin/python3 python3 /usr/bin/python3.13 1 | |
| - name: Check Chapel version | |
| run: | | |
| chpl --version | |
| - name: Install dependencies | |
| uses: nick-fields/retry@v2 | |
| with: | |
| timeout_seconds: 1200 # or use timeout_minutes | |
| max_attempts: 2 | |
| retry_wait_seconds: 60 | |
| retry_on: error | |
| command: | | |
| apt-get update && apt-get install -y time | |
| python3 -m ensurepip --default-pip | |
| echo "\$(eval \$(call add-path,/usr/lib/x86_64-linux-gnu/hdf5/serial/))" >> Makefile.paths | |
| echo "\$(eval \$(call add-path,$DEP_INSTALL_DIR/arrow-install/))" >> Makefile.paths | |
| echo "\$(eval \$(call add-path,$DEP_INSTALL_DIR/libiconv-install/))" >> Makefile.paths | |
| - name: Build Arkouda | |
| run: | | |
| /usr/bin/time -v make ARRAY_ND_MAX=3 | |
| - name: Install Arkouda | |
| run: | | |
| python3 -m pip install .[dev] | |
| - name: Arkouda unit tests | |
| run: | | |
| make test-python size=100 | |
| arkouda_tests_linux: | |
| runs-on: ubuntu-latest | |
| env: | |
| CHPL_RT_NUM_THREADS_PER_LOCALE: 2 | |
| strategy: | |
| matrix: | |
| chpl-version: ['2.6.0'] | |
| container: | |
| image: ghcr.io/bears-r-us/ubuntu-with-arkouda-deps-chpl-${{ matrix.chpl-version }}:latest | |
| credentials: | |
| username: ${{ github.actor }} | |
| password: ${{ secrets.github_token }} | |
| steps: | |
| - name: Checkout Repository | |
| uses: actions/checkout@v4 | |
| - name: Set Python version to 3.13 | |
| run: | | |
| update-alternatives --install /usr/bin/python3 python3 /usr/bin/python3.13 1 | |
| - name: Check Chapel version | |
| run: | | |
| chpl --version | |
| - name: Install dependencies | |
| uses: nick-fields/retry@v2 | |
| with: | |
| timeout_seconds: 1200 # or use timeout_minutes | |
| max_attempts: 2 | |
| retry_wait_seconds: 60 | |
| retry_on: error | |
| command: | | |
| python3 -m ensurepip --default-pip | |
| python3 -m pip install pytest-benchmark==3.2.2 py | |
| echo "\$(eval \$(call add-path,/usr/lib/x86_64-linux-gnu/hdf5/serial/))" >> Makefile.paths | |
| echo "\$(eval \$(call add-path,$DEP_INSTALL_DIR/arrow-install/))" >> Makefile.paths | |
| echo "\$(eval \$(call add-path,$DEP_INSTALL_DIR/libiconv-install/))" >> Makefile.paths | |
| - name: Build/Install Arkouda | |
| run: | | |
| make | |
| python3 -m pip install .[dev] | |
| - name: Arkouda make check | |
| run: | | |
| make check | |
| - name: Arkouda unit tests | |
| env: | |
| ARKOUDA_PYTEST_OPTIONS: "--durations=0 --durations-min=5.0" | |
| run: | | |
| make test-python size=100 | |
| - name: Arkouda benchmark --correctness-only | |
| run: | | |
| ARKOUDA_HOME=$(pwd) ./benchmarks/run_benchmarks.py --correctness-only | |
| ARKOUDA_HOME=$(pwd) ./benchmarks/run_benchmarks.py --size=100 --gen-graphs | |
| arkouda_benchmark_linux: | |
| runs-on: ubuntu-latest | |
| strategy: | |
| matrix: | |
| chpl-version: ['2.6.0'] | |
| container: | |
| image: ghcr.io/bears-r-us/ubuntu-with-arkouda-deps-chpl-${{ matrix.chpl-version }}:latest | |
| credentials: | |
| username: ${{ github.actor }} | |
| password: ${{ secrets.github_token }} | |
| steps: | |
| - name: Checkout Repository | |
| uses: actions/checkout@v4 | |
| - name: Set Python version to 3.13 | |
| run: | | |
| update-alternatives --install /usr/bin/python3 python3 /usr/bin/python3.13 1 | |
| - name: Check Chapel version | |
| run: | | |
| chpl --version | |
| - name: Install dependencies | |
| uses: nick-fields/retry@v2 | |
| with: | |
| timeout_seconds: 1200 # or use timeout_minutes | |
| max_attempts: 2 | |
| retry_wait_seconds: 60 | |
| retry_on: error | |
| command: | | |
| python3 -m ensurepip --default-pip | |
| python3 -m pip install pytest-benchmark==3.2.2 py | |
| echo "\$(eval \$(call add-path,/usr/lib/x86_64-linux-gnu/hdf5/serial/))" >> Makefile.paths | |
| echo "\$(eval \$(call add-path,$DEP_INSTALL_DIR/arrow-install/))" >> Makefile.paths | |
| echo "\$(eval \$(call add-path,$DEP_INSTALL_DIR/libiconv-install/))" >> Makefile.paths | |
| - name: Build/Install Arkouda | |
| run: | | |
| make | |
| python3 -m pip install .[dev] | |
| - name: Arkouda benchmark | |
| run: | | |
| make benchmark size_bm=10 | |
| - name: Arkouda benchmark -- Numpy | |
| run: | | |
| python3 -m pytest -c benchmark.ini --size=10 --numpy |