aboutsummaryrefslogtreecommitdiff
path: root/.gitlab-ci.yml
blob: a37fab87624b27d257dd9b6beb93d5529bf1b661 (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
variables:
  GIT_SUBMODULE_STRATEGY: recursive
  PCB_TOOLS_EXT_DEPS: "python3-cffi python3-cairocffi python3-pycparser"
  GERBOLYZE_DEPS: "python3-numpy python3-slugify python3-lxml python3-click"

stages:
  - build

debian_10:
  stage: build
  image: debian:10
  script:
    - "apt-get update"
    - "apt-get upgrade --no-install-recommends --assume-yes"
    - "apt-get install --no-install-recommends --assume-yes libopencv-dev libpugixml-dev libpangocairo-1.0-0 libpango1.0-dev libcairo2-dev clang make python3 git python3-wheel curl python3-pip python3-setuptools $GERBOLYZE_DEPS $PCB_TOOLSEXT_DEPS"
    - "curl --proto '=https' --tlsv1.2 -sSf -o rustup.sh https://sh.rustup.rs > /tmp/rustup.sh"
    - "chmod +x /tmp/rustup.sh"
    - "/tmp/rustup.sh -y --default-toolchain stable"
    - "source $HOME/.cargo/env"
    - "cargo install usvg"
    - "pip3 install --user git+https://git.jaseg.de/pcb-tools-extension.git"
    - "python3 setup.py install --user"
    - "export PATH=$HOME/.local/bin:$PATH"
    - "gerbolyze --help"

ubuntu_2004:
  stage: build
  image: ubuntu:20.04
  script:
    - "sudo apt install libopencv-dev libpugixml-dev libpangocairo-1.0-0 libpango1.0-dev libcairo2-dev clang make python3 git python3-wheel curl python3-pip python3-venv cargo"
    - "cargo install usvg"
    - "pip3 install --user git+https://git.jaseg.de/pcb-tools-extension.git"
    - "pip3 install --user gerbolyze --no-binary gerbolyze"
    - "gerbolyze --help"

fedora_33:
  stage: build
  image: fedora:33
  script:
    - "dnf --nodocs --assumeyes --refresh install python3 python3-pip git make clang opencv-devel pugixml-devel pango-devel cairo-devel rust cargo GERBOLYZE_DEPS $PCB_TOOLSEXT_DEPS"
    - "cargo install usvg"
    - "export PATH=$HOME/.cargo/bin:$PATH"
    - "pip3 install --user git+https://git.jaseg.de/pcb-tools-extension.git"
    - "python3 setup.py install --user"
    - "export PATH=$HOME/.local/bin:$PATH"
    - "gerbolyze --help"

archlinux:
  stage: build
  image: archlinux:latest
  script:
    - "pacman -Syyu --needed --noconfirm --noprogressbar base-devel pugixml opencv pango cairo git python python-pip make clang rustup cargo pkgconf ${GERBOLYZE_DEPS/python3-/python-} ${PCB_TOOLSEXT_DEPS/python3-/python-}"
    - "rustup install stable"
    - "rustup default stable"
    - "cargo install usvg"
    - "pip install --user git+https://git.jaseg.de/pcb-tools-extension.git"
    - "python setup.py install --user"
    - "export PATH=$HOME/.local/bin:$PATH"
    - "gerbolyze --help"