Content-Length: 44354 | pFad | http://github.com/postgresml/postgresml/pull/1675.patch
thub.com
From fd379ad50084e0b11dd3785e752180f864efede9 Mon Sep 17 00:00:00 2001
From: Montana Low
Date: Tue, 28 Jan 2025 16:38:49 -0800
Subject: [PATCH 1/9] update build matrix
---
.../ubuntu-packages-and-docker-image.yml | 87 ++++++++++++--
.../ubuntu-postgresml-python-package.yaml | 25 +++-
packages/postgresml-dashboard/build.sh | 28 +++--
packages/postgresml-dashboard/release.sh | 83 +++++++------
packages/postgresml-python/build.sh | 40 +++----
packages/postgresml-python/release.sh | 87 ++++++++------
packages/postgresml/build.sh | 14 ++-
packages/postgresml/release.sh | 74 +++++++-----
packages/postgresql-pgml/release.sh | 113 ++++++++++--------
9 files changed, 348 insertions(+), 203 deletions(-)
diff --git a/.github/workflows/ubuntu-packages-and-docker-image.yml b/.github/workflows/ubuntu-packages-and-docker-image.yml
index e64b5e30b..1931189c5 100644
--- a/.github/workflows/ubuntu-packages-and-docker-image.yml
+++ b/.github/workflows/ubuntu-packages-and-docker-image.yml
@@ -13,7 +13,28 @@ jobs:
strategy:
fail-fast: false # Let the other job finish
matrix:
- os: ["buildjet-4vcpu-ubuntu-2204", "buildjet-8vcpu-ubuntu-2204-arm"]
+ include:
+ # Ubuntu 24.04 LTS (Noble)
+ - os: "buildjet-4vcpu-ubuntu-2404"
+ ubuntu_version: "noble"
+ arch: "amd64"
+ - os: "buildjet-8vcpu-ubuntu-2404-arm"
+ ubuntu_version: "noble"
+ arch: "arm64"
+ # Ubuntu 22.04 LTS (Jammy)
+ - os: "buildjet-4vcpu-ubuntu-2204"
+ ubuntu_version: "jammy"
+ arch: "amd64"
+ - os: "buildjet-8vcpu-ubuntu-2204-arm"
+ ubuntu_version: "jammy"
+ arch: "arm64"
+ # Ubuntu 20.04 LTS (Focal) - Consider removing after April 2025
+ - os: "buildjet-4vcpu-ubuntu-2004"
+ ubuntu_version: "focal"
+ arch: "amd64"
+ - os: "buildjet-8vcpu-ubuntu-2004-arm"
+ ubuntu_version: "focal"
+ arch: "arm64"
runs-on: ${{ matrix.os }}
steps:
- uses: actions/checkout@v3
@@ -78,12 +99,14 @@ jobs:
postgresql-14 \
postgresql-13 \
postgresql-12 \
+ postgresql-11 \
postgresql-server-dev-17 \
postgresql-server-dev-16 \
postgresql-server-dev-15 \
postgresql-server-dev-14 \
postgresql-server-dev-13 \
postgresql-server-dev-12 \
+ postgresql-server-dev-11 \
lsb-release \
python3.10 \
python3-pip \
@@ -106,7 +129,13 @@ jobs:
with:
working-directory: pgml-extension
command: pgrx
- args: init --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 --pg16=/usr/lib/postgresql/16/bin/pg_config --pg17=/usr/lib/postgresql/17/bin/pg_config
+ 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 --pg16=/usr/lib/postgresql/16/bin/pg_config --pg17=/usr/lib/postgresql/17/bin/pg_config
+ - name: Build Postgres 11
+ uses: postgresml/gh-actions-cargo@master
+ with:
+ working-directory: pgml-extension
+ command: pgrx
+ args: package --pg-config /usr/lib/postgresql/11/bin/pg_config
- name: Build Postgres 12
uses: postgresml/gh-actions-cargo@master
with:
@@ -161,9 +190,30 @@ jobs:
postgresml:
needs: postgresml-pgml
strategy:
- fail-fast: false # Let the other job finish
+ fail-fast: false
matrix:
- os: ["ubuntu-22.04"]
+ include:
+ # Ubuntu 24.04 LTS (Noble)
+ - os: "buildjet-4vcpu-ubuntu-2404"
+ ubuntu_version: "noble"
+ arch: "amd64"
+ - os: "buildjet-8vcpu-ubuntu-2404-arm"
+ ubuntu_version: "noble"
+ arch: "arm64"
+ # Ubuntu 22.04 LTS (Jammy)
+ - os: "buildjet-4vcpu-ubuntu-2204"
+ ubuntu_version: "jammy"
+ arch: "amd64"
+ - os: "buildjet-8vcpu-ubuntu-2204-arm"
+ ubuntu_version: "jammy"
+ arch: "arm64"
+ # Ubuntu 20.04 LTS (Focal) - Consider removing after April 2025
+ - os: "buildjet-4vcpu-ubuntu-2004"
+ ubuntu_version: "focal"
+ arch: "amd64"
+ - os: "buildjet-8vcpu-ubuntu-2004-arm"
+ ubuntu_version: "focal"
+ arch: "arm64"
runs-on: ${{ matrix.os }}
steps:
- uses: actions/checkout@v3
@@ -180,9 +230,30 @@ jobs:
#
postgresml-dashboard:
strategy:
- fail-fast: false # Let the other job finish
+ fail-fast: false
matrix:
- os: ["ubuntu-22.04", "buildjet-4vcpu-ubuntu-2204-arm"]
+ include:
+ # Ubuntu 24.04 LTS (Noble)
+ - os: "buildjet-4vcpu-ubuntu-2404"
+ ubuntu_version: "noble"
+ arch: "amd64"
+ - os: "buildjet-8vcpu-ubuntu-2404-arm"
+ ubuntu_version: "noble"
+ arch: "arm64"
+ # Ubuntu 22.04 LTS (Jammy)
+ - os: "buildjet-4vcpu-ubuntu-2204"
+ ubuntu_version: "jammy"
+ arch: "amd64"
+ - os: "buildjet-8vcpu-ubuntu-2204-arm"
+ ubuntu_version: "jammy"
+ arch: "arm64"
+ # Ubuntu 20.04 LTS (Focal) - Consider removing after April 2025
+ - os: "buildjet-4vcpu-ubuntu-2004"
+ ubuntu_version: "focal"
+ arch: "amd64"
+ - os: "buildjet-8vcpu-ubuntu-2004-arm"
+ ubuntu_version: "focal"
+ arch: "arm64"
runs-on: ${{ matrix.os }}
steps:
- uses: actions/checkout@v3
@@ -208,7 +279,9 @@ jobs:
strategy:
fail-fast: false # Let the other job finish
matrix:
- os: ["buildjet-4vcpu-ubuntu-2204"]
+ include:
+ - os: "buildjet-4vcpu-ubuntu-2404"
+ ubuntu_version: "noble"
runs-on: ${{ matrix.os }}
defaults:
run:
diff --git a/.github/workflows/ubuntu-postgresml-python-package.yaml b/.github/workflows/ubuntu-postgresml-python-package.yaml
index fc5eba6fc..10dbcd07f 100644
--- a/.github/workflows/ubuntu-postgresml-python-package.yaml
+++ b/.github/workflows/ubuntu-postgresml-python-package.yaml
@@ -4,14 +4,35 @@ on:
workflow_dispatch:
inputs:
packageVersion:
- default: "2.8.4"
+ default: "2.10.0"
jobs:
postgresml-python:
strategy:
fail-fast: false # Let the other job finish
matrix:
- os: ["buildjet-4vcpu-ubuntu-2204", "buildjet-4vcpu-ubuntu-2204-arm", "ubuntu-24.04"]
+ include:
+ # Ubuntu 24.04 LTS (Noble)
+ - os: "buildjet-4vcpu-ubuntu-2404"
+ ubuntu_version: "noble"
+ arch: "amd64"
+ - os: "buildjet-8vcpu-ubuntu-2404-arm"
+ ubuntu_version: "noble"
+ arch: "arm64"
+ # Ubuntu 22.04 LTS (Jammy)
+ - os: "buildjet-4vcpu-ubuntu-2204"
+ ubuntu_version: "jammy"
+ arch: "amd64"
+ - os: "buildjet-8vcpu-ubuntu-2204-arm"
+ ubuntu_version: "jammy"
+ arch: "arm64"
+ # Ubuntu 20.04 LTS (Focal) - Consider removing after April 2025
+ - os: "buildjet-4vcpu-ubuntu-2004"
+ ubuntu_version: "focal"
+ arch: "amd64"
+ - os: "buildjet-8vcpu-ubuntu-2004-arm"
+ ubuntu_version: "focal"
+ arch: "arm64"
runs-on: ${{ matrix.os }}
steps:
- uses: actions/checkout@v3
diff --git a/packages/postgresml-dashboard/build.sh b/packages/postgresml-dashboard/build.sh
index 7c28999ef..50ae4d99a 100644
--- a/packages/postgresml-dashboard/build.sh
+++ b/packages/postgresml-dashboard/build.sh
@@ -1,14 +1,15 @@
#!/bin/bash
set -e
-# Parse arguments
-PACKAGE_VERSION=${1:-"2.10.0"}
-UBUNTU_VERSION=${2:-"22.04"}
+# Parse arguments with environment variable fallbacks
+PACKAGE_VERSION=${1:-${PACKAGE_VERSION:-"2.10.0"}}
+UBUNTU_VERSION=${2:-${ubuntu_version:-$(lsb_release -rs)}}
+ARCH=${3:-${ARCH:-$(arch | sed 's/x86_64/amd64/; s/aarch64/arm64/')}}
if [[ -z "$PACKAGE_VERSION" ]]; then
echo "postgresml dashboard build script"
- echo "Usage: $0 [ubuntu version]"
- echo "Example: $0 2.10.0 22.04"
+ echo "Usage: $0 [ubuntu version] [arch]"
+ echo "Example: $0 2.10.0 22.04 amd64"
exit 1
fi
@@ -19,12 +20,16 @@ source_dir="$dir/source"
export PACKAGE_VERSION
export UBUNTU_VERSION
-export GITHUB_STARS=$(curl -s "https://api.github.com/repos/postgresml/postgresml" | grep stargazers_count | cut -d : -f 2 | tr -d " " | tr -d ",")
-if [[ $(arch) == "x86_64" ]]; then
- export ARCH=amd64
-else
- export ARCH=arm64
-fi
+export ARCH
+
+# Fetch GitHub stars count with error handling
+GITHUB_STARS=$(curl -s "https://api.github.com/repos/postgresml/postgresml" | grep stargazers_count | cut -d : -f 2 | tr -d " " | tr -d "," || echo "0")
+export GITHUB_STARS
+
+echo "Building dashboard package:"
+echo "- Version: ${PACKAGE_VERSION}"
+echo "- Ubuntu: ${UBUNTU_VERSION}"
+echo "- Architecture: ${ARCH}"
rm -rf "$dir"
mkdir -p "$deb_dir"
@@ -33,7 +38,6 @@ cp -R ${SCRIPT_DIR}/* "$deb_dir"
rm "$deb_dir/build.sh"
rm "$deb_dir/release.sh"
-
( cd ${SCRIPT_DIR}/../../pgml-dashboard && \
cargo build --release && \
cp target/release/pgml-dashboard "$deb_dir/usr/bin/pgml-dashboard" && \
diff --git a/packages/postgresml-dashboard/release.sh b/packages/postgresml-dashboard/release.sh
index 0b5abf2a8..11a66e0f0 100644
--- a/packages/postgresml-dashboard/release.sh
+++ b/packages/postgresml-dashboard/release.sh
@@ -10,17 +10,38 @@ if [[ -z "$package_version" ]]; then
exit 1
fi
-# Active LTS Ubuntu versions and their codenames
-declare -A ubuntu_versions=(
- ["20.04"]="focal"
- ["22.04"]="jammy"
- ["24.04"]="noble"
-)
+# Set architecture based on system unless overridden by environment
+if [[ -z "${ARCH}" ]]; then
+ if [[ $(arch) == "x86_64" ]]; then
+ export ARCH=amd64
+ else
+ export ARCH=arm64
+ fi
+fi
+
+# Get Ubuntu version from environment or try to detect it
+if [[ -z "${ubuntu_version}" ]]; then
+ ubuntu_version=$(lsb_release -rs)
+ echo "No ubuntu_version specified, detected: ${ubuntu_version}"
+fi
-# Supported architectures
-declare -a architectures=("amd64" "arm64")
+# Map version number to codename
+case "${ubuntu_version}" in
+ "20.04")
+ export CODENAME="focal"
+ ;;
+ "22.04")
+ export CODENAME="jammy"
+ ;;
+ "24.04")
+ export CODENAME="noble"
+ ;;
+ *)
+ echo "Error: Unsupported Ubuntu version: ${ubuntu_version}"
+ exit 1
+ ;;
+esac
-# Install deb-s3 if not present
if ! which deb-s3; then
curl -sLO https://github.com/deb-s3/deb-s3/releases/download/0.11.4/deb-s3-0.11.4.gem
sudo gem install deb-s3-0.11.4.gem
@@ -28,37 +49,25 @@ if ! which deb-s3; then
fi
function package_name() {
- local ubuntu_version=$1
- local arch=$2
- echo "postgresml-dashboard-${package_version}-ubuntu${ubuntu_version}-${arch}.deb"
+ echo "postgresml-dashboard-${package_version}-ubuntu${ubuntu_version}-${ARCH}.deb"
}
-# Loop through Ubuntu versions
-for ubuntu_version in "${!ubuntu_versions[@]}"; do
- codename=${ubuntu_versions[$ubuntu_version]}
- echo "Building packages for Ubuntu ${ubuntu_version} (${codename})"
+echo "Building package for Ubuntu ${ubuntu_version} (${CODENAME}) ${ARCH}"
- # Loop through architectures
- for arch in "${architectures[@]}"; do
- echo "Building for architecture: ${arch}"
- export ARCH=${arch}
+# Build the package
+bash ${SCRIPT_DIR}/build.sh "$package_version" "$ubuntu_version" "$ARCH"
- # Build the dashboard package
- bash ${SCRIPT_DIR}/build.sh "$package_version" "$ubuntu_version"
-
- if [[ ! -f $(package_name ${ubuntu_version} ${arch}) ]]; then
- echo "File $(package_name ${ubuntu_version} ${arch}) doesn't exist"
- exit 1
- fi
+if [[ ! -f $(package_name) ]]; then
+ echo "File $(package_name) doesn't exist"
+ exit 1
+fi
- # Upload to S3
- deb-s3 upload \
- --lock \
- --bucket apt.postgresml.org \
- $(package_name ${ubuntu_version} ${arch}) \
- --codename ${codename}
+# Upload to S3
+deb-s3 upload \
+ --lock \
+ --bucket apt.postgresml.org \
+ $(package_name) \
+ --codename ${CODENAME}
- # Clean up the package file
- rm $(package_name ${ubuntu_version} ${arch})
- done
-done
+# Clean up the package file
+rm $(package_name)
diff --git a/packages/postgresml-python/build.sh b/packages/postgresml-python/build.sh
index b7f1167ce..dc1d8619c 100644
--- a/packages/postgresml-python/build.sh
+++ b/packages/postgresml-python/build.sh
@@ -4,29 +4,25 @@ set -e
SCRIPT_DIR=$( cd -- "$( dirname -- "${BASH_SOURCE[0]}" )" &> /dev/null && pwd )
deb_dir="/tmp/postgresml-python/deb-build"
-# Parse arguments with defaults
-export PACKAGE_VERSION=${1:-"2.10.0"}
-export UBUNTU_VERSION=${2:-"22.04"}
-export PYTHON_VERSION=${3:-"3.10"}
+# Parse arguments with environment variable fallbacks
+export PACKAGE_VERSION=${1:-${PACKAGE_VERSION:-"2.10.0"}}
+export UBUNTU_VERSION=${2:-${ubuntu_version:-$(lsb_release -rs)}}
+export PYTHON_VERSION=${3:-${PYTHON_VERSION:-"3.10"}}
-# Handle architecture
-if [[ $(arch) == "x86_64" ]]; then
- export ARCH=amd64
-else
- export ARCH=arm64
+# Set architecture from environment or detect it
+if [[ -z "${ARCH}" ]]; then
+ if [[ $(arch) == "x86_64" ]]; then
+ export ARCH=amd64
+ else
+ export ARCH=arm64
+ fi
fi
-# Map Ubuntu versions to Python versions if needed
-# For example: Ubuntu 20.04 uses Python 3.8 by default
-declare -A ubuntu_python_versions=(
- ["20.04"]="3.8"
- ["22.04"]="3.10"
- ["24.04"]="3.11"
-)
-
-if [[ -z "$3" ]]; then
- PYTHON_VERSION=${ubuntu_python_versions[$UBUNTU_VERSION]:-"3.10"}
-fi
+echo "Building package:"
+echo "- Package Version: ${PACKAGE_VERSION}"
+echo "- Ubuntu Version: ${UBUNTU_VERSION}"
+echo "- Python Version: ${PYTHON_VERSION}"
+echo "- Architecture: ${ARCH}"
rm -rf "$deb_dir"
mkdir -p "$deb_dir"
@@ -35,17 +31,21 @@ cp -R ${SCRIPT_DIR}/* "$deb_dir"
rm "$deb_dir/build.sh"
rm "$deb_dir/release.sh"
+# Process template files
(cat ${SCRIPT_DIR}/DEBIAN/control | envsubst '${PACKAGE_VERSION} ${UBUNTU_VERSION} ${ARCH} ${PYTHON_VERSION}') > "$deb_dir/DEBIAN/control"
(cat ${SCRIPT_DIR}/DEBIAN/postinst | envsubst '${PGVERSION} ${PYTHON_VERSION}') > "$deb_dir/DEBIAN/postinst"
(cat ${SCRIPT_DIR}/DEBIAN/prerm | envsubst '${PGVERSION} ${PYTHON_VERSION}') > "$deb_dir/DEBIAN/prerm"
(cat ${SCRIPT_DIR}/DEBIAN/postrm | envsubst '${PGVERSION} ${PYTHON_VERSION}') > "$deb_dir/DEBIAN/postrm"
+# Copy appropriate requirements file based on architecture
if [[ "$ARCH" == "amd64" ]]; then
cp ${SCRIPT_DIR}/../../pgml-extension/requirements.linux.txt "$deb_dir/etc/postgresml-python/requirements.txt"
else
cp ${SCRIPT_DIR}/../../pgml-extension/requirements.macos.txt "$deb_dir/etc/postgresml-python/requirements.txt"
fi
+# Create and populate virtualenv
+echo "Creating Python virtual environment with Python ${PYTHON_VERSION}"
virtualenv --python="python${PYTHON_VERSION}" "$deb_dir/var/lib/postgresml-python/pgml-venv"
source "$deb_dir/var/lib/postgresml-python/pgml-venv/bin/activate"
diff --git a/packages/postgresml-python/release.sh b/packages/postgresml-python/release.sh
index 3420b2628..8ccbb9e03 100644
--- a/packages/postgresml-python/release.sh
+++ b/packages/postgresml-python/release.sh
@@ -10,17 +10,41 @@ if [[ -z "$package_version" ]]; then
exit 1
fi
-# Active LTS Ubuntu versions and their codenames
-declare -A ubuntu_versions=(
- ["20.04"]="focal"
- ["22.04"]="jammy"
- ["24.04"]="noble"
-)
+# Set architecture based on system unless overridden by environment
+if [[ -z "${ARCH}" ]]; then
+ if [[ $(arch) == "x86_64" ]]; then
+ export ARCH=amd64
+ else
+ export ARCH=arm64
+ fi
+fi
+
+# Get Ubuntu version from environment or try to detect it
+if [[ -z "${ubuntu_version}" ]]; then
+ ubuntu_version=$(lsb_release -rs)
+ echo "No ubuntu_version specified, detected: ${ubuntu_version}"
+fi
-# Supported architectures
-declare -a architectures=("amd64" "arm64")
+# Map version number to codename
+case "${ubuntu_version}" in
+ "20.04")
+ export CODENAME="focal"
+ export PYTHON_VERSION="3.8"
+ ;;
+ "22.04")
+ export CODENAME="jammy"
+ export PYTHON_VERSION="3.10"
+ ;;
+ "24.04")
+ export CODENAME="noble"
+ export PYTHON_VERSION="3.11"
+ ;;
+ *)
+ echo "Error: Unsupported Ubuntu version: ${ubuntu_version}"
+ exit 1
+ ;;
+esac
-# Install deb-s3 if not present
if ! which deb-s3; then
curl -sLO https://github.com/deb-s3/deb-s3/releases/download/0.11.4/deb-s3-0.11.4.gem
sudo gem install deb-s3-0.11.4.gem
@@ -31,37 +55,26 @@ fi
sudo apt install python3-pip python3 python3-virtualenv -y
function package_name() {
- local ubuntu_version=$1
- local arch=$2
- echo "postgresml-python-${package_version}-ubuntu${ubuntu_version}-${arch}.deb"
+ echo "postgresml-python-${package_version}-ubuntu${ubuntu_version}-${ARCH}.deb"
}
-# Loop through Ubuntu versions
-for ubuntu_version in "${!ubuntu_versions[@]}"; do
- codename=${ubuntu_versions[$ubuntu_version]}
- echo "Building packages for Ubuntu ${ubuntu_version} (${codename})"
+echo "Building package for Ubuntu ${ubuntu_version} (${CODENAME}) ${ARCH}"
+echo "Using Python version: ${PYTHON_VERSION}"
- # Loop through architectures
- for arch in "${architectures[@]}"; do
- echo "Building for architecture: ${arch}"
- export ARCH=${arch}
+# Build the Python package
+bash ${SCRIPT_DIR}/build.sh "$package_version" "$ubuntu_version" "$PYTHON_VERSION"
- # Build the Python package
- bash ${SCRIPT_DIR}/build.sh "$package_version" "$ubuntu_version"
-
- if [[ ! -f $(package_name ${ubuntu_version} ${arch}) ]]; then
- echo "File $(package_name ${ubuntu_version} ${arch}) doesn't exist"
- exit 1
- fi
+if [[ ! -f $(package_name) ]]; then
+ echo "File $(package_name) doesn't exist"
+ exit 1
+fi
- # Upload to S3
- deb-s3 upload \
- --lock \
- --bucket apt.postgresml.org \
- $(package_name ${ubuntu_version} ${arch}) \
- --codename ${codename}
+# Upload to S3
+deb-s3 upload \
+ --lock \
+ --bucket apt.postgresml.org \
+ $(package_name) \
+ --codename ${CODENAME}
- # Clean up the package file
- rm $(package_name ${ubuntu_version} ${arch})
- done
-done
+# Clean up the package file
+rm $(package_name)
diff --git a/packages/postgresml/build.sh b/packages/postgresml/build.sh
index 4e0f224ba..92c7aa50d 100644
--- a/packages/postgresml/build.sh
+++ b/packages/postgresml/build.sh
@@ -3,9 +3,15 @@ set -e
SCRIPT_DIR=$( cd -- "$( dirname -- "${BASH_SOURCE[0]}" )" &> /dev/null && pwd )
-export PACKAGE_VERSION=${1:-"2.10.0"}
-export PGVERSION=${2:-"17"}
-export UBUNTU_VERSION=${3:-"24.04"}
+# Parse arguments with environment variable fallbacks
+export PACKAGE_VERSION=${1:-${PACKAGE_VERSION:-"2.10.0"}}
+export PGVERSION=${2:-${PGVERSION:-"17"}}
+export UBUNTU_VERSION=${3:-${ubuntu_version:-$(lsb_release -rs)}}
+
+echo "Building package:"
+echo "- Package Version: ${PACKAGE_VERSION}"
+echo "- PostgreSQL Version: ${PGVERSION}"
+echo "- Ubuntu Version: ${UBUNTU_VERSION}"
deb_dir="/tmp/postgresml/deb-build"
@@ -27,4 +33,4 @@ dpkg-deb \
--root-owner-group \
-z1 \
--build "$deb_dir" \
- postgresml-${PGVERSION}-${PACKAGE_VERSION}-ubuntu${UBUNTU_VERSION}-all.deb
+ "postgresml-${PGVERSION}-${PACKAGE_VERSION}-ubuntu${UBUNTU_VERSION}-all.deb"
diff --git a/packages/postgresml/release.sh b/packages/postgresml/release.sh
index 054d18d9b..5e1381376 100644
--- a/packages/postgresml/release.sh
+++ b/packages/postgresml/release.sh
@@ -10,6 +10,29 @@ if [[ -z "$package_version" ]]; then
exit 1
fi
+# Get Ubuntu version from environment or try to detect it
+if [[ -z "${ubuntu_version}" ]]; then
+ ubuntu_version=$(lsb_release -rs)
+ echo "No ubuntu_version specified, detected: ${ubuntu_version}"
+fi
+
+# Map version number to codename
+case "${ubuntu_version}" in
+ "20.04")
+ export CODENAME="focal"
+ ;;
+ "22.04")
+ export CODENAME="jammy"
+ ;;
+ "24.04")
+ export CODENAME="noble"
+ ;;
+ *)
+ echo "Error: Unsupported Ubuntu version: ${ubuntu_version}"
+ exit 1
+ ;;
+esac
+
if ! which deb-s3; then
curl -sLO https://github.com/deb-s3/deb-s3/releases/download/0.11.4/deb-s3-0.11.4.gem
sudo gem install deb-s3-0.11.4.gem
@@ -18,39 +41,26 @@ fi
function package_name() {
local pg_version=$1
- local ubuntu_version=$2
echo "postgresml-${pg_version}-${package_version}-ubuntu${ubuntu_version}-all.deb"
}
-# Active LTS Ubuntu versions
-ubuntu_versions=("20.04" "22.04" "24.04")
-
-# Map Ubuntu versions to codenames
-declare -A ubuntu_codenames=(
- ["20.04"]="focal"
- ["22.04"]="jammy"
- ["24.04"]="noble"
-)
-
-for ubuntu_version in "${ubuntu_versions[@]}"; do
- codename=${ubuntu_codenames[$ubuntu_version]}
- echo "Building packages for Ubuntu ${ubuntu_version} (${codename})"
-
- for pg in {11..17}; do
- echo "Building PostgreSQL ${pg} package..."
- bash ${SCRIPT_DIR}/build.sh ${package_version} ${pg} ${ubuntu_version}
-
- if [[ ! -f $(package_name ${pg} ${ubuntu_version}) ]]; then
- echo "File $(package_name ${pg} ${ubuntu_version}) doesn't exist"
- exit 1
- fi
-
- deb-s3 upload \
- --lock \
- --bucket apt.postgresml.org \
- $(package_name ${pg} ${ubuntu_version}) \
- --codename ${codename}
-
- rm $(package_name ${pg} ${ubuntu_version})
- done
+echo "Building packages for Ubuntu ${ubuntu_version} (${CODENAME})"
+
+# Loop through PostgreSQL versions
+for pg in {11..17}; do
+ echo "Building PostgreSQL ${pg} package..."
+ bash ${SCRIPT_DIR}/build.sh ${package_version} ${pg} ${ubuntu_version}
+
+ if [[ ! -f $(package_name ${pg}) ]]; then
+ echo "File $(package_name ${pg}) doesn't exist"
+ exit 1
+ fi
+
+ deb-s3 upload \
+ --lock \
+ --bucket apt.postgresml.org \
+ $(package_name ${pg}) \
+ --codename ${CODENAME}
+
+ rm $(package_name ${pg})
done
diff --git a/packages/postgresql-pgml/release.sh b/packages/postgresql-pgml/release.sh
index 28d760c92..7948db9f9 100644
--- a/packages/postgresql-pgml/release.sh
+++ b/packages/postgresql-pgml/release.sh
@@ -8,19 +8,40 @@ if [[ -z "${1}" ]]; then
exit 1
fi
+# Set architecture based on system unless overridden by environment
+if [[ -z "${ARCH}" ]]; then
+ if [[ $(arch) == "x86_64" ]]; then
+ export ARCH=amd64
+ else
+ export ARCH=arm64
+ fi
+fi
+
export PACKAGE_VERSION=${1}
-# Active LTS Ubuntu versions and their codenames
-declare -A ubuntu_versions=(
- ["20.04"]="focal"
- ["22.04"]="jammy"
- ["24.04"]="noble"
-)
+# Get Ubuntu version from environment or try to detect it
+if [[ -z "${ubuntu_version}" ]]; then
+ ubuntu_version=$(lsb_release -rs)
+ echo "No ubuntu_version specified, detected: ${ubuntu_version}"
+fi
-# Supported architectures
-declare -a architectures=("amd64" "arm64")
+# Map version number to codename
+case "${ubuntu_version}" in
+ "20.04")
+ export CODENAME="focal"
+ ;;
+ "22.04")
+ export CODENAME="jammy"
+ ;;
+ "24.04")
+ export CODENAME="noble"
+ ;;
+ *)
+ echo "Error: Unsupported Ubuntu version: ${ubuntu_version}"
+ exit 1
+ ;;
+esac
-# Install deb-s3 if not present
if ! which deb-s3; then
curl -sLO https://github.com/deb-s3/deb-s3/releases/download/0.11.4/deb-s3-0.11.4.gem
sudo gem install deb-s3-0.11.4.gem
@@ -31,49 +52,37 @@ extension_dir="${SCRIPT_DIR}/../../pgml-extension"
function package_name() {
local pg_version=$1
- local ubuntu_version=$2
- local arch=$3
- echo "postgresql-pgml-${pg_version}_${PACKAGE_VERSION}-ubuntu${ubuntu_version}-${arch}.deb"
+ echo "postgresql-pgml-${pg_version}_${PACKAGE_VERSION}-ubuntu${ubuntu_version}-${ARCH}.deb"
}
-# Loop through Ubuntu versions
-for ubuntu_version in "${!ubuntu_versions[@]}"; do
- codename=${ubuntu_versions[$ubuntu_version]}
- echo "Building packages for Ubuntu ${ubuntu_version} (${codename})"
-
- # Loop through architectures
- for arch in "${architectures[@]}"; do
- echo "Building for architecture: ${arch}"
- export ARCH=${arch}
-
- # Loop through PostgreSQL versions
- for pg in {11..17}; do
- echo "Building PostgreSQL ${pg} package..."
-
- release_dir="$extension_dir/target/release/pgml-pg${pg}"
- mkdir -p "$release_dir/DEBIAN"
-
- export PGVERSION=${pg}
- # Update control file with Ubuntu version
- (cat ${SCRIPT_DIR}/DEBIAN/control |
- envsubst '${PGVERSION} ${PACKAGE_VERSION} ${ARCH}') > "$release_dir/DEBIAN/control"
-
- # Build the package
- dpkg-deb \
- --root-owner-group \
- -z1 \
- --build "$release_dir" \
- $(package_name ${pg} ${ubuntu_version} ${arch})
-
- # Upload to S3
- deb-s3 upload \
- --lock \
- --bucket apt.postgresml.org \
- $(package_name ${pg} ${ubuntu_version} ${arch}) \
- --codename ${codename}
-
- # Clean up the package file
- rm $(package_name ${pg} ${ubuntu_version} ${arch})
- done
- done
+echo "Building packages for Ubuntu ${ubuntu_version} (${CODENAME}) ${ARCH}"
+
+# Loop through PostgreSQL versions
+for pg in {11..17}; do
+ echo "Building PostgreSQL ${pg} package..."
+
+ release_dir="$extension_dir/target/release/pgml-pg${pg}"
+ mkdir -p "$release_dir/DEBIAN"
+
+ export PGVERSION=${pg}
+ # Update control file with Ubuntu version
+ (cat ${SCRIPT_DIR}/DEBIAN/control |
+ envsubst '${PGVERSION} ${PACKAGE_VERSION} ${ARCH}') > "$release_dir/DEBIAN/control"
+
+ # Build the package
+ dpkg-deb \
+ --root-owner-group \
+ -z1 \
+ --build "$release_dir" \
+ $(package_name ${pg})
+
+ # Upload to S3
+ deb-s3 upload \
+ --lock \
+ --bucket apt.postgresml.org \
+ $(package_name ${pg}) \
+ --codename ${CODENAME}
+
+ # Clean up the package file
+ rm $(package_name ${pg})
done
From 1c4744d9ec87dad0169af18ab46ef3bd4c3fba3d Mon Sep 17 00:00:00 2001
From: Montana Low
Date: Tue, 28 Jan 2025 16:51:05 -0800
Subject: [PATCH 2/9] no 11
---
.github/workflows/ubuntu-packages-and-docker-image.yml | 8 +-------
packages/postgresml/release.sh | 2 +-
packages/postgresql-pgml/release.sh | 2 +-
3 files changed, 3 insertions(+), 9 deletions(-)
diff --git a/.github/workflows/ubuntu-packages-and-docker-image.yml b/.github/workflows/ubuntu-packages-and-docker-image.yml
index 1931189c5..d30735e49 100644
--- a/.github/workflows/ubuntu-packages-and-docker-image.yml
+++ b/.github/workflows/ubuntu-packages-and-docker-image.yml
@@ -129,13 +129,7 @@ jobs:
with:
working-directory: pgml-extension
command: pgrx
- 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 --pg16=/usr/lib/postgresql/16/bin/pg_config --pg17=/usr/lib/postgresql/17/bin/pg_config
- - name: Build Postgres 11
- uses: postgresml/gh-actions-cargo@master
- with:
- working-directory: pgml-extension
- command: pgrx
- args: package --pg-config /usr/lib/postgresql/11/bin/pg_config
+ args: init --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 --pg16=/usr/lib/postgresql/16/bin/pg_config --pg17=/usr/lib/postgresql/17/bin/pg_config
- name: Build Postgres 12
uses: postgresml/gh-actions-cargo@master
with:
diff --git a/packages/postgresml/release.sh b/packages/postgresml/release.sh
index 5e1381376..0136ef1a0 100644
--- a/packages/postgresml/release.sh
+++ b/packages/postgresml/release.sh
@@ -47,7 +47,7 @@ function package_name() {
echo "Building packages for Ubuntu ${ubuntu_version} (${CODENAME})"
# Loop through PostgreSQL versions
-for pg in {11..17}; do
+for pg in {12..17}; do
echo "Building PostgreSQL ${pg} package..."
bash ${SCRIPT_DIR}/build.sh ${package_version} ${pg} ${ubuntu_version}
diff --git a/packages/postgresql-pgml/release.sh b/packages/postgresql-pgml/release.sh
index 7948db9f9..2a13cd18d 100644
--- a/packages/postgresql-pgml/release.sh
+++ b/packages/postgresql-pgml/release.sh
@@ -58,7 +58,7 @@ function package_name() {
echo "Building packages for Ubuntu ${ubuntu_version} (${CODENAME}) ${ARCH}"
# Loop through PostgreSQL versions
-for pg in {11..17}; do
+for pg in {12..17}; do
echo "Building PostgreSQL ${pg} package..."
release_dir="$extension_dir/target/release/pgml-pg${pg}"
From e241e9caeb1c8928eb2282b60639a6ac1391048a Mon Sep 17 00:00:00 2001
From: Montana Low
Date: Tue, 28 Jan 2025 16:57:41 -0800
Subject: [PATCH 3/9] unfreeze
---
packages/postgresml-python/build.sh | 19 ++++++++++++++-----
1 file changed, 14 insertions(+), 5 deletions(-)
diff --git a/packages/postgresml-python/build.sh b/packages/postgresml-python/build.sh
index dc1d8619c..2d3ad2fde 100644
--- a/packages/postgresml-python/build.sh
+++ b/packages/postgresml-python/build.sh
@@ -37,11 +37,20 @@ rm "$deb_dir/release.sh"
(cat ${SCRIPT_DIR}/DEBIAN/prerm | envsubst '${PGVERSION} ${PYTHON_VERSION}') > "$deb_dir/DEBIAN/prerm"
(cat ${SCRIPT_DIR}/DEBIAN/postrm | envsubst '${PGVERSION} ${PYTHON_VERSION}') > "$deb_dir/DEBIAN/postrm"
-# Copy appropriate requirements file based on architecture
-if [[ "$ARCH" == "amd64" ]]; then
- cp ${SCRIPT_DIR}/../../pgml-extension/requirements.linux.txt "$deb_dir/etc/postgresml-python/requirements.txt"
+# Select requirements file based on Ubuntu version and architecture
+if [[ "${UBUNTU_VERSION}" == "20.04" ]]; then
+ # Frozen requirements are not longer available on Ubuntu 20.04
+ cp ${SCRIPT_DIR}/../../pgml-extension/requirements.txt "$deb_dir/etc/postgresml-python/requirements.txt"
+ echo "Recomputing requirements.txt for Ubuntu 20.04"
else
- cp ${SCRIPT_DIR}/../../pgml-extension/requirements.macos.txt "$deb_dir/etc/postgresml-python/requirements.txt"
+ # Use frozen requirements for newer Ubuntu versions
+ if [[ "$ARCH" == "amd64" ]]; then
+ cp ${SCRIPT_DIR}/../../pgml-extension/requirements.linux.txt "$deb_dir/etc/postgresml-python/requirements.txt"
+ echo "Using frozen Linux requirements for Ubuntu ${UBUNTU_VERSION}"
+ else
+ cp ${SCRIPT_DIR}/../../pgml-extension/requirements.macos.txt "$deb_dir/etc/postgresml-python/requirements.txt"
+ echo "Using frozen macOS requirements for Ubuntu ${UBUNTU_VERSION}"
+ fi
fi
# Create and populate virtualenv
@@ -62,4 +71,4 @@ dpkg-deb \
--build "$deb_dir" \
"postgresml-python-${PACKAGE_VERSION}-ubuntu${UBUNTU_VERSION}-${ARCH}.deb"
-rm -rf "$deb_dir"
+rm -rf "$deb_dir"
\ No newline at end of file
From edbf406b6713edd82a2624dcb7ef6d8a6e605681 Mon Sep 17 00:00:00 2001
From: Montana Low
Date: Tue, 28 Jan 2025 18:13:26 -0800
Subject: [PATCH 4/9] github runners
---
.../ubuntu-packages-and-docker-image.yml | 41 ++++++++-----------
1 file changed, 16 insertions(+), 25 deletions(-)
diff --git a/.github/workflows/ubuntu-packages-and-docker-image.yml b/.github/workflows/ubuntu-packages-and-docker-image.yml
index d30735e49..0a3b77a0b 100644
--- a/.github/workflows/ubuntu-packages-and-docker-image.yml
+++ b/.github/workflows/ubuntu-packages-and-docker-image.yml
@@ -15,26 +15,23 @@ jobs:
matrix:
include:
# Ubuntu 24.04 LTS (Noble)
- - os: "buildjet-4vcpu-ubuntu-2404"
+ - os: "ubuntu-24.04"
ubuntu_version: "noble"
arch: "amd64"
- - os: "buildjet-8vcpu-ubuntu-2404-arm"
+ - os: "ubuntu-24.04-arm"
ubuntu_version: "noble"
arch: "arm64"
# Ubuntu 22.04 LTS (Jammy)
- - os: "buildjet-4vcpu-ubuntu-2204"
+ - os: "ubuntu-22.04"
ubuntu_version: "jammy"
arch: "amd64"
- - os: "buildjet-8vcpu-ubuntu-2204-arm"
+ - os: "ubuntu-22.04-arm"
ubuntu_version: "jammy"
arch: "arm64"
# Ubuntu 20.04 LTS (Focal) - Consider removing after April 2025
- - os: "buildjet-4vcpu-ubuntu-2004"
+ - os: "ubuntu-20.04"
ubuntu_version: "focal"
arch: "amd64"
- - os: "buildjet-8vcpu-ubuntu-2004-arm"
- ubuntu_version: "focal"
- arch: "arm64"
runs-on: ${{ matrix.os }}
steps:
- uses: actions/checkout@v3
@@ -188,26 +185,23 @@ jobs:
matrix:
include:
# Ubuntu 24.04 LTS (Noble)
- - os: "buildjet-4vcpu-ubuntu-2404"
+ - os: "ubuntu-24.04"
ubuntu_version: "noble"
arch: "amd64"
- - os: "buildjet-8vcpu-ubuntu-2404-arm"
+ - os: "ubuntu-24.04-arm"
ubuntu_version: "noble"
arch: "arm64"
# Ubuntu 22.04 LTS (Jammy)
- - os: "buildjet-4vcpu-ubuntu-2204"
+ - os: "ubuntu-22.04"
ubuntu_version: "jammy"
arch: "amd64"
- - os: "buildjet-8vcpu-ubuntu-2204-arm"
+ - os: "ubuntu-22.04-arm"
ubuntu_version: "jammy"
arch: "arm64"
# Ubuntu 20.04 LTS (Focal) - Consider removing after April 2025
- - os: "buildjet-4vcpu-ubuntu-2004"
+ - os: "ubuntu-20.04"
ubuntu_version: "focal"
arch: "amd64"
- - os: "buildjet-8vcpu-ubuntu-2004-arm"
- ubuntu_version: "focal"
- arch: "arm64"
runs-on: ${{ matrix.os }}
steps:
- uses: actions/checkout@v3
@@ -228,26 +222,23 @@ jobs:
matrix:
include:
# Ubuntu 24.04 LTS (Noble)
- - os: "buildjet-4vcpu-ubuntu-2404"
+ - os: "ubuntu-24.04"
ubuntu_version: "noble"
arch: "amd64"
- - os: "buildjet-8vcpu-ubuntu-2404-arm"
+ - os: "ubuntu-24.04-arm"
ubuntu_version: "noble"
arch: "arm64"
# Ubuntu 22.04 LTS (Jammy)
- - os: "buildjet-4vcpu-ubuntu-2204"
+ - os: "ubuntu-22.04"
ubuntu_version: "jammy"
arch: "amd64"
- - os: "buildjet-8vcpu-ubuntu-2204-arm"
+ - os: "ubuntu-22.04-arm"
ubuntu_version: "jammy"
arch: "arm64"
# Ubuntu 20.04 LTS (Focal) - Consider removing after April 2025
- - os: "buildjet-4vcpu-ubuntu-2004"
+ - os: "ubuntu-20.04"
ubuntu_version: "focal"
arch: "amd64"
- - os: "buildjet-8vcpu-ubuntu-2004-arm"
- ubuntu_version: "focal"
- arch: "arm64"
runs-on: ${{ matrix.os }}
steps:
- uses: actions/checkout@v3
@@ -274,7 +265,7 @@ jobs:
fail-fast: false # Let the other job finish
matrix:
include:
- - os: "buildjet-4vcpu-ubuntu-2404"
+ - os: "ubuntu-24.04"
ubuntu_version: "noble"
runs-on: ${{ matrix.os }}
defaults:
From 03cb17f11bc829f7ba25ee6e8445e6736496f8b8 Mon Sep 17 00:00:00 2001
From: Montana Low
Date: Tue, 28 Jan 2025 18:16:36 -0800
Subject: [PATCH 5/9] python
---
.../workflows/ubuntu-postgresml-python-package.yaml | 13 +++++--------
1 file changed, 5 insertions(+), 8 deletions(-)
diff --git a/.github/workflows/ubuntu-postgresml-python-package.yaml b/.github/workflows/ubuntu-postgresml-python-package.yaml
index 10dbcd07f..e10c6cc33 100644
--- a/.github/workflows/ubuntu-postgresml-python-package.yaml
+++ b/.github/workflows/ubuntu-postgresml-python-package.yaml
@@ -13,26 +13,23 @@ jobs:
matrix:
include:
# Ubuntu 24.04 LTS (Noble)
- - os: "buildjet-4vcpu-ubuntu-2404"
+ - os: "ubuntu-24.04"
ubuntu_version: "noble"
arch: "amd64"
- - os: "buildjet-8vcpu-ubuntu-2404-arm"
+ - os: "ubuntu-24.04-arm"
ubuntu_version: "noble"
arch: "arm64"
# Ubuntu 22.04 LTS (Jammy)
- - os: "buildjet-4vcpu-ubuntu-2204"
+ - os: "ubuntu-22.04"
ubuntu_version: "jammy"
arch: "amd64"
- - os: "buildjet-8vcpu-ubuntu-2204-arm"
+ - os: "ubuntu-22.04-arm"
ubuntu_version: "jammy"
arch: "arm64"
# Ubuntu 20.04 LTS (Focal) - Consider removing after April 2025
- - os: "buildjet-4vcpu-ubuntu-2004"
+ - os: "ubuntu-20.04"
ubuntu_version: "focal"
arch: "amd64"
- - os: "buildjet-8vcpu-ubuntu-2004-arm"
- ubuntu_version: "focal"
- arch: "arm64"
runs-on: ${{ matrix.os }}
steps:
- uses: actions/checkout@v3
From 6da9f48c9f22834126d1d91bc98672dbad38169d Mon Sep 17 00:00:00 2001
From: Montana Low
Date: Tue, 28 Jan 2025 18:46:53 -0800
Subject: [PATCH 6/9] 3.11
---
.../workflows/ubuntu-packages-and-docker-image.yml | 2 +-
.../workflows/ubuntu-postgresml-python-package.yaml | 13 +++++++++++++
2 files changed, 14 insertions(+), 1 deletion(-)
diff --git a/.github/workflows/ubuntu-packages-and-docker-image.yml b/.github/workflows/ubuntu-packages-and-docker-image.yml
index 0a3b77a0b..89b4dd35d 100644
--- a/.github/workflows/ubuntu-packages-and-docker-image.yml
+++ b/.github/workflows/ubuntu-packages-and-docker-image.yml
@@ -105,7 +105,7 @@ jobs:
postgresql-server-dev-12 \
postgresql-server-dev-11 \
lsb-release \
- python3.10 \
+ python3.11 \
python3-pip \
libpython3.10-dev \
python3.10-dev \
diff --git a/.github/workflows/ubuntu-postgresml-python-package.yaml b/.github/workflows/ubuntu-postgresml-python-package.yaml
index e10c6cc33..77eb2c489 100644
--- a/.github/workflows/ubuntu-postgresml-python-package.yaml
+++ b/.github/workflows/ubuntu-postgresml-python-package.yaml
@@ -33,6 +33,19 @@ jobs:
runs-on: ${{ matrix.os }}
steps:
- uses: actions/checkout@v3
+ - name: Install dependencies
+ env:
+ DEBIAN_FRONTEND: noninteractive
+ TZ: Etc/UTC
+ run: |
+ sudo add-apt-repository ppa:deadsnakes/ppa --yes
+ sudo apt update
+
+ sudo apt-get update && sudo apt-fast install -y \
+ python3.11 \
+ python3-pip \
+ libpython3.11-dev \
+ python3.11-dev
- name: Build and release package
env:
AWS_ACCESS_KEY_ID: ${{ vars.AWS_ACCESS_KEY_ID }}
From 42fbe0e3096942c8c2e6f559d6b48a22f793e210 Mon Sep 17 00:00:00 2001
From: Montana Low
Date: Tue, 28 Jan 2025 18:48:05 -0800
Subject: [PATCH 7/9] deprecated
---
.../workflows/ubuntu-packages-and-docker-image.yml | 12 ------------
.../workflows/ubuntu-postgresml-python-package.yaml | 4 ----
2 files changed, 16 deletions(-)
diff --git a/.github/workflows/ubuntu-packages-and-docker-image.yml b/.github/workflows/ubuntu-packages-and-docker-image.yml
index 89b4dd35d..eb8d8b111 100644
--- a/.github/workflows/ubuntu-packages-and-docker-image.yml
+++ b/.github/workflows/ubuntu-packages-and-docker-image.yml
@@ -28,10 +28,6 @@ jobs:
- os: "ubuntu-22.04-arm"
ubuntu_version: "jammy"
arch: "arm64"
- # Ubuntu 20.04 LTS (Focal) - Consider removing after April 2025
- - os: "ubuntu-20.04"
- ubuntu_version: "focal"
- arch: "amd64"
runs-on: ${{ matrix.os }}
steps:
- uses: actions/checkout@v3
@@ -198,10 +194,6 @@ jobs:
- os: "ubuntu-22.04-arm"
ubuntu_version: "jammy"
arch: "arm64"
- # Ubuntu 20.04 LTS (Focal) - Consider removing after April 2025
- - os: "ubuntu-20.04"
- ubuntu_version: "focal"
- arch: "amd64"
runs-on: ${{ matrix.os }}
steps:
- uses: actions/checkout@v3
@@ -235,10 +227,6 @@ jobs:
- os: "ubuntu-22.04-arm"
ubuntu_version: "jammy"
arch: "arm64"
- # Ubuntu 20.04 LTS (Focal) - Consider removing after April 2025
- - os: "ubuntu-20.04"
- ubuntu_version: "focal"
- arch: "amd64"
runs-on: ${{ matrix.os }}
steps:
- uses: actions/checkout@v3
diff --git a/.github/workflows/ubuntu-postgresml-python-package.yaml b/.github/workflows/ubuntu-postgresml-python-package.yaml
index 77eb2c489..4ef52cf49 100644
--- a/.github/workflows/ubuntu-postgresml-python-package.yaml
+++ b/.github/workflows/ubuntu-postgresml-python-package.yaml
@@ -26,10 +26,6 @@ jobs:
- os: "ubuntu-22.04-arm"
ubuntu_version: "jammy"
arch: "arm64"
- # Ubuntu 20.04 LTS (Focal) - Consider removing after April 2025
- - os: "ubuntu-20.04"
- ubuntu_version: "focal"
- arch: "amd64"
runs-on: ${{ matrix.os }}
steps:
- uses: actions/checkout@v3
From 7d41e1d4940b3db7dbb4e37d9f454b69f8f5c679 Mon Sep 17 00:00:00 2001
From: Montana Low
Date: Tue, 28 Jan 2025 18:54:00 -0800
Subject: [PATCH 8/9] fast
---
.github/workflows/ubuntu-postgresml-python-package.yaml | 3 +++
1 file changed, 3 insertions(+)
diff --git a/.github/workflows/ubuntu-postgresml-python-package.yaml b/.github/workflows/ubuntu-postgresml-python-package.yaml
index 4ef52cf49..416ed7a18 100644
--- a/.github/workflows/ubuntu-postgresml-python-package.yaml
+++ b/.github/workflows/ubuntu-postgresml-python-package.yaml
@@ -34,9 +34,12 @@ jobs:
DEBIAN_FRONTEND: noninteractive
TZ: Etc/UTC
run: |
+ sudo apt-get install -y software-properties-common
+ sudo add-apt-repository ppa:apt-fast/stable --yes
sudo add-apt-repository ppa:deadsnakes/ppa --yes
sudo apt update
+ sudo apt-get install -y apt-fast
sudo apt-get update && sudo apt-fast install -y \
python3.11 \
python3-pip \
From f4d5ab5dd7c25f4dc1671ac6d0deb3c4c3d40271 Mon Sep 17 00:00:00 2001
From: Montana Low
Date: Tue, 28 Jan 2025 20:59:59 -0800
Subject: [PATCH 9/9] yeah
---
.github/workflows/ubuntu-packages-and-docker-image.yml | 7 +++++++
.github/workflows/ubuntu-postgresml-python-package.yaml | 2 ++
2 files changed, 9 insertions(+)
diff --git a/.github/workflows/ubuntu-packages-and-docker-image.yml b/.github/workflows/ubuntu-packages-and-docker-image.yml
index eb8d8b111..c77ba497d 100644
--- a/.github/workflows/ubuntu-packages-and-docker-image.yml
+++ b/.github/workflows/ubuntu-packages-and-docker-image.yml
@@ -110,6 +110,7 @@ jobs:
curl -sLO https://github.com/deb-s3/deb-s3/releases/download/0.11.4/deb-s3-0.11.4.gem
sudo gem install deb-s3-0.11.4.gem
+ sudo dpkg --configure -a
dpkg-deb --version
- name: Install pgrx
uses: postgresml/gh-actions-cargo@master
@@ -233,6 +234,12 @@ jobs:
- uses: actions-rs/toolchain@v1
with:
toolchain: stable
+ - name: Update dependencies
+ run: |
+ curl -sLO https://github.com/deb-s3/deb-s3/releases/download/0.11.4/deb-s3-0.11.4.gem
+ sudo gem install deb-s3-0.11.4.gem
+ sudo dpkg --configure -a
+ dpkg-deb --version
- name: Build and release package
env:
AWS_ACCESS_KEY_ID: ${{ vars.AWS_ACCESS_KEY_ID }}
diff --git a/.github/workflows/ubuntu-postgresml-python-package.yaml b/.github/workflows/ubuntu-postgresml-python-package.yaml
index 416ed7a18..04bf45192 100644
--- a/.github/workflows/ubuntu-postgresml-python-package.yaml
+++ b/.github/workflows/ubuntu-postgresml-python-package.yaml
@@ -45,6 +45,8 @@ jobs:
python3-pip \
libpython3.11-dev \
python3.11-dev
+
+ sudo dpkg --configure -a
- name: Build and release package
env:
AWS_ACCESS_KEY_ID: ${{ vars.AWS_ACCESS_KEY_ID }}
--- a PPN by Garber Painting Akron. With Image Size Reduction included!Fetched URL: http://github.com/postgresml/postgresml/pull/1675.patch
Alternative Proxies:
Alternative Proxy
pFad Proxy
pFad v3 Proxy
pFad v4 Proxy