69 lines
1.9 KiB
YAML
69 lines
1.9 KiB
YAML
name: Extension Build and Deploy
|
|
on:
|
|
workflow_call:
|
|
inputs:
|
|
artifact_prefix:
|
|
required: true
|
|
type: string
|
|
extension_config:
|
|
required: true
|
|
type: string
|
|
exclude_archs:
|
|
required: false
|
|
type: string
|
|
default: ''
|
|
extra_toolchains:
|
|
required: false
|
|
type: string
|
|
default: ""
|
|
duckdb_ref:
|
|
required: false
|
|
type: string
|
|
default: ""
|
|
override_tag:
|
|
required: false
|
|
type: string
|
|
default: ""
|
|
skip_tests:
|
|
required: false
|
|
type: boolean
|
|
default: false
|
|
save_cache:
|
|
required: false
|
|
type: boolean
|
|
default: false
|
|
|
|
jobs:
|
|
build:
|
|
name: Build
|
|
uses: duckdb/extension-ci-tools/.github/workflows/_extension_distribution.yml@main
|
|
with:
|
|
# We piggy-back extension-template to build the extensions in extension_config, it's hacky, but it works ¯\_(ツ)_/¯
|
|
override_repository: duckdb/extension-template
|
|
override_ref: v1.4-andium
|
|
|
|
# Note when `upload_all_extensions` is true, the extension name is used as prefix to the artifact holding all built extensions
|
|
upload_all_extensions: true
|
|
extension_name: ${{ inputs.artifact_prefix }}
|
|
|
|
# DuckDB version is overridden to the current commit of the current repository
|
|
set_caller_as_duckdb: true
|
|
duckdb_version: ${{ github.sha }}
|
|
|
|
# CI tools is pinned to main
|
|
override_ci_tools_repository: duckdb/extension-ci-tools
|
|
ci_tools_version: main
|
|
|
|
exclude_archs: ${{ inputs.exclude_archs }}
|
|
|
|
extra_toolchains: ${{ inputs.extra_toolchains }}
|
|
use_merged_vcpkg_manifest: '1'
|
|
|
|
duckdb_tag: ${{ inputs.override_tag }}
|
|
|
|
skip_tests: ${{ inputs.skip_tests }}
|
|
save_cache: ${{ inputs.save_cache }}
|
|
|
|
# The extension_config.cmake configuration that gets built
|
|
extra_extension_config: ${{ inputs.extension_config }}
|