@@ -2,42 +2,54 @@ name: Build PostgresML Rust package
2
2
3
3
on :
4
4
workflow_dispatch :
5
+ inputs :
6
+ packageVersion :
7
+ default : " 2.2.0"
5
8
6
9
jobs :
7
10
build :
8
11
strategy :
9
12
matrix :
10
13
os : [ubuntu-latest]
11
14
runs-on : ${{ matrix.os }}
15
+ defaults :
16
+ run :
17
+ working-directory : pgml-extension
12
18
steps :
13
19
- uses : actions/checkout@v3
14
20
- name : Install dependencies
15
- run :
21
+ run : |
16
22
sudo apt update
17
23
sudo apt install -y ruby curl
18
24
curl -sLO https://github.com/deb-s3/deb-s3/releases/download/0.11.4/deb-s3-0.11.4.gem
19
25
sudo gem install deb-s3-0.11.4.gem
26
+ git submodule update --init --recursive
27
+ chmod 777 . -R
28
+ dpkg-deb --version
20
29
- name : Build package
21
- run :
22
- docker run -v $(pwd):/app levkk/postgresml:build cargo pgx package --pg-control /usr/lib/postgresql/11/bin/pg_config
23
- docker run -v $(pwd):/app levkk/postgresml:build cargo pgx package --pg-control /usr/lib/postgresql/12/bin/pg_config
24
- docker run -v $(pwd):/app levkk/postgresml:build cargo pgx package --pg-control /usr/lib/postgresql/13/bin/pg_config
25
- docker run -v $(pwd):/app levkk/postgresml:build cargo pgx package --pg-control /usr/lib/postgresql/14/bin/pg_config
26
- docker run -v $(pwd):/app levkk/postgresml:build cargo pgx package --pg-control /usr/lib/postgresql/15/bin/pg_config
27
- # - name: Publish package
28
- # env:
29
- # AWS_ACCESS_KEY_ID: ${{ vars.AWS_ACCESS_KEY_ID }}
30
- # AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
31
- # AWS_DEFAULT_REGION: ${{ vars.AWS_DEFAULT_REGION }}
32
- # working-directory: postgresml/pgml-extension
33
- # run: |
34
- # if [[ $(uname -a) == *"aarch64"* ]]; then
35
- # ARCH="arm64"
36
- # else
37
- # ARCH="amd64"
38
- # fi
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'
36
+ - name : Build debs
37
+ env :
38
+ AWS_ACCESS_KEY_ID : ${{ vars.AWS_ACCESS_KEY_ID }}
39
+ AWS_SECRET_ACCESS_KEY : ${{ secrets.AWS_SECRET_ACCESS_KEY }}
40
+ AWS_DEFAULT_REGION : ${{ vars.AWS_DEFAULT_REGION }}
41
+ run : |
42
+ for pg in {11..15}; do
43
+ export PACKAGE_VERSION=${{ inputs.packageVersion }}
44
+ export PGVERSION=${pg}
45
+ export ARCH=amd64
46
+
47
+ mkdir -p target/release/pgml-pg${pg}/DEBIAN
48
+ (cat control | envsubst) > target/release/pgml-pg${pg}/DEBIAN/control
49
+ dpkg-deb --build target/release/pgml-pg${pg} postgresql-pgml-${pg}_${PACKAGE_VERSION}-ubuntu1-amd64.deb
39
50
40
- # deb-s3 upload \
41
- # --bucket apt.postgresml.org \
42
- # postgresql-pgml-${{ inputs.postgresVersion }}_${{ inputs.packageVersion }}-ubuntu${{ inputs.ubuntuVersion }}-${ARCH}.deb \
43
- # --codename ${{ inputs.ubuntuName }}
51
+ deb-s3 upload \
52
+ --bucket apt.postgresml.org \
53
+ postgresql-pgml-${pg}_${PACKAGE_VERSION}-ubuntu1-amd64.deb \
54
+ --codename jammy
55
+ done
0 commit comments