Skip to content

Merge pull request #489 from 3dgeo-heidelberg/updated-dockerfiles #137

Merge pull request #489 from 3dgeo-heidelberg/updated-dockerfiles

Merge pull request #489 from 3dgeo-heidelberg/updated-dockerfiles #137

Workflow file for this run

name: Build + Test
on:
push:
branches:
- main
- dev
- alpha-dev
pull_request:
branches:
- main
- dev
- alpha-dev
workflow_dispatch:
inputs:
upload-outputs:
description: 'Whether to upload outputs'
default: false
type: boolean
jobs:
build-and-test:
runs-on: ${{ matrix.os }}
name: Testing on ${{ matrix.os }} with Python ${{ matrix.python }}
strategy:
matrix:
os:
- ubuntu-latest
- macos-latest
- windows-latest
python:
- "3.9"
- "3.13"
defaults:
run:
# Conda requires a login shell in order to work properly
shell: bash -l {0}
steps:
- uses: actions/checkout@v4
with:
fetch-depth: 0
- name: Create Helios dev environment
uses: conda-incubator/setup-miniconda@v3
with:
auto-update-conda: true
auto-activate-base: false
activate-environment: helios-dev
environment-file: environment-dev.yml
python-version: ${{ matrix.python }}
miniconda-version: "latest"
- name: Install Conda GCC
if: runner.os == 'Linux'
run: |
conda install -y -c conda-forge gcc gxx
- name: Install Helios
run: |
python -m pip install -v .
env:
SETUPTOOLS_SCM_SUBPROCESS_TIMEOUT: "120"
# Do not run on MacOS for now - we do not yet officially support it and we need to invest a bit
# more efforts into investigating broken LAZ files written by Helios on MacOS.
- name: Run tests (incl. regression tests)
if: runner.os == 'Windows'
run: |
python -m pytest --regression-tests
- name: Run tests (excl. regression tests)
if: runner.os == 'Linux'
run: |
python -m pytest
- name: Upload artifacts
uses: actions/upload-artifact@v4
if: github.event.inputs.upload-outputs == 'true'
with:
name: test-results
path: output/*
retention-days: 1