Closes 3878 - refactors rounding functions to new interface, pulls hash function into their own procs #8082
Workflow file for this run
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: CI | |
on: [pull_request, merge_group, workflow_dispatch] | |
env: | |
ARKOUDA_QUICK_COMPILE: true | |
jobs: | |
lint: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v3 | |
- name: Check for tabs | |
run: | | |
! git --no-pager grep -n $'\t' -- '*.chpl' | |
mypy: | |
runs-on: ubuntu-latest | |
container: | |
image: chapel/chapel:2.1.0 | |
steps: | |
- uses: actions/checkout@v3 | |
- name: Install dependencies | |
run: | | |
apt-get update && apt-get install -y python3-pip libhdf5-dev hdf5-tools libzmq3-dev libcurl4-openssl-dev | |
python3 -m pip install types-pkg_resources versioneer | |
python3 -m pip install -e .[dev] | |
- name: Arkouda mypy | |
run: | | |
python3 -m mypy arkouda | |
docs: | |
runs-on: ubuntu-latest | |
container: | |
image: chapel/chapel:2.1.0 | |
steps: | |
- uses: actions/checkout@v3 | |
- name: Install dependencies | |
run: | | |
apt-get update && apt-get install -y python3-pip libhdf5-dev hdf5-tools libzmq3-dev libcurl4-openssl-dev | |
python3 -m pip install versioneer | |
python3 -m pip install -e .[dev] | |
- name: Arkouda make doc | |
run: | | |
make doc | |
flake8: | |
runs-on: ubuntu-latest | |
container: | |
image: chapel/chapel:2.1.0 | |
steps: | |
- uses: actions/checkout@v3 | |
- name: Install Dependencies | |
run: | | |
apt-get update && apt-get install -y python3-pip libhdf5-dev hdf5-tools libzmq3-dev libcurl4-openssl-dev | |
python3 -m pip install types-pkg_resources versioneer | |
python3 -m pip install -e .[dev] | |
- name: Arkouda flake8 | |
run: | | |
flake8 arkouda | |
arkouda_python_portability: | |
runs-on: ubuntu-20.04 | |
strategy: | |
matrix: | |
python-version: ['3.9', '3.10', '3.11'] | |
container: | |
image: chapel/chapel:2.1.0 | |
steps: | |
- uses: actions/checkout@v3 | |
- name: Set up Python ${{ matrix.python-version }} | |
uses: actions/setup-python@v5 | |
with: | |
python-version: ${{matrix.python-version}} | |
- name: Install dependencies | |
run: | | |
apt-get update && apt-get install -y -V ca-certificates lsb-release wget | |
wget https://apache.jfrog.io/artifactory/arrow/$(lsb_release --id --short | tr 'A-Z' 'a-z')/apache-arrow-apt-source-latest-$(lsb_release --codename --short).deb | |
apt-get install -y -V ./apache-arrow-apt-source-latest-$(lsb_release --codename --short).deb | |
apt-get update && apt-get install -y libhdf5-dev hdf5-tools libzmq3-dev python3-pip libarrow-dev libparquet-dev libcurl4-openssl-dev libidn2-dev | |
make install-iconv | |
echo "\$(eval \$(call add-path,/usr/lib/x86_64-linux-gnu/hdf5/serial/))" >> Makefile.paths | |
- name: Check python version | |
run: | | |
python3 --version | |
- name: Install Chapel frontend bindings | |
run: | | |
(cd $CHPL_HOME/tools/chapel-py && python3 -m pip install .) | |
- name: Build/Install Arkouda | |
run: | | |
make | |
python3 -m pip install -e .[dev] | |
- name: Arkouda unit tests | |
run: | | |
make test-python size=100 | |
arkouda_chpl_portability: | |
runs-on: ubuntu-latest | |
strategy: | |
matrix: | |
chpl-version: ['2.0.0'] | |
container: | |
image: chapel/chapel:${{matrix.chpl-version}} | |
steps: | |
- uses: actions/checkout@v3 | |
- name: Install dependencies | |
run: | | |
apt-get update && apt-get install -y -V ca-certificates lsb-release wget | |
wget https://apache.jfrog.io/artifactory/arrow/$(lsb_release --id --short | tr 'A-Z' 'a-z')/apache-arrow-apt-source-latest-$(lsb_release --codename --short).deb | |
apt-get install -y -V ./apache-arrow-apt-source-latest-$(lsb_release --codename --short).deb | |
apt-get update && apt-get install -y libhdf5-dev hdf5-tools libzmq3-dev python3-pip libarrow-dev libparquet-dev libcurl4-openssl-dev libidn2-dev | |
make install-iconv | |
echo "\$(eval \$(call add-path,/usr/lib/x86_64-linux-gnu/hdf5/serial/))" >> Makefile.paths | |
- name: Check chpl version | |
run: | | |
chpl --version | |
- name: Install Chapel frontend bindings | |
run: | | |
(cd $CHPL_HOME/tools/chapel-py && python3 -m pip install .) | |
- name: Build/Install Arkouda | |
run: | | |
make | |
python3 -m pip install -e .[dev] | |
- name: Arkouda unit tests | |
run: | | |
make test-python size=100 | |
arkouda_multi-dim: | |
runs-on: ubuntu-latest | |
strategy: | |
matrix: | |
chpl-version: ['2.0.0'] | |
container: | |
image: chapel/chapel:${{matrix.chpl-version}} | |
steps: | |
- uses: actions/checkout@v3 | |
- name: Install dependencies | |
run: | | |
apt-get update && apt-get install -y -V ca-certificates lsb-release wget | |
wget https://apache.jfrog.io/artifactory/arrow/$(lsb_release --id --short | tr 'A-Z' 'a-z')/apache-arrow-apt-source-latest-$(lsb_release --codename --short).deb | |
apt-get install -y -V ./apache-arrow-apt-source-latest-$(lsb_release --codename --short).deb | |
apt-get update && apt-get install -y libhdf5-dev hdf5-tools libzmq3-dev python3-pip libarrow-dev libparquet-dev libcurl4-openssl-dev libidn2-dev | |
make install-iconv | |
echo "\$(eval \$(call add-path,/usr/lib/x86_64-linux-gnu/hdf5/serial/))" >> Makefile.paths | |
- name: Check chpl version | |
run: | | |
chpl --version | |
- name: Install Chapel frontend bindings | |
run: | | |
(cd $CHPL_HOME/tools/chapel-py && python3 -m pip install .) | |
- name: Use MultiDim Configs | |
run: | | |
cp .configs/registration-config-multi-dim.json registration-config.json | |
- name: Build/Install Arkouda | |
run: | | |
make | |
python3 -m pip install -e .[dev] | |
- name: Arkouda unit tests | |
run: | | |
make test-python size=100 | |
arkouda_tests_linux: | |
runs-on: ubuntu-latest | |
strategy: | |
matrix: | |
include: | |
- image: chapel | |
threads: 2 | |
# - image: chapel-gasnet-smp | |
# threads: 1 | |
env: | |
CHPL_RT_NUM_THREADS_PER_LOCALE: ${{matrix.threads}} | |
container: | |
image: chapel/${{matrix.image}}:2.1.0 | |
steps: | |
- uses: actions/checkout@v3 | |
- name: Install dependencies | |
run: | | |
apt-get update && apt-get install -y -V ca-certificates lsb-release wget | |
wget https://apache.jfrog.io/artifactory/arrow/$(lsb_release --id --short | tr 'A-Z' 'a-z')/apache-arrow-apt-source-latest-$(lsb_release --codename --short).deb | |
apt-get install -y -V ./apache-arrow-apt-source-latest-$(lsb_release --codename --short).deb | |
apt-get update && apt-get install -y libhdf5-dev hdf5-tools libzmq3-dev python3-pip libarrow-dev libparquet-dev libcurl4-openssl-dev libidn2-dev | |
make install-iconv | |
echo "\$(eval \$(call add-path,/usr/lib/x86_64-linux-gnu/hdf5/serial/))" >> Makefile.paths | |
- name: Install Chapel frontend bindings | |
run: | | |
(cd $CHPL_HOME/tools/chapel-py && python3 -m pip install .) | |
- name: Build/Install Arkouda | |
run: | | |
make | |
python3 -m pip install -e .[dev] | |
- name: Arkouda make check | |
run: | | |
make check | |
- name: Arkouda unit tests | |
if: matrix.image != 'chapel-gasnet-smp' | |
env: | |
ARKOUDA_PYTEST_OPTIONS: "--durations=0 --durations-min=5.0" | |
run: | | |
make test-python size=100 | |
- name: Arkouda benchmark --correctness-only | |
if: matrix.image != 'chapel-gasnet-smp' | |
run: | | |
./benchmarks/run_benchmarks.py --correctness-only | |
./benchmarks/run_benchmarks.py --size=100 --gen-graphs | |
arkouda_benchmark_linux: | |
runs-on: ubuntu-latest | |
strategy: | |
matrix: | |
include: | |
- image: chapel | |
threads: 2 | |
# - image: chapel-gasnet-smp | |
# threads: 1 | |
env: | |
CHPL_RT_NUM_THREADS_PER_LOCALE: ${{matrix.threads}} | |
container: | |
image: chapel/${{matrix.image}}:2.1.0 | |
steps: | |
- uses: actions/checkout@v3 | |
- name: Install dependencies | |
run: | | |
apt-get update && apt-get install -y -V ca-certificates lsb-release wget | |
wget https://apache.jfrog.io/artifactory/arrow/$(lsb_release --id --short | tr 'A-Z' 'a-z')/apache-arrow-apt-source-latest-$(lsb_release --codename --short).deb | |
apt-get install -y -V ./apache-arrow-apt-source-latest-$(lsb_release --codename --short).deb | |
apt-get update && apt-get install -y libhdf5-dev hdf5-tools libzmq3-dev python3-pip libarrow-dev libparquet-dev libcurl4-openssl-dev libidn2-dev | |
pip install pytest-benchmark==4.0.0 | |
make install-iconv | |
echo "\$(eval \$(call add-path,/usr/lib/x86_64-linux-gnu/hdf5/serial/))" >> Makefile.paths | |
- name: Install Chapel frontend bindings | |
run: | | |
(cd $CHPL_HOME/tools/chapel-py && python3 -m pip install .) | |
- name: Build/Install Arkouda | |
run: | | |
make | |
python3 -m pip install -e .[dev] | |
- name: Arkouda make check | |
run: | | |
make check | |
- name: Arkouda benchmark | |
run: | | |
make benchmark size_bm=10 |