mirror of
https://github.com/postgresml/pgcat.git
synced 2026-03-23 09:26:30 +00:00
In #796, I noticed that the deb package was not build since an automation was missing. With this PR, I add the missing automation. I tested the workflow in my repo... when starting the workflow manually: https://github.com/MrSerth/pgcat/actions/runs/10737879151/job/29780286094 when drafting a new release: https://github.com/MrSerth/pgcat/actions/runs/10737835796/job/29780146212 Obviously, both workflows failed since I cannot upload to the APT repo. However, the version substitution for the workflow is working correctly (as shown when collapsing the first line of the "Build and release package" step).
60 lines
1.8 KiB
YAML
60 lines
1.8 KiB
YAML
name: pgcat package (deb)
|
|
|
|
on:
|
|
push:
|
|
tags:
|
|
- v*
|
|
workflow_dispatch:
|
|
inputs:
|
|
packageVersion:
|
|
default: "1.1.2-dev1"
|
|
jobs:
|
|
build:
|
|
strategy:
|
|
max-parallel: 1
|
|
fail-fast: false # Let the other job finish, or they can lock each other out
|
|
matrix:
|
|
os: ["buildjet-4vcpu-ubuntu-2204", "buildjet-4vcpu-ubuntu-2204-arm"]
|
|
|
|
runs-on: ${{ matrix.os }}
|
|
steps:
|
|
- uses: actions/checkout@v3
|
|
- name: Set package version
|
|
if: github.event_name == 'push' # For push event
|
|
run: |
|
|
TAG=${{ github.ref_name }}
|
|
echo "packageVersion=${TAG#v}" >> "$GITHUB_ENV"
|
|
- name: Set package version (manual dispatch)
|
|
if: github.event_name == 'workflow_dispatch' # For manual dispatch
|
|
run: echo "packageVersion=${{ github.event.inputs.packageVersion }}" >> "$GITHUB_ENV"
|
|
- uses: actions-rs/toolchain@v1
|
|
with:
|
|
toolchain: stable
|
|
- name: Install dependencies
|
|
env:
|
|
DEBIAN_FRONTEND: noninteractive
|
|
TZ: Etc/UTC
|
|
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
|
|
dpkg-deb --version
|
|
- 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 }}
|
|
run: |
|
|
if [[ $(arch) == "x86_64" ]]; then
|
|
export ARCH=amd64
|
|
else
|
|
export ARCH=arm64
|
|
fi
|
|
|
|
bash utilities/deb.sh ${{ env.packageVersion }}
|
|
|
|
deb-s3 upload \
|
|
--lock \
|
|
--bucket apt.postgresml.org \
|
|
pgcat-${{ env.packageVersion }}-ubuntu22.04-${ARCH}.deb \
|
|
--codename $(lsb_release -cs)
|