Repository navigation
Build Package #2244
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| 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 |