@@ -14,66 +14,68 @@ jobs:
14
14
steps :
15
15
16
16
# Set major PostgreSQL version for all underlying steps
17
- - name : " Extract Postgres major version number"
17
+ - uses : actions/checkout@v3
18
+ - name : " Define PostreSQL major version"
18
19
run : |
19
- PG_MAJOR_VERSION=$(echo "$BRANCH_NAME" | grep --only-matching 'stable[0-9].' | grep --only-matching '[0-9].')
20
+ _name=$(ls aqo_*.|tail -1)
21
+ echo "CORE__NAME=$_name" >> $_ENV
20
22
21
- # Declare PG_MAJOR_VERSION as a environment variable
22
- echo "PG_MAJOR_VERSION=$PG_MAJOR_VERSION" >> $_ENV
23
- echo "CORE_BRANCH_NAME=REL_${PG_MAJOR_VERSION}_STABLE" >> $_ENV
24
- echo "AQO__NAME=aqo_pg$PG_MAJOR_VERSION." >> $_ENV
25
- - name : " Set proper names for the master case"
23
+ # we can get number, otherwise set up master
24
+ vers_number=$(echo "$_name"|tr -d -c 0-9)
25
+ echo "PG_MAJOR_VERSION=$vers_number" >> $_ENV
26
+
27
+ branch_name="REL_${vers_number}_STABLE"
28
+ echo "PG_BRANCH=$branch_name" >> $_ENV
29
+
30
+ - name : " Set master branch name, if needed"
26
31
if : env.PG_MAJOR_VERSION == ''
27
32
run : |
28
- echo "PG_MAJOR_VERSION=master" >> $_ENV
29
- echo "CORE_BRANCH_NAME=master" >> $_ENV
30
- echo "AQO__NAME=aqo_master." >> $_ENV
33
+ branch_name="master"
34
+ echo "PG_BRANCH=$branch_name" >> $_ENV
31
35
32
- - name : " Preparations"
36
+ - name : " Environment (debug output)"
37
+ if : ${{ always() }}
33
38
run : |
34
- sudo apt install libipc-run-perl libxml2-utils libxml2-dev xsltproc libxslt1-dev
35
-
36
- echo "Deploying to production server on branch" $BRANCH_NAME
39
+ echo "Use PostgreSQL branch $PG_BRANCH (: $CORE__NAME)"
40
+ echo "Deploying to production server on branch" $BRANCH_NAME "(PG $PG_BRANCH)"
37
41
git config --global user.email "[email protected] "
38
42
git config --global user.name "CI PgPro admin"
39
- git clone https://.com/postgres/postgres.git pg
40
- cd pg
41
- git checkout $CORE_BRANCH_NAME
42
- git clone https://.com/postgrespro/aqo.git contrib/aqo
43
- git -C contrib/aqo checkout $BRANCH_NAME
44
- -p1 --no-backup-if-mismatch < contrib/aqo/$AQO__NAME
45
- COPT="-Werror"
46
- CONFIGURE_OPTS="--prefix=`pwd`/tmp_install --enable-tap-tests --enable-cassert"
47
- echo "CONFIGURE_OPTS=$CONFIGURE_OPTS" >> $_ENV
48
- echo "COPT=$COPT" >> $_ENV
43
+
44
+ - name : " Prepare PG directory"
45
+ run : |
46
+ sudo apt install libipc-run-perl libxml2-utils libxml2-dev xsltproc libxslt1-dev
47
+ git clone -b $PG_BRANCH --depth=1 --single-branch https://.com/postgres/postgres.git $_WORKSPACE/../pg
48
+ cd $_WORKSPACE/../pg
49
+ cp -r ../aqo contrib/aqo
50
+ -p1 --no-backup-if-mismatch < contrib/aqo/$CORE__NAME
49
51
50
52
- name : " Paths"
51
53
run : |
52
- echo "$_WORKSPACE/pg/contrib/aqo/./scripts/job" >> $_PATH
53
- ls -la pg/contrib/aqo/./scripts/job
54
- echo "$_WORKSPACE/pg/tmp_install/bin" >> $_PATH
54
+ cd $_WORKSPACE/../pg
55
+ echo "COPT=-Werror" >> $_ENV
56
+ echo "CONFIGURE_OPTS=--prefix=`pwd`/tmp_install --enable-tap-tests --enable-cassert" >> $_ENV
57
+ echo "$_WORKSPACE/../pg/tmp_install/bin" >> $_PATH
58
+ echo "$_WORKSPACE/../pg/contrib/aqo/./scripts/job" >> $_PATH
55
59
echo "LD_LIBRARY_PATH=$_WORKSPACE/pg/tmp_install/lib" >> $_ENV
56
60
echo "PGDATABASE=`whoami`" >> $_ENV
57
61
echo "PGHOST=localhost" >> $_ENV
58
62
echo "PGDATA=PGDATA" >> $_ENV
59
63
echo "PGUSER=`whoami`" >> $_ENV
60
64
echo "PGPORT=5432" >> $_ENV
61
65
62
- - name : " Debug"
63
- run : |
64
- echo "paths: $PATH"
65
- echo "PG_MAJOR_VERSION: $PG_MAJOR_VERSION, CORE_BRANCH_NAME: $CORE_BRANCH_NAME, AQO__NAME: $AQO__NAME, CONFIGURE_OPTS: $CONFIGURE_OPTS"
66
-
67
66
- name : " Compilation"
68
67
run : |
69
- cd pg
70
- ./configure $CONFIGURE_OPTS CFLAGS="-O2"
68
+ cd $_WORKSPACE/../pg
69
+ echo "paths: $PATH"
70
+ echo "COPT: $COPT"
71
+ echo "CONFIGURE_OPTS: $CONFIGURE_OPTS"
72
+ ./configure $CONFIGURE_OPTS CFLAGS="-O2" > /dev/null
71
73
make -j4 > /dev/null && make -j4 -C contrib > /dev/null
72
74
make install >> make.log && make -C contrib install > /dev/null
73
75
74
76
- name : " Launch AQO instance"
75
77
run : |
76
- cd pg
78
+ cd $_WORKSPACE/../ pg
77
79
78
80
# Launch an instance with AQO extension
79
81
aqo_instance_launch.sh
@@ -84,29 +86,29 @@ jobs:
84
86
# Pass installcheck in disabled mode
85
87
- name : installcheck_disabled
86
88
run : |
87
- cd pg
89
+ cd $_WORKSPACE/../ pg
88
90
psql -c "ALTER SYSTEM SET aqo.force_collect_stat = 'off'"
89
91
psql -c "SELECT pg_reload_conf()"
90
92
make installcheck-world
91
93
92
94
- name : installcheck_disabled_forced_stat
93
95
run : |
94
- cd pg
96
+ cd $_WORKSPACE/../ pg
95
97
psql -c "ALTER SYSTEM SET aqo.force_collect_stat = 'on'"
96
98
psql -c "SELECT pg_reload_conf()"
97
99
make installcheck-world
98
100
99
101
- name : installcheck_frozen
100
102
run : |
101
- cd pg
103
+ cd $_WORKSPACE/../ pg
102
104
psql -c "ALTER SYSTEM SET aqo.mode = 'frozen'"
103
105
psql -c "ALTER SYSTEM SET aqo.force_collect_stat = 'on'"
104
106
psql -c "SELECT pg_reload_conf()"
105
107
make installcheck-world
106
108
107
109
- name : installcheck_controlled
108
110
run : |
109
- cd pg
111
+ cd $_WORKSPACE/../ pg
110
112
psql -c "ALTER SYSTEM SET aqo.mode = 'controlled'"
111
113
psql -c "ALTER SYSTEM SET aqo.force_collect_stat = 'on'"
112
114
psql -c "SELECT pg_reload_conf()"
@@ -115,7 +117,7 @@ jobs:
115
117
- name : installcheck_learn
116
118
continue-on-error : true
117
119
run : |
118
- cd pg
120
+ cd $_WORKSPACE/../ pg
119
121
psql -c "ALTER SYSTEM SET aqo.mode = 'learn'"
120
122
psql -c "ALTER SYSTEM SET aqo.force_collect_stat = 'on'"
121
123
psql -c "SELECT pg_reload_conf()"
@@ -124,7 +126,7 @@ jobs:
124
126
- name : installcheck_intelligent
125
127
continue-on-error : true
126
128
run : |
127
- cd pg
129
+ cd $_WORKSPACE/../ pg
128
130
psql -c "ALTER SYSTEM SET aqo.mode = 'intelligent'"
129
131
psql -c "ALTER SYSTEM SET aqo.force_collect_stat = 'on'"
130
132
psql -c "SELECT pg_reload_conf()"
@@ -133,18 +135,18 @@ jobs:
133
135
- name : installcheck_forced
134
136
continue-on-error : true
135
137
run : |
136
- cd pg
138
+ cd $_WORKSPACE/../ pg
137
139
psql -c "ALTER SYSTEM SET aqo.mode = 'forced'"
138
140
psql -c "ALTER SYSTEM SET aqo.force_collect_stat = 'on'"
139
141
psql -c "SELECT pg_reload_conf()"
140
142
make -k installcheck-world
141
143
142
144
# Save Artifacts
143
145
- name : Archive artifacts
144
- if : ${{ failure () }}
146
+ if : ${{ always () }}
145
147
uses : actions/upload-artifact@v3
146
148
with :
147
- name : ${{ env.AQO_VERSION }}-${{ env.CORE_BRANCH_NAME }}-${{ env.BRANCH_NAME }}-artifacts
149
+ name : ${{ env.AQO_VERSION }}-${{ env.PG_BRANCH }}-${{ env.CORE__NAME }}-artifacts
148
150
path : |
149
151
pg/src/test/regress/regression.diffs
150
152
pg/logfile.log
0 commit comments