Skip to content

Merge pull request #70 from 3DBAG/fix/#68 #32

Merge pull request #70 from 3DBAG/fix/#68

Merge pull request #70 from 3DBAG/fix/#68 #32

name: Install, Lint, Format, Test
on:
push:
branches: [ "develop" ]
pull_request:
branches: [ "develop" ]
jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-python@v5
with:
python-version: '3.11'
- name: Install dependencies
run: pip install ruff
- name: Create and populate .env file
env:
BAG3D_TEST_DATA: ${{ github.workspace }}/tests/test_data
TOOLS_DIR: ${{ github.workspace }}/.build-3dbag-pipeline
run: |
touch .env
echo BAG3D_VENVS=${PWD}/venvs >> .env
echo BAG3D_TEST_DATA=${PWD}/tests/test_data >> .env
echo BAG3D_FLOORS_ESTIMATION_MODEL=${BAG3D_TEST_DATA}/model/pipeline_model1_gbr_untuned.joblib >> .env
echo BAG3D_EXPORT_DIR=${BAG3D_TEST_DATA}/reconstruction_data/input/export/3DBAG/export >> .env
echo DAGSTER_HOME=${PWD}/tests/dagster_home >> .env
echo TOOLS_DIR=${HOME}/.build-3dbag-pipeline >> .env
echo BAG3D_PG_DOCKERFILE=${PWD}/docker/postgres/Dockerfile >> .env
echo BAG3D_PG_DOCKERIMAGE=bag3d_image_postgis >> .env
echo BAG3D_PG_USER=baseregisters_test_user >> .env
echo BAG3D_PG_PASSWORD=baseregisters_test_pswd >> .env
echo BAG3D_PG_DATABASE=baseregisters_test >> .env
echo BAG3D_PG_HOST=localhost >> .env
echo BAG3D_PG_PORT=5560 >> .env
echo BAG3D_PG_SSLMODE=allow >> .env
echo TYLER_RESOURCES_DIR=${TOOLS_DIR}/share/tyler/resources >> .env
echo TYLER_METADATA_JSON=${TOOLS_DIR}/share/tyler/resources/geof/metadata.json >> .env
echo EXE_PATH_TYLER=${TOOLS_DIR}/bin/tyler >> .env
echo EXE_PATH_TYLER_DB=${TOOLS_DIR}/bin/tyler-db >> .env
echo EXE_PATH_ROOFER_CROP=${TOOLS_DIR}/bin/crop >> .env
echo EXE_PATH_ROOFER_RECONSTRUCT=${TOOLS_DIR}/bin/reconstruct >> .env
echo FLOWCHART_PATH_RECONSTRUCT=${TOOLS_DIR}/share/geoflow-roofer/flowcharts/reconstruct_bag.json >> .env
echo EXE_PATH_OGR2OGR=${TOOLS_DIR}/bin/ogr2ogr >> .env
echo EXE_PATH_OGRINFO=${TOOLS_DIR}/bin/ogrinfo >> .env
echo EXE_PATH_SOZIP=${TOOLS_DIR}/bin/sozip >> .env
echo EXE_PATH_PDAL=${TOOLS_DIR}/bin/pdal >> .env
echo EXE_PATH_LAS2LAS=${TOOLS_DIR}/bin/las2las64 >> .env
echo EXE_PATH_LASINDEX=${TOOLS_DIR}/bin/lasindex64 >> .env
cat .env
- name: Lint
run: ruff check
- name: Format
run: ruff format --check
- name: Create venvs
run: make venvs
- name: Download data and build volume
run: |
make download
make docker_volume_create
- name: Start docker containers
run: make docker_up_postgres
- name: Run unit tests
run: make test