Skip to content

Modernize pg_cron 1.6.8 package builds #2246

Modernize pg_cron 1.6.8 package builds

Modernize pg_cron 1.6.8 package builds #2246

Workflow file for this run

name: Build Package
env:
MAIN_BRANCH: "debian-cron"
PACKAGE_CLOUD_REPO_NAME: "citusdata/community"
PACKAGE_CLOUD_API_TOKEN: ${{ secrets.PACKAGE_CLOUD_API_TOKEN }}
PACKAGING_SECRET_KEY: ${{ secrets.PACKAGING_SECRET_KEY }}
PACKAGING_PASSPHRASE: ${{ secrets.PACKAGING_PASSPHRASE }}
on:
push:
branches:
- "**"
workflow_dispatch:
jobs:
build_package:
name: Build package
runs-on: ubuntu-24.04
strategy:
fail-fast: false
matrix:
platform:
- debian/bookworm
- debian/trixie
- ubuntu/jammy
- ubuntu/noble
- ubuntu/resolute
steps:
- name: Checkout repository
uses: actions/checkout@v6
- name: Set up Python
uses: actions/setup-python@v6
with:
python-version: "3.12"
- name: Generate GitHub App token
id: app-token
uses: actions/create-github-app-token@v3
with:
app-id: ${{ vars.GH_APP_ID }}
private-key: ${{ secrets.GH_APP_KEY }}
owner: citusdata
- name: Export App token to environment
run: |
echo "GH_TOKEN=${{ steps.app-token.outputs.token }}" >> "$GITHUB_ENV"
echo "GITHUB_TOKEN=${{ steps.app-token.outputs.token }}" >> "$GITHUB_ENV"
- name: Clone tools branch
run: git clone -b v0.8.39 --depth=1 https://github.com/citusdata/tools.git tools
- name: Install package dependencies
run: sudo apt-get update && sudo apt-get install -y libcurl4-openssl-dev libssl-dev python3-testresources
- name: Install python requirements
run: python -m pip install -r tools/packaging_automation/requirements.txt
- name: Build packages
run: |
python -m tools.packaging_automation.citus_package \
--gh_token "${GH_TOKEN}" \
--platform "${{ matrix.platform }}" \
--build_type "release" \
--secret_key "${PACKAGING_SECRET_KEY}" \
--passphrase "${PACKAGING_PASSPHRASE}" \
--output_dir "$(pwd)/packages/" \
--input_files_dir "$(pwd)" \
--output_validation
- name: Publish packages
if: github.ref == format('refs/heads/{0}', env.MAIN_BRANCH)
run: |
python -m tools.packaging_automation.upload_to_package_cloud \
--platform "${{ matrix.platform }}" \
--package_cloud_api_token "${PACKAGE_CLOUD_API_TOKEN}" \
--repository_name "${PACKAGE_CLOUD_REPO_NAME}" \
--output_file_path "$(pwd)/packages" \
--current_branch "${GITHUB_REF_NAME}" \
--main_branch "${MAIN_BRANCH}"