-
Notifications
You must be signed in to change notification settings - Fork 0
/
.gitlab-ci.yml
63 lines (56 loc) · 2.21 KB
/
.gitlab-ci.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
# This file is a template, and might need editing before it works on your project.
# To contribute improvements to CI/CD templates, please follow the Development guide at:
# https://docs.gitlab.com/ee/development/cicd/templates.html
# This specific template is located at:
# https://gitlab.com/gitlab-org/gitlab/-/blob/master/lib/gitlab/ci/templates/Python.gitlab-ci.yml
# Official language image. Look for the different tagged releases at:
# https://hub.docker.com/r/library/python/tags/
#image: python:latest
image: python:3.10 # temporarily reverted to 3.10 as 3.11 gave a weird install error on gdal
# Change pip's cache directory to be inside the project directory since we can
# only cache local items.
variables:
PIP_CACHE_DIR: "$CI_PROJECT_DIR/.cache/pip"
# Pip's cache doesn't store the python packages
# https://pip.pypa.io/en/stable/topics/caching/
#
# If you want to also cache the installed packages, you have to install
# them in a virtualenv and cache it as well.
cache:
paths:
- .cache/pip
- venv/
before_script:
- apt update && apt --yes install libgdal-dev # OS library requirement
- python --version # For debugging
- pip install virtualenv
- virtualenv venv
- source venv/bin/activate
# Ideally gdal would be used, but can give issues with installation,
# particularly in virtual environments. An alternative is to use pygdal.
# Note that the gdal package needs to be identical to the OS
# version. It is not backwards-compatible, so installing the latest version
# won't work.
#
# Setuptools currently needs to be downgraded to fix an installation bug
- pip install setuptools==58.0.0
#
# numpy also needs to explicitly be installed to allow arrays in gdal
- pip install numpy
- pip install gdal==`gdal-config --version`
# A pygdal alternative install line is here.
#- pip install "pygdal>=`gdal-config --version`.0,<=`gdal-config --version`.999"
- pip install -r requirements.txt
test:
script:
- python -m pytest tests/
# Commented as it wasn't sure what this was testing.
#run:
# script:
# - python setup.py bdist_wheel
# # an alternative approach is to install and run:
# - pip install dist/*
# # run the command here
# artifacts:
# paths:
# - dist/*.whl