1---
2## METEO CI
3##
4## https://gitlab.com/bitseater/meteo
5##
6## (C) Carlos Suárez <bitseater@gmail.com> - 2019
7
8stages:
9  - build
10  - package
11
12variables:
13  METEO_REPO: "https://gitlab.com/bitseater/meteo.git"
14  DEPENS: "build-essential git meson ninja-build valac desktop-file-utils libgtk-3-dev libsoup2.4-dev libjson-glib-dev libgeocode-glib-dev libwebkit2gtk-4.0-dev libayatana-appindicator3-dev"
15  DEPENS_RPM: "@development-tools fedora-packager rpmdevtools git gcc wget meson ninja-build vala vala-devel gtk3-devel libsoup-devel json-glib-devel geocode-glib-devel webkit2gtk3-devel libappindicator-gtk3-devel libappstream-glib"
16
17.build_template: &build_definition
18  stage: build
19  script:
20    - meson --prefix /usr/ build
21    - ninja -C build install
22
23.debpkg_template: &debpkg_template
24  stage: package
25  before_script:
26    - apt-get update -y
27    - apt-get install -y $DEPENS
28  script:
29    - git clone $METEO_REPO
30    - cd meteo && dpkg-checkbuilddeps && dpkg-buildpackage
31  only:
32    - tags
33  artifacts:
34    when: on_success
35    paths:
36      - ./*.deb
37
38## DEBIAN
39
40build:debian:
41 <<: *build_definition
42 image: debian:11
43 before_script:
44   - apt-get update -y
45   - apt-get -y install $DEPENS
46
47package:debian:
48  image: debian:11
49  dependencies:
50    - build:debian
51  <<: *debpkg_template
52
53## UBUNTU
54
55build:ubuntu:
56  <<: *build_definition
57  image: ubuntu:focal
58  before_script:
59    - apt-get update -y
60    - DEBIAN_FRONTEND=noninteractive apt-get -y install $DEPENS
61
62## FEDORA
63
64build:fedora:
65  <<: *build_definition
66  image: fedora:34
67  before_script:
68    - dnf install $DEPENS_RPM -y
69
70package:fedora:
71  image: fedora:34
72  stage: package
73
74  before_script:
75    - dnf install $DEPENS_RPM -y
76
77  script:
78    - rpmdev-setuptree
79    - cp rpm/meteo.spec ~/rpmbuild/SPECS
80    - cd ~/rpmbuild
81    - wget https://gitlab.com/bitseater/meteo/-/archive/0.9.9/meteo-0.9.9.tar.gz
82    - cp meteo-0.9.9.tar.gz ~/rpmbuild/SOURCES
83    - QA_SKIP_BUILD_ROOT=1 rpmbuild -v -ba --clean SPECS/meteo.spec
84    - cd ~/rpmbuild/RPMS/x86_64/
85    - cp meteo-0.9.9-1.fc34.x86_64.rpm /builds/bitseater/meteo/
86    - cd ~/rpmbuild/SRPMS/
87    - cp meteo-0.9.9-1.fc34.src.rpm /builds/bitseater/meteo/
88
89  only:
90    - tags
91
92  artifacts:
93    paths:
94      - meteo-0.9.9-1.fc34.x86_64.rpm
95      - meteo-0.9.9-1.fc34.src.rpm
96    expire_in: 90 days
97