@@ -10,29 +10,117 @@ jobs:
10
10
build :
11
11
strategy :
12
12
matrix :
13
- os : [ubuntu-latest ]
13
+ os : [" ubuntu-22.04" ]
14
14
runs-on : ${{ matrix.os }}
15
15
defaults :
16
16
run :
17
17
working-directory : pgml-extension
18
18
steps :
19
19
- uses : actions/checkout@v3
20
+ - uses : actions-rs/toolchain@v1
21
+ with :
22
+ toolchain : stable
23
+ - name : Validate cargo is working
24
+ uses : postgresml/gh-actions-cargo@master
25
+ with :
26
+ working-directory : pgml-extension
27
+ command : version
20
28
- name : Install dependencies
29
+ env :
30
+ DEBIAN_FRONTEND : noninteractive
31
+ TZ : Etc/UTC
21
32
run : |
33
+ git submodule update --init --recursive
34
+
35
+ # PostgreSQL apt
36
+ curl https://www.postgresql.org/media/keys/ACCC4CF8.asc | gpg --dearmor | sudo tee /etc/apt/trusted.gpg.d/apt.postgresql.org.gpg >/dev/null
37
+ sudo sudo sh -c 'echo "deb http://apt.postgresql.org/pub/repos/apt $(lsb_release -cs)-pgdg main" > /etc/apt/sources.list.d/pgdg.list'
38
+
39
+ sudo apt-get install -y software-properties-common
40
+ sudo add-apt-repository ppa:apt-fast/stable --yes
41
+ sudo add-apt-repository ppa:deadsnakes/ppa --yes
22
42
sudo apt update
23
- sudo apt install -y ruby curl
43
+
44
+ sudo apt-get install -y apt-fast
45
+ sudo apt-get update && sudo apt-fast install -y \
46
+ libopenblas-dev \
47
+ libssl-dev \
48
+ bison \
49
+ flex \
50
+ pkg-config \
51
+ cmake \
52
+ libreadline-dev \
53
+ libz-dev \
54
+ curl \
55
+ lsb-release \
56
+ tzdata \
57
+ sudo \
58
+ cmake \
59
+ libpq-dev \
60
+ libclang-dev \
61
+ wget \
62
+ postgresql-15 \
63
+ postgresql-14 \
64
+ postgresql-13 \
65
+ postgresql-12 \
66
+ postgresql-11 \
67
+ postgresql-server-dev-15 \
68
+ postgresql-server-dev-14 \
69
+ postgresql-server-dev-13 \
70
+ postgresql-server-dev-12 \
71
+ postgresql-server-dev-11 \
72
+ lsb-release \
73
+ python3.10 \
74
+ python3-pip \
75
+ libpython3.10-dev \
76
+ python3.10-dev \
77
+ ruby
78
+
24
79
curl -sLO https://github.com/deb-s3/deb-s3/releases/download/0.11.4/deb-s3-0.11.4.gem
25
80
sudo gem install deb-s3-0.11.4.gem
26
- git submodule update --init --recursive
27
- chmod 777 . -R
28
81
dpkg-deb --version
29
- - name : Build package
30
- run : |
31
- docker run -v $(pwd):/app ghcr.io/postgresml/postgresml-builder:latest bash -c '$HOME/.cargo/bin/cargo pgx package --pg-config /usr/lib/postgresql/11/bin/pg_config'
32
- docker run -v $(pwd):/app ghcr.io/postgresml/postgresml-builder:latest bash -c '$HOME/.cargo/bin/cargo pgx package --pg-config /usr/lib/postgresql/12/bin/pg_config'
33
- docker run -v $(pwd):/app ghcr.io/postgresml/postgresml-builder:latest bash -c '$HOME/.cargo/bin/cargo pgx package --pg-config /usr/lib/postgresql/13/bin/pg_config'
34
- docker run -v $(pwd):/app ghcr.io/postgresml/postgresml-builder:latest bash -c '$HOME/.cargo/bin/cargo pgx package --pg-config /usr/lib/postgresql/14/bin/pg_config'
35
- docker run -v $(pwd):/app ghcr.io/postgresml/postgresml-builder:latest bash -c '$HOME/.cargo/bin/cargo pgx package --pg-config /usr/lib/postgresql/15/bin/pg_config'
82
+ - name : Install pgx
83
+ uses : postgresml/gh-actions-cargo@master
84
+ with :
85
+ working-directory : pgml-extension
86
+ command : install
87
+ args : cargo-pgx --version "0.7.1"
88
+ - name : pgx init
89
+ uses : postgresml/gh-actions-cargo@master
90
+ with :
91
+ working-directory : pgml-extension
92
+ command : pgx
93
+ args : init --pg11=/usr/lib/postgresql/11/bin/pg_config --pg12=/usr/lib/postgresql/12/bin/pg_config --pg13=/usr/lib/postgresql/13/bin/pg_config --pg14=/usr/lib/postgresql/14/bin/pg_config --pg15=/usr/lib/postgresql/15/bin/pg_config
94
+ - name : Build Postgres 11
95
+ uses : postgresml/gh-actions-cargo@master
96
+ with :
97
+ working-directory : pgml-extension
98
+ command : pgx
99
+ args : package --pg-config /usr/lib/postgresql/11/bin/pg_config
100
+ - name : Build Postgres 12
101
+ uses : postgresml/gh-actions-cargo@master
102
+ with :
103
+ working-directory : pgml-extension
104
+ command : pgx
105
+ args : package --pg-config /usr/lib/postgresql/12/bin/pg_config
106
+ - name : Build Postgres 13
107
+ uses : postgresml/gh-actions-cargo@master
108
+ with :
109
+ working-directory : pgml-extension
110
+ command : pgx
111
+ args : package --pg-config /usr/lib/postgresql/13/bin/pg_config
112
+ - name : Build Postgres 14
113
+ uses : postgresml/gh-actions-cargo@master
114
+ with :
115
+ working-directory : pgml-extension
116
+ command : pgx
117
+ args : package --pg-config /usr/lib/postgresql/14/bin/pg_config
118
+ - name : Build Postgres 15
119
+ uses : postgresml/gh-actions-cargo@master
120
+ with :
121
+ working-directory : pgml-extension
122
+ command : pgx
123
+ args : package --pg-config /usr/lib/postgresql/15/bin/pg_config
36
124
- name : Build debs
37
125
env :
38
126
AWS_ACCESS_KEY_ID : ${{ vars.AWS_ACCESS_KEY_ID }}
@@ -44,15 +132,12 @@ jobs:
44
132
export PGVERSION=${pg}
45
133
export ARCH=amd64
46
134
47
- # Fix permissions
48
- sudo chown -R ${USER}:${USER} target/release
49
-
50
135
mkdir -p target/release/pgml-pg${pg}/DEBIAN
51
136
(cat control | envsubst) > target/release/pgml-pg${pg}/DEBIAN/control
52
- dpkg-deb --build target/release/pgml-pg${pg} postgresql-pgml-${pg}_${PACKAGE_VERSION}-ubuntu1 -amd64.deb
137
+ dpkg-deb --root-owner-group -- build target/release/pgml-pg${pg} postgresql-pgml-${pg}_${PACKAGE_VERSION}-ubuntu22.04 -amd64.deb
53
138
54
139
deb-s3 upload \
55
140
--bucket apt.postgresml.org \
56
- postgresql-pgml-${pg}_${PACKAGE_VERSION}-ubuntu1 -amd64.deb \
57
- --codename jammy
141
+ postgresql-pgml-${pg}_${PACKAGE_VERSION}-ubuntu22.04 -amd64.deb \
142
+ --codename $(lsb_release -cs)
58
143
done
0 commit comments