Skip to content

Commit 2dd5532

Browse files
committed
gitlab-ci: New structure of pipelines
1 parent 2a58a02 commit 2dd5532

File tree

2 files changed

+78
-56
lines changed

2 files changed

+78
-56
lines changed

.ci/build_and_test_world

Lines changed: 44 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,44 @@
1+
#!/bin/sh
2+
3+
#
4+
# script which exececutes all the build stages. If script executed with
5+
# no arguments and something fails, every bit of logs, stack traces and
6+
# regression.diffs found would be printed, unless DESKTOP_SESSION
7+
# environment varible is defined
8+
# Use -i option to
9+
#
10+
# Following environment variables affect behavoir of this script.
11+
# TCLCONFIG - point to directory where tclConfig.sh resides.
12+
# required on debian-based system, where configure cannot
13+
# find it automatically
14+
# PYTHON - points to python binary to use. Allows to build with python3
15+
# on systems where default python in PATH is python2 or
16+
# vice versa
17+
# CC - C compiler to use
18+
# CFLAGS, LDFLAGS - on some systems requried to find 3rd party software
19+
#
20+
stage() {
21+
echo ====================================================================
22+
printf "== %-60s ==\\n" "$*"
23+
echo ====================================================================
24+
}
25+
26+
# Dump logs on exit unless interactive
27+
[ "$1" = "-i" -o -z "$DESKTOP_SESSION" ]|| trap .ci/collect_logs EXIT
28+
set -e
29+
stage configure
30+
./configure --enable-tap-tests --enable-debug --enable-cassert --enable-nls \
31+
--with-openssl --with-perl --with-tcl --with-python \
32+
--with-gssapi --with-libxml --with-libxslt --with-ldap \
33+
--with-icu --with-zstd ${TCLCONFIG:+--with-tclconfig=${TCLCONFIG}}
34+
stage make
35+
make
36+
stage "make contrib"
37+
make -C contrib
38+
stage "make check"
39+
make check-world
40+
stage "make installcheck"
41+
.ci/run_install_check
42+
trap true EXIT
43+
44+

.gitlab-ci.yml

Lines changed: 34 additions & 56 deletions
Original file line numberDiff line numberDiff line change
@@ -2,37 +2,33 @@ stages:
22
- prepare
33
- build
44
- test
5-
- installtest
6-
- collect_logs
75

8-
#prepare-deb:
9-
# stage: prepare
10-
# image: ubuntu:16.04
11-
# tags:
12-
# - deb
13-
# - docker
14-
# only:
15-
# - /^PGPRO.*9_[56]$/
16-
# before_script:
17-
# - export DEBIAN_FRONTEND=noninteractive
18-
# - export CORES=$(grep -c ^processor /proc/cpuinfo)
19-
# - uname -a
20-
# - df -h
21-
# script:
22-
# - echo "Current user id is `id`"
23-
# - apt-get update && apt-get install -y sudo gcc make flex bison libreadline-dev zlib1g-dev openjade libzstd-dev opensp docbook docbook-xml docbook-xsl libxml2-utils xsltproc python-dev libicu-dev
24-
# - id -u postgres || adduser --disabled-login --gecos "Postgres" postgres
25-
build_job:
6+
.prepare-deb:
7+
stage: prepare
8+
image: ubuntu:16.04
9+
tags:
10+
- deb
11+
- docker
12+
only:
13+
- /^PGPRO.*9_[56]$/
14+
before_script:
15+
- export DEBIAN_FRONTEND=noninteractive
16+
- export CORES=$(grep -c ^processor /proc/cpuinfo)
17+
- uname -a
18+
- df -h
19+
script:
20+
- echo "Current user id is `id`"
21+
- apt-get update && apt-get install -y sudo gcc make flex bison libreadline-dev zlib1g-dev openjade libzstd-dev opensp docbook docbook-xml docbook-xsl libxml2-utils xsltproc python-dev libicu-dev
22+
- id -u postgres || adduser --disabled-login --gecos "Postgres" postgres
23+
# Template build
24+
.build_unix: &build_unix_def
2625
stage: build
2726
tags:
2827
- unix
2928
only:
3029
- /^PGPRO.*9_[56]$/
31-
script:
32-
- if [ -z "$PGPORT" ]; then PGPORT=5789; fi
33-
- ./configure --prefix=$(pwd)/tmp_install --with-perl --with-tcl ${TCLCONFIG:+--with-tclconfig=${TCLCONFIG}} --with-zstd --with-icu --with-python
34-
- make
35-
- make -C contrib
30+
script:
31+
- .ci/build_and_test_world
3632
when: always
3733

3834
build_docs_job:
@@ -46,35 +42,17 @@ build_docs_job:
4642
- ./configure
4743
- make -C doc
4844

49-
make_check_job:
50-
stage: test
51-
when: on_success
52-
only:
53-
- /^PGPRO.*9_[56]$/
54-
tags:
55-
- unix
56-
before_script:
57-
- unset SUCMD
58-
- if [ $(id -u) -eq 0 ]; then SUCMD="sudo -u postgres"; fi
59-
- export SUCMD
60-
script:
61-
- $SUCMD make check-world
45+
# Here definitions of particular build enviroments start
46+
47+
build_debian_8:
48+
<<: build_unix_def
49+
tags:
50+
- jessie
51+
- 64bit
52+
53+
build_debian_7_32:
54+
<<: build_unix_def
55+
tags:
56+
- wheezy
57+
- 32bit
6258

63-
make_installcheck_job:
64-
stage: installtest
65-
when: on_success
66-
only:
67-
- /^PGPRO.*9_[56]$/
68-
tags:
69-
- unix
70-
before_script:
71-
- unset SUCMD
72-
- if [ $(id -u) -eq 0 ]; then SUCMD="sudo -u postgres"; fi
73-
- export SUCMD
74-
script:
75-
- $SUCMD ./.ci/run_install_check
76-
collect_logs_job:
77-
stage: collect_logs
78-
when: on_failure
79-
script:
80-
- ./.ci/collect_logs

0 commit comments

Comments
 (0)