Prepare for Linux daily build packages (using Gitlab.com CI) (#5542)
[oweals/minetest.git] / .gitlab-ci.yml
1 ---
2 # Github repository is cloned every day on Gitlab.com
3 # https://gitlab.com/minetest/minetest
4 # Pipelines URL: https://gitlab.com/minetest/minetest/pipelines
5
6 stages:
7   - build
8
9 .build_template: &build_definition
10   stage: build
11   script:
12     - mkdir cmakebuild
13     - mkdir -p artifact/minetest/usr/
14     - cd cmakebuild
15     - cmake -DCMAKE_INSTALL_PREFIX=../artifact/minetest/usr/ -DCMAKE_BUILD_TYPE=Release -DRUN_IN_PLACE=TRUE -DENABLE_GETTEXT=TRUE -DBUILD_SERVER=TRUE ..
16     - make -j2
17     - make install
18   artifacts:
19     when: on_success
20     expire_in: 14 day
21     paths:
22       - artifact/*
23
24 ##
25 ## Debian
26 ##
27 build:debian-8:
28   <<: *build_definition
29   image: debian:8
30   before_script:
31     - apt-get update -y
32     - apt-get -y install build-essential libirrlicht-dev cmake libbz2-dev libpng-dev libjpeg-dev libxxf86vm-dev libgl1-mesa-dev libsqlite3-dev libogg-dev libvorbis-dev libopenal-dev libcurl4-gnutls-dev libfreetype6-dev zlib1g-dev libgmp-dev libjsoncpp-dev
33
34 build:debian-9:
35  <<: *build_definition
36  image: debian:9
37  before_script:
38    - apt-get update -y
39    - apt-get -y install build-essential libirrlicht-dev cmake libbz2-dev libpng-dev libjpeg-dev libxxf86vm-dev libgl1-mesa-dev libsqlite3-dev libogg-dev libvorbis-dev libopenal-dev libcurl4-gnutls-dev libfreetype6-dev zlib1g-dev libgmp-dev libjsoncpp-dev
40
41 ##
42 ## Ubuntu
43 ##
44 build:ubuntu-14.04:
45  <<: *build_definition
46  image: ubuntu:trusty
47  before_script:
48    - apt-get update -y
49    - apt-get -y install build-essential libirrlicht-dev cmake libbz2-dev libpng-dev libjpeg-dev libxxf86vm-dev libgl1-mesa-dev libsqlite3-dev libogg-dev libvorbis-dev libopenal-dev libcurl4-gnutls-dev libfreetype6-dev zlib1g-dev libgmp-dev libjsoncpp-dev
50
51 build:ubuntu-16.04:
52  <<: *build_definition
53  image: ubuntu:xenial
54  before_script:
55    - apt-get update -y
56    - apt-get -y install build-essential libirrlicht-dev cmake libbz2-dev libpng-dev libjpeg-dev libxxf86vm-dev libgl1-mesa-dev libsqlite3-dev libogg-dev libvorbis-dev libopenal-dev libcurl4-gnutls-dev libfreetype6-dev zlib1g-dev libgmp-dev libjsoncpp-dev
57
58 build:ubuntu-16.10:
59  <<: *build_definition
60  image: ubuntu:yakkety
61  before_script:
62    - apt-get update -y
63    - apt-get -y install build-essential libirrlicht-dev cmake libbz2-dev libpng-dev libjpeg-dev libxxf86vm-dev libgl1-mesa-dev libsqlite3-dev libogg-dev libvorbis-dev libopenal-dev libcurl4-gnutls-dev libfreetype6-dev zlib1g-dev libgmp-dev libjsoncpp-dev
64
65 build:ubuntu-17.04:
66  <<: *build_definition
67  image: ubuntu:zesty
68  before_script:
69    - apt-get update -y
70    - apt-get -y install build-essential libirrlicht-dev cmake libbz2-dev libpng-dev libjpeg-dev libxxf86vm-dev libgl1-mesa-dev libsqlite3-dev libogg-dev libvorbis-dev libopenal-dev libcurl4-gnutls-dev libfreetype6-dev zlib1g-dev libgmp-dev libjsoncpp-dev
71
72 ##
73 ## Fedora
74 ##
75 build:fedora-24:
76   <<: *build_definition
77   image: fedora:24
78   before_script:
79     - dnf -y install make automake gcc gcc-c++ kernel-devel cmake libcurl* openal* libvorbis* libXxf86vm-devel libogg-devel freetype-devel mesa-libGL-devel zlib-devel jsoncpp-devel irrlicht-devel bzip2-libs gmp-devel sqlite-devel luajit-devel leveldb-devel ncurses-devel doxygen spatialindex-devel bzip2-devel