summaryrefslogtreecommitdiff
path: root/ci/container_builds.yml
blob: 6276d654c42b13cb6c8292a419ac9efd300fd0d7 (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
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
include:
  - remote: "https://gitlab.freedesktop.org/freedesktop/ci-templates/-/raw/80f87b3058efb75a1faae11826211375fba77e7f/templates/fedora.yml"
  - remote: "https://gitlab.freedesktop.org/freedesktop/ci-templates/-/raw/80f87b3058efb75a1faae11826211375fba77e7f/templates/debian.yml"
  - remote: "https://gitlab.freedesktop.org/freedesktop/ci-templates/-/raw/80f87b3058efb75a1faae11826211375fba77e7f/templates/opensuse.yml"

variables:
  # When branching change the suffix to avoid conflicts with images
  # from the main branch
  BASE_TAG: "2023-03-14.1-librsvg-2.55"
  RUST_STABLE: "1.63.0"
  RUST_MINIMUM: "1.60.0"

.container.opensuse@common:
  stage: "container-build"
  before_script:
    - source ./ci/env.sh
  variables:
    FDO_DISTRIBUTION_VERSION: "tumbleweed"
    FDO_UPSTREAM_REPO: "gnome/librsvg"
    FDO_DISTRIBUTION_PACKAGES: >-
      gcc gdb make vala clang clang-tools
      automake autoconf curl gettext git itstool libtool
      gtk-doc gobject-introspection-devel gtk3-devel
      cairo-devel libxml2-devel wget openssl-devel
      pango-devel gdk-pixbuf-devel ccache gettext-tools
      sudo shadow system-group-wheel xz python38-docutils python3-pip
      google-roboto-fonts

.container.opensuse@x86_64.stable:
  extends: .container.opensuse@common
  variables:
    FDO_DISTRIBUTION_TAG: "x86_64-${RUST_STABLE}-${BASE_TAG}"
    FDO_DISTRIBUTION_EXEC: >-
      bash ci/install-rust.sh ${RUST_STABLE} x86_64-unknown-linux-gnu &&
      bash ci/install-rust-tools.sh &&
      bash ci/install-grcov.sh &&
      pip3 install gi-docgen sphinx sphinx_rtd_theme

.container.opensuse@x86_64.minimum:
  extends: .container.opensuse@common
  variables:
    FDO_DISTRIBUTION_TAG: "x86_64-${RUST_MINIMUM}-${BASE_TAG}"
    FDO_DISTRIBUTION_EXEC: >-
      bash ci/install-rust.sh ${RUST_MINIMUM} x86_64-unknown-linux-gnu &&
      pip3 install gi-docgen

.container.opensuse@x86_64.nightly:
  extends: .container.opensuse@common
  variables:
    FDO_DISTRIBUTION_TAG: "x86_64-nightly-${BASE_TAG}"
    FDO_DISTRIBUTION_EXEC: >-
      bash ci/install-rust.sh nightly x86_64-unknown-linux-gnu &&
      pip3 install gi-docgen

.container.opensuse@aarch64:
  extends: .container.opensuse@common
  variables:
    FDO_DISTRIBUTION_TAG: "aarch64-${RUST_STABLE}-${BASE_TAG}"
    FDO_DISTRIBUTION_EXEC: >-
      bash ci/install-rust.sh ${RUST_STABLE} aarch64-unknown-linux-gnu &&
      pip3 install gi-docgen
  tags:
    - aarch64

opensuse-container@x86_64.stable:
  extends:
    - .fdo.container-build@opensuse@x86_64
    - .container.opensuse@x86_64.stable
  stage: "container-build"

opensuse-container@x86_64.minimum:
  extends:
    - .fdo.container-build@opensuse@x86_64
    - .container.opensuse@x86_64.minimum
  stage: "container-build"

opensuse-container@x86_64.nightly:
  extends:
    - .fdo.container-build@opensuse@x86_64
    - .container.opensuse@x86_64.nightly
  stage: "container-build"

.opensuse-container@aarch64:
  extends:
    - .fdo.container-build@opensuse@aarch64
    - .container.opensuse@aarch64
  stage: "container-build"

.container.fedora@common:
  before_script:
    - source ./ci/env.sh
  variables:
    FDO_DISTRIBUTION_VERSION: "33"
    FDO_UPSTREAM_REPO: "gnome/librsvg"
    FDO_DISTRIBUTION_PACKAGES: >-
      gcc make vala curl
      automake autoconf libtool gettext itstool
      gdk-pixbuf2-devel gobject-introspection-devel
      gtk-doc git redhat-rpm-config gtk3-devel ccache
      libxml2-devel cairo-devel pango-devel wget openssl-devel
      gettext-devel python3-docutils python3-pip
      google-roboto-fonts

.container.fedora@x86_64:
  extends: .container.fedora@common
  variables:
    FDO_DISTRIBUTION_TAG: "x86_64-${RUST_STABLE}-${BASE_TAG}"
    FDO_DISTRIBUTION_EXEC: >-
      bash ci/install-rust.sh ${RUST_STABLE} x86_64-unknown-linux-gnu &&
      pip3 install gi-docgen

.container.fedora@aarch64:
  extends: .container.fedora@common
  variables:
    FDO_DISTRIBUTION_TAG: "aarch64-${RUST_STABLE}-${BASE_TAG}"
    FDO_DISTRIBUTION_EXEC: >-
      bash ci/install-rust.sh ${RUST_STABLE} aarch64-unknown-linux-gnu &&
      pip3 install gi-docgen
  tags:
    - aarch64

fedora-container@x86_64:
  extends:
    - .fdo.container-build@fedora@x86_64
    - .container.fedora@x86_64
  stage: "container-build"

.fedora-container@aarch64:
  extends:
    - .fdo.container-build@fedora@aarch64
    - .container.fedora@aarch64
  stage: "container-build"

.container.debian@common:
  extends:
    - .fdo.container-build@debian@x86_64
  before_script:
    - source ./ci/env.sh
  variables:
    FDO_DISTRIBUTION_VERSION: "testing"
    FDO_UPSTREAM_REPO: "gnome/librsvg"
    FDO_DISTRIBUTION_PACKAGES: >-
      curl gcc make valac git wget
      automake autoconf libtool gettext itstool
      libgdk-pixbuf2.0-dev libgirepository1.0-dev
      gtk-doc-tools libpango1.0-dev libgtk-3-dev
      libxml2-dev libcairo2-dev python3-docutils
      ca-certificates openssl libssl-dev python3-pip
      autotools-dev libltdl-dev autopoint
      fonts-roboto

.container.debian@x86_64:
  extends: .container.debian@common
  variables:
    FDO_DISTRIBUTION_TAG: "x86_64-${RUST_STABLE}-${BASE_TAG}"
    FDO_DISTRIBUTION_EXEC: >-
      bash ci/install-rust.sh ${RUST_STABLE} x86_64-unknown-linux-gnu &&
      pip3 install gi-docgen

.container.debian@aarch64:
  extends: .container.debian@common
  variables:
    FDO_DISTRIBUTION_TAG: "aarch64-${RUST_STABLE}-${BASE_TAG}"
    FDO_DISTRIBUTION_EXEC: >-
      bash ci/install-rust.sh ${RUST_STABLE} aarch64-unknown-linux-gnu &&
      pip3 install gi-docgen
  tags:
    - aarch64

.debian-container@x86_64:
  extends:
    - .fdo.container-build@debian@x86_64
    - .container.debian@x86_64
  stage: "container-build"

.debian-container@aarch64:
  extends:
    - .fdo.container-build@debian@aarch64
    - .container.debian@aarch64
  stage: "container-build"