Skip to content

Ubuntu PostgresML Python package #27

Ubuntu PostgresML Python package

Ubuntu PostgresML Python package #27

name: Ubuntu PostgresML Python package
on:
workflow_dispatch:
inputs:
packageVersion:
default: "2.10.0"
workflow_call:
inputs:
packageVersion:
type: string
required: true
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_version: ["20.04", "22.04", "24.04"]
runs-on: ${{ matrix.os }}
steps:
- uses: actions/checkout@v3
- name: Build and release package
env:
AWS_ACCESS_KEY_ID: ${{ vars.AWS_ACCESS_KEY_ID }}
AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
AWS_DEFAULT_REGION: ${{ vars.AWS_DEFAULT_REGION }}
UBUNTU_VERSION: ${{ matrix.ubuntu_version }}
run: |
sudo apt update
sudo apt install -y python3-dev python3-pip python3-virtualenv software-properties-common python3-wheel-whl python3-pip-whl python3-setuptools-whl
# Add deadsnakes PPA for all Python versions
sudo add-apt-repository -y ppa:deadsnakes/ppa
sudo apt update
# Install specific Python versions based on Ubuntu target
if [[ "$UBUNTU_VERSION" == "20.04" ]]; then
sudo apt install -y python3.8 python3.8-dev python3.8-venv
elif [[ "$UBUNTU_VERSION" == "22.04" ]]; then
sudo apt install -y python3.10 python3.10-dev python3.10-venv
elif [[ "$UBUNTU_VERSION" == "24.04" ]]; then
sudo apt install -y python3.12 python3.12-dev python3.12-venv
fi
# Ensure pip is updated
python3 -m pip install --upgrade pip setuptools wheel
# Install PyTorch globally before running the build script
sudo python3 -m pip install torch
bash packages/postgresml-python/release.sh ${{ inputs.packageVersion }} ${{ matrix.ubuntu_version }}