-
Notifications
You must be signed in to change notification settings - Fork 5
75 lines (71 loc) · 2.4 KB
/
duckdb-extensions.yaml
File metadata and controls
75 lines (71 loc) · 2.4 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
70
71
72
73
74
75
name: DuckDB Extensions
on:
push:
tags:
- "rustac-duckdb-extensions-v*"
workflow_dispatch:
permissions:
contents: read
jobs:
build:
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
include:
- duckdb-platform: linux_amd64
wheel-platform: manylinux_2_28_x86_64
- duckdb-platform: linux_arm64
wheel-platform: manylinux_2_28_aarch64
- duckdb-platform: osx_amd64
wheel-platform: macosx_11_0_x86_64
- duckdb-platform: osx_arm64
wheel-platform: macosx_11_0_arm64
defaults:
run:
working-directory: duckdb-extensions
steps:
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6
- uses: astral-sh/setup-uv@08807647e7069bb48b6ef5acd8ec9567f424441b # v8.1.0
- name: Download extensions
run: uv run --only-group build scripts/download_extensions.py ${{ matrix.duckdb-platform }}
- name: Build wheel
run: uv run --only-group build python -m hatchling build -t wheel
working-directory: duckdb-extensions
- name: Tag wheel
run: >-
uv run --only-group build python -m wheel tags
--remove
--platform-tag ${{ matrix.wheel-platform }}
dist/*.whl
- uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7
with:
name: duckdb-extensions-${{ matrix.duckdb-platform }}
path: duckdb-extensions/dist
release:
runs-on: ubuntu-latest
if: ${{ startsWith(github.ref, 'refs/tags/') || github.event_name == 'workflow_dispatch' }}
needs:
- build
environment:
name: pypi
url: https://pypi.org/p/rustac-duckdb-extensions
permissions:
id-token: write
contents: write
attestations: write
steps:
- uses: actions/download-artifact@3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c # v8
with:
pattern: duckdb-extensions-*
path: dist
merge-multiple: true
- name: Generate artifact attestation
uses: actions/attest-build-provenance@a2bbfa25375fe432b6a289bc6b6cd05ecd0c4c32 # v4
with:
subject-path: "dist/*"
- name: Publish to PyPI
if: ${{ startsWith(github.ref, 'refs/tags/') }}
uses: pypa/gh-action-pypi-publish@cef221092ed1bacb1cc03d23a2d87d1d172e277b # release/v1
with:
packages-dir: dist/