try fix tensorstore array creation #1583
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: C++ Build | |
on: | |
push: | |
branches-ignore: | |
- "master" | |
jobs: | |
docs: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
with: | |
submodules: "recursive" | |
- uses: ammaraskar/sphinx-action@master | |
with: | |
docs-folder: "docs/" | |
- uses: ammaraskar/sphinx-action@master | |
with: | |
docs-folder: "docs/" | |
pre-build-command: "apt-get --allow-releaseinfo-change update -y && apt-get install -y latexmk texlive-latex-recommended texlive-latex-extra texlive-fonts-recommended" | |
build-command: "make latexpdf" | |
- uses: actions/upload-artifact@v4 | |
with: | |
name: DocumentationHTML | |
path: docs/_build/html/ | |
- uses: actions/upload-artifact@v4 | |
with: | |
name: DocumentationPDF | |
path: docs/_build/latex/agave.pdf | |
docs_pythonclient: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
with: | |
submodules: "recursive" | |
- uses: ammaraskar/sphinx-action@master | |
with: | |
pre-build-command: "pip install -e agave_pyclient/" | |
docs-folder: "agave_pyclient/docs/" | |
- uses: ammaraskar/sphinx-action@master | |
with: | |
docs-folder: "agave_pyclient/docs/" | |
pre-build-command: "pip install -e agave_pyclient/ && apt-get --allow-releaseinfo-change update -y && apt-get install -y latexmk texlive-latex-recommended texlive-latex-extra texlive-fonts-recommended" | |
build-command: "make latexpdf" | |
- uses: actions/upload-artifact@v4 | |
with: | |
name: DocumentationPythonClientHTML | |
path: agave_pyclient/docs/_build/html/ | |
- uses: actions/upload-artifact@v4 | |
with: | |
name: DocumentationPythonClientPDF | |
path: agave_pyclient/docs/_build/latex/agave_pyclient.pdf | |
cmake-build: | |
strategy: | |
fail-fast: false | |
matrix: | |
include: | |
- os: ubuntu-latest | |
artifact: agave-linux | |
- os: windows-2019 | |
# Revert to windows-latest after: https://github.com/actions/runner-images/issues/7662 | |
artifact: agave-win | |
# note macos-14 is arm64 and macos-13 is x86_64 | |
- os: macos-14 | |
artifact: agave-macos-arm64 | |
- os: macos-13 | |
artifact: agave-macos-x86_64 | |
runs-on: ${{ matrix.os }} | |
steps: | |
- uses: actions/checkout@v4 | |
with: | |
submodules: "recursive" | |
- name: Install Qt | |
uses: jurplel/install-qt-action@v3 | |
with: | |
version: 6.5.3 | |
modules: qtwebsockets qtimageformats | |
- name: macos install deps | |
if: contains(matrix.os, 'macos') | |
env: | |
CC: clang | |
CXX: clang++ | |
run: | | |
export MACOSX_DEPLOYMENT_TARGET=10.15 | |
brew install spdlog glm libtiff nasm zstd ninja | |
- name: macos build and test | |
if: contains(matrix.os, 'macos') | |
env: | |
CC: clang | |
CXX: clang++ | |
run: | | |
export MACOSX_DEPLOYMENT_TARGET=10.15 | |
mkdir ./build | |
cd build | |
cmake .. -G Ninja -DCMAKE_BUILD_TYPE=Release | |
cmake --build . --target agave_test --config Release | |
cmake --build . --config Release | |
cpack -D CPACK_PACKAGE_FILE_NAME=${{ matrix.artifact }} | |
shell: bash | |
- name: Upload mac artifact | |
if: contains(matrix.os, 'macos') | |
uses: actions/upload-artifact@v4 | |
with: | |
name: ${{ matrix.artifact }} | |
path: ./build/${{ matrix.artifact }}.dmg | |
- name: linux install deps | |
if: matrix.os == 'ubuntu-latest' | |
env: | |
CC: gcc | |
CXX: g++ | |
run: | | |
sudo apt-get install ninja-build libspdlog-dev libglm-dev libgl1-mesa-dev libegl1-mesa-dev libtiff-dev libzstd-dev nasm | |
- name: linux build and test | |
if: matrix.os == 'ubuntu-latest' | |
env: | |
CC: gcc-10 | |
CXX: g++-10 | |
run: | | |
mkdir ./build | |
cd build | |
cmake .. -G Ninja -DCMAKE_BUILD_TYPE=Release | |
cmake --build . --target agave_test --config Release | |
cmake --build . --target install --config Release | |
shell: bash | |
- name: windows install ninja | |
if: matrix.os == 'windows-2019' | |
run: | | |
choco install ninja | |
- name: Configure MSVC console (Windows) | |
if: matrix.os == 'windows-2019' | |
uses: ilammy/msvc-dev-cmd@v1 | |
- name: windows install deps | |
if: matrix.os == 'windows-2019' | |
env: | |
vc_arch: "x64" | |
CXX: cl.exe | |
CC: cl.exe | |
run: | | |
vcpkg install --triplet x64-windows tiff glm zlib libjpeg-turbo liblzma spdlog zstd eigen3 | |
- name: windows get nasm | |
if: matrix.os == 'windows-2019' | |
uses: ilammy/setup-nasm@v1 | |
- name: Remove bad Strawberry Perl patch binary in search path | |
# https://github.com/actions/runner-images/issues/5459#issuecomment-1532856844 | |
if: matrix.os == 'windows-2019' | |
run: del C:\Strawberry\c\bin\patch.EXE | |
- name: windows build and test | |
if: matrix.os == 'windows-2019' | |
env: | |
vc_arch: "x64" | |
CXX: cl.exe | |
CC: cl.exe | |
run: | | |
mkdir build | |
cd build | |
cmake -G "Ninja" -DCMAKE_TOOLCHAIN_FILE="%VCPKG_INSTALLATION_ROOT%\scripts\buildsystems\vcpkg.cmake" -DVCPKG_TARGET_TRIPLET=x64-windows -DCMAKE_BUILD_TYPE=Release .. | |
cmake --build . --parallel --target agave_test --config Release | |
cmake --build . --parallel --config Release | |
cpack -D CPACK_PACKAGE_FILE_NAME=${{ matrix.artifact }} | |
shell: cmd | |
- name: Upload windows artifact | |
if: matrix.os == 'windows-2019' | |
uses: actions/upload-artifact@v4 | |
with: | |
name: ${{ matrix.artifact }} | |
path: ./build/${{ matrix.artifact }}.exe | |
lint-and-test-webclient: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
with: | |
submodules: "recursive" | |
- uses: actions/setup-node@v4 | |
with: | |
node-version: 20 | |
registry-url: https://registry.npmjs.org/ | |
- run: | | |
cd webclient | |
npm ci | |
npm run lint | |
npm run typeCheck | |
npm run test --if-present | |
lint-and-test-pyclient: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Set up Python | |
uses: actions/setup-python@v5 | |
with: | |
python-version: "3.10" | |
- name: Install Dependencies | |
run: | | |
python -m pip install --upgrade pip | |
cd agave_pyclient | |
pip install .[test] | |
- name: Lint with flake8 | |
run: | | |
cd agave_pyclient | |
flake8 agave_pyclient --count --verbose --show-source --statistics | |
black --check --exclude vendor agave_pyclient | |
pytest agave_pyclient/tests/ |