summaryrefslogtreecommitdiff
path: root/.gitlab-ci.yml
blob: 82ae0b519048650edbaec7acc37dde42d9311379 (plain)
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
64
65
66
67
68
before_script:
  - apt-get update
  - apt-get install -q -y locales locales-all
  - echo "fr_FR.UTF-8 UTF-8" >> /etc/locale.gen
  - dpkg-reconfigure --frontend=noninteractive locales && update-locale LANG=fr_FR.UTF-8
  - apt-get install -q -y git sed python3-pip libpq-dev python3-dev libjpeg-dev zlib1g-dev libxml2-dev libxslt1-dev libgeos-dev python3-cairocffi tidy libtidy-dev binutils libproj-dev gdal-bin libpangocairo-1.0-0 pandoc graphviz python3-argon2 file gettext postgresql postgresql-13-postgis-3
  - pip3 install -r requirements.txt
  - cp Makefile.example Makefile
  - su -c "createuser -w -d ishtar_test" postgres
  - su -c "createdb -E UTF8 -O ishtar_test ishtar_test" postgres
  - su -c "createdb -E UTF8 -O ishtar_test test_ishtar_test" postgres
  - su -c "psql -c \"ALTER ROLE ishtar_test WITH PASSWORD 'ishtar_test';\"" postgres
  - su -c "psql -d ishtar_test -c 'CREATE EXTENSION postgis;'" postgres
  - su -c "psql -d test_ishtar_test -c 'CREATE EXTENSION postgis;'" postgres

after_script:
  - su -c "dropdb ishtar_test" postgres
  - su -c "dropdb test_ishtar_test" postgres
  - su -c "dropuser ishtar_test" postgres

build-v4:
  stage: "build"
  script:
    - sed -i -e 's/"registration"/"django_registration"/' example_project/settings.py
    - cp example_project/local_settings.py.gitlab-ci example_project/local_settings.py
    - mkdir -p /var/log/django/
    - make build_gitlab
  tags:
    - bullseye-shell
  only:
    - main
    - develop

test-v4:
  stage: "test"
  script:
    - sed -i -e 's/"registration"/"django_registration"/' example_project/settings.py
    - cp example_project/local_settings.py.gitlab-ci example_project/local_settings.py
    - mkdir -p /var/log/django/
    - make soft_test_gitlab
  tags:
    - bullseye-shell
  only:
    - main
    - develop

debian:
  stage: "test"
  script:
    - apt-get install -q -y devscripts build-essential lintian wget dh-python python3-all sudo findutils
    - apt-get install -q -y libpq-dev python3-dev libjpeg-dev zlib1g-dev libxml2-dev libxslt1-dev libgeos-dev libtidy-dev binutils libproj-dev python3-setuptools
    - wget -O /etc/apt/sources.list.d/iggdrasil.list http://deb.iggdrasil.net/apt/debian/dists/bullseye/iggdrasil.list
    - wget -O - http://deb.iggdrasil.net/iggdrasil.gpg.key | apt-key add -
    - apt-get update
    - python3 -c 'import re;print(" ".join([re.search(r"(^[^(]*)", p).group(1).strip() for p in open("debian/control", "r").read().split("python3:Depends}")[1].split("Description:")[0].replace(",", "").split("\n") if p and "Recommends" not in p]))' > /tmp/packages.txt
    - xargs apt-get -q -y install < /tmp/packages.txt
    - cp Makefile.example Makefile
    - make deb
    - dpkg -i ../python3-django-ishtar_*_all.deb
    - /etc/init.d/postgresql start
    - INSTANCE=my_ishtar URL=localhost MAX_UPLOAD_SIZE=100 ishtar-prepare-instance
    - sudo -u postgres createdb -E UTF8 -O ishtar-my_ishtar test_ishtar-my_ishtar
    - sudo -u postgres psql -d test_ishtar-my_ishtar -c 'CREATE EXTENSION postgis;'
    - cd /srv/ishtar/my_ishtar && python3 ./manage.py test -k archaeological_operations ishtar_common archaeological_context_records archaeological_files archaeological_finds archaeological_warehouse
  tags:
    - bullseye
  only:
    - bullseye