Skip to content

Build Package

Build Package #2244

Workflow file for this run

name: Build Package
# Temporary, nonmerging diagnostic branch: no push trigger, signing, or publication.
on:
workflow_dispatch:
permissions:
contents: read
jobs:
diagnose:
if: >-
github.event_name == 'workflow_dispatch' &&
github.ref == 'refs/heads/ihalatci-arm64-dependency-diagnostics'
name: ${{ matrix.package.name }} / ${{ matrix.target.name }} / arm64
runs-on: ubuntu-24.04-arm
strategy:
fail-fast: false
matrix:
package:
- name: citus
sha: 555499ac62ebdb2dda84899de32da1aed2d8f8bf
- name: hll
sha: f81884bc94264347199e27e2b06bbbca9f962ea1
- name: topn
sha: 6d906ead66c5164d7bcc5e7d2fd7c65c08ce4214
target:
- name: noble
platform: ubuntu/noble
- name: trixie
platform: debian/trixie
env:
PLATFORM: ${{ matrix.target.platform }}
INPUT_SHA: ${{ matrix.package.sha }}
TOOLING_SHA: c8d148549df149af05a3d73e538e12ad2814243b
# All three pinned release workflows use v0.8.36.
TOOLS_SHA: 6090091225ad4c234d569161b541a151ac13bced
defaults:
run:
shell: bash
steps:
- name: Checkout diagnostic recipe
uses: actions/checkout@v6
with:
ref: ${{ github.sha }}
persist-credentials: false
- name: Initialize evidence
run: |
mkdir evidence
test "$(uname -m)" = aarch64
- name: Checkout pinned builder tooling
uses: actions/checkout@v6
with:
ref: ${{ env.TOOLING_SHA }}
path: tooling
persist-credentials: false
- name: Checkout pinned release inputs
uses: actions/checkout@v6
with:
ref: ${{ env.INPUT_SHA }}
path: input
persist-credentials: false
- name: Checkout release tools
uses: actions/checkout@v6
with:
repository: citusdata/tools
ref: ${{ env.TOOLS_SHA }}
path: tools
persist-credentials: false
- name: Install normal release helper dependencies
run: |
sudo apt-get update
sudo apt-get install -y libcurl4-openssl-dev libssl-dev python3-testresources
python -m pip install -r tools/packaging_automation/requirements.txt
- name: Generate normal release inputs
run: python .github/scripts/arm64_dependency_diagnostics.py prepare
- name: Build only the native builder image
run: |
cd tooling
TEST=false TARGET_PLATFORM="${PLATFORM/\//,}" ./update_image \
2>&1 | tee ../evidence/image-build.log
- name: Compile unsigned release packages
id: compile
env:
GITHUB_TOKEN: ${{ github.token }}
run: python .github/scripts/arm64_dependency_diagnostics.py build
- name: Recover package and dependency evidence
if: always() && steps.compile.outcome != 'skipped'
run: python .github/scripts/arm64_dependency_diagnostics.py collect
- name: Run original release warning validator
if: always() && steps.compile.outcome != 'skipped'
run: python .github/scripts/arm64_dependency_diagnostics.py validate
- name: Remove diagnostic container
if: always()
run: python .github/scripts/arm64_dependency_diagnostics.py cleanup
- name: Redact artifact contents
id: redact
if: always()
env:
GITHUB_TOKEN: ${{ github.token }}
run: python .github/scripts/arm64_dependency_diagnostics.py redact
- name: Upload unsigned diagnostic evidence
if: always() && steps.redact.outcome == 'success'
uses: actions/upload-artifact@v4
with:
name: arm64-dependency-${{ matrix.package.name }}-${{ matrix.target.name }}-${{ github.run_id }}-${{ github.run_attempt }}
path: evidence/
if-no-files-found: error
retention-days: 7
compression-level: 0