Skip to content

Merge pull request #407 from ssciwr/pre-commit-ci-update-config #845

Merge pull request #407 from ssciwr/pre-commit-ci-update-config

Merge pull request #407 from ssciwr/pre-commit-ci-update-config #845

Workflow file for this run

name: CI
on:
# We run CI on pushes to the main branch
push:
branches:
- main
# and on all pull requests to the main branch
pull_request:
branches:
- main
# as well as upon manual triggers through the 'Actions' tab of the Github UI
workflow_dispatch:
jobs:
linux-test:
name: Testing on Linux
runs-on: ubuntu-20.04
defaults:
run:
shell: bash -l {0}
steps:
- name: Checkout repository
uses: actions/checkout@v2
- name: Create afwizard conda environment
uses: conda-incubator/setup-miniconda@v2
with:
auto-update-conda: true
auto-activate-base: false
activate-environment: afwizard-dev
environment-file: environment.yml
- name: SSH setup
uses: webfactory/ssh-agent@v0.5.3
with:
ssh-private-key: |
${{ secrets.SSH_KEY }}
- name: Add known host
run: |
echo "ssc-jupyter.iwr.uni-heidelberg.de ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIJlEBwr7Qv0expAPxukZOmIUcVI1erVPya+GkzCd+iQK" >> ~/.ssh/known_hosts
- name: Install Wine to test lastools backend
run: |
sudo apt update
sudo apt install unzip wget wine
- name: Install development dependencies
run: |
python -m pip install -r requirements-dev.txt
- name: Install OPALS
working-directory: ${{ runner.workspace }}
run: |
scp -P 22222 ssc-github@ssc-jupyter.iwr.uni-heidelberg.de:/home/ssc-github/opals_2.5.0_linux64.tar.gz ${{ runner.workspace }}
tar xzvf ${{ runner.workspace }}/opals_2.5.0_linux64.tar.gz
echo "OPALS_DIR=${{ runner.workspace }}/opals_2.5.0" >> $GITHUB_ENV
- name: Install LAStools
working-directory: ${{ runner.workspace }}
run: |
wget https://github.com/LAStools/LAStools.github.io/raw/master/download/LAStools_210628.zip
unzip LAStools_210628.zip
rm LAStools_210628.zip
echo "LASTOOLS_DIR=${{ runner.workspace }}/LAStools" >> $GITHUB_ENV
- name: Install Python package
run: |
python -m pip install --no-deps .
- name: Run Python tests including notebooks
run: |
python -m pytest --nbval-lax
- name: Run coverage tests
run: |
python -m pytest --cov=./afwizard --cov-report=xml
- name: "Upload coverage to Codecov"
uses: codecov/codecov-action@v3
with:
fail_ci_if_error: false
files: ./coverage.xml
token: ${{ secrets.CODECOV_TOKEN }}
windows-test:
name: Testing on Windows
runs-on: windows-2019
if: github.event_name == 'workflow_dispatch'
defaults:
run:
shell: bash -l {0}
steps:
- name: Checkout repository
uses: actions/checkout@v2
- name: Create afwizard conda environment
uses: conda-incubator/setup-miniconda@v2
with:
auto-update-conda: true
auto-activate-base: false
activate-environment: afwizard-dev
environment-file: environment.yml
- name: SSH setup
uses: webfactory/ssh-agent@v0.5.3
with:
ssh-private-key: |
${{ secrets.SSH_KEY }}
- name: Add known host
run: |
echo "ssc-jupyter.iwr.uni-heidelberg.de ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIJlEBwr7Qv0expAPxukZOmIUcVI1erVPya+GkzCd+iQK" >> ~/.ssh/known_hosts
- name: Install development dependencies
run: |
python -m pip install -r requirements-dev.txt
- name: Download OPALS (Windows)
working-directory: ${{ runner.workspace }}
shell: powershell
run: |
c://progra~1//git//usr//bin//scp.exe -P 22222 ssc-github@ssc-jupyter.iwr.uni-heidelberg.de:/home/ssc-github/opals_2.5.0_win64-setup.exe ${{ runner.workspace }}
- name: Install OPALS (Windows)
working-directory: ${{ runner.workspace }}
shell: powershell
run: |
Start-Process -FilePath ${{ runner.workspace }}\opals_2.5.0_win64-setup.exe -ArgumentList /S,/TYPE=typical,/DATA=,/D=${{ runner.workspace }}\opalsInstallation -Wait
echo "OPALS_DIR=${{ runner.workspace }}\opalsInstallation" >> $env:GITHUB_ENV
- name: Install LAStools
working-directory: ${{ runner.workspace }}
shell: powershell
run: |
Invoke-WebRequest https://github.com/LAStools/LAStools.github.io/raw/master/download/LAStools_210628.zip -OutFile ${{ runner.workspace }}\LAStools.zip
Expand-Archive -LiteralPath ${{ runner.workspace }}\LAStools.zip -DestinationPath ${{ runner.workspace }}
echo "LASTOOLS_DIR=${{ runner.workspace }}/LAStools" >> $env:GITHUB_ENV
- name: Install the afwizard Python package
run: |
python -m pip install --no-deps .
- name: Run Python tests
run: |
python -m pytest --nbval-lax