-
Notifications
You must be signed in to change notification settings - Fork 0
69 lines (65 loc) · 3.04 KB
/
Copy pathMainDistributionPipeline.yml
File metadata and controls
69 lines (65 loc) · 3.04 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
#
# This workflow calls the main distribution pipeline from DuckDB to build, test and (optionally) release the extension
#
name: Main Extension Distribution Pipeline
on:
push:
pull_request:
workflow_dispatch:
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}-${{ github.head_ref || '' }}-${{ github.base_ref || '' }}-${{ github.ref != 'refs/heads/main' && github.sha || '' }}
cancel-in-progress: true
# jobs:
# duckdb-stable-build:
# name: Build extension binaries
# uses: duckdb/extension-ci-tools/.github/workflows/_extension_distribution.yml@v1.5.5
# with:
# duckdb_version: v1.5.5
# ci_tools_version: v1.5.5
# extension_name: vgi
jobs:
header-hygiene:
name: Header hygiene (fan-out guardrail)
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Enforce heavy-include denylist on hub headers
# Fails if a guarded hub header (see GUARDED_HEADERS in the script /
# CLAUDE.md "Header hygiene") transitively pulls in the Arrow umbrella.
# Pure source scan — no build needed.
run: python3 scripts/header_reach.py --check
duckdb-stable-build:
name: Build extension binaries
uses: Query-farm-haybarn/haybarn-extension-ci-tools/.github/workflows/_extension_distribution.yml@haybarn
secrets:
vcpkg_token: ${{ secrets.HAYBARN_VCPKG_TOKEN }}
with:
duckdb_version: haybarn-v1.5.5-rc1
ci_tools_version: haybarn
override_ci_tools_repository: 'Query-farm-haybarn/haybarn-extension-ci-tools'
extension_name: vgi
use_prebuilt_images: true
use_prebuilt_wasm_image: true
# The embedded Iroh connector is compiled from the pinned Rust source as
# part of the extension, so both native Linux and WASM builders need the
# prebuilt image variants that contain Cargo. `extra_toolchains` controls
# inline image builds, but does not alter an already-published image.
image_variant: rust
wasm_image_variant: rust
prebuilt_image_tag: v1.5.5
extra_toolchains: parser_tools;rust
# NOTE: this pipeline does NOT run the VGI integration suite.
#
# Every integration .test file carries `require-env VGI_TEST_WORKER`, so
# with no worker on the runner all ~300 SKIP and this job means "built +
# header-clean" — nothing more. That is a real gap, and it is covered by
# .github/workflows/integration.yml instead, which owns its own steps and
# can therefore install the fixture workers before testing.
#
# It was briefly attempted here, via `test_env_variables` plus a
# `ci_fixtures` prerequisite on the inherited `make test_<type>` target.
# It cannot work: the reusable distribution workflow exposes no hook that
# runs a COMMAND before the test step, and on the Linux leg the tests run
# inside `docker run ... make test_release`, a fresh container the install
# never reached. The result was worse than skipping — VGI_TEST_WORKER was
# set, so ~300 tests FAILED against a worker path that did not exist.