1+ name : iPDbOSX
2+ on :
3+ workflow_call :
4+ inputs :
5+ override_git_describe :
6+ type : string
7+ git_ref :
8+ type : string
9+ skip_tests :
10+ type : string
11+ run_all :
12+ type : string
13+ workflow_dispatch :
14+ inputs :
15+ override_git_describe :
16+ type : string
17+ git_ref :
18+ type : string
19+ skip_tests :
20+ type : string
21+ run_all :
22+ type : string
23+ push :
24+ branches-ignore :
25+ - ' main'
26+ - ' feature'
27+ - ' v*.*-*'
28+ paths-ignore :
29+ - ' **.md'
30+ - ' tools/**'
31+ - ' !tools/shell/**'
32+ - ' .github/patches/duckdb-wasm/**'
33+ - ' .github/workflows/**'
34+ - ' !.github/workflows/iPDbOSX.yml'
35+
36+
37+ concurrency :
38+ group : osx-${{ github.workflow }}-${{ github.ref }}-${{ github.head_ref || '' }}-${{ github.base_ref || '' }}-${{ github.ref != 'refs/heads/main' || github.sha }}-${{ inputs.override_git_describe }}
39+ cancel-in-progress : true
40+
41+ env :
42+ GH_TOKEN : ${{ secrets.GH_TOKEN }}
43+ OVERRIDE_GIT_DESCRIBE : ${{ inputs.override_git_describe }}
44+
45+ jobs :
46+ xcode-release :
47+ # Builds binaries for osx_arm64 and osx_amd64
48+ name : OSX Release
49+ runs-on : macos-14
50+ env :
51+ EXTENSION_CONFIGS : ' ${GITHUB_WORKSPACE}/.github/config/bundled_extensions.cmake'
52+ ENABLE_EXTENSION_AUTOLOADING : 1
53+ ENABLE_EXTENSION_AUTOINSTALL : 1
54+ OSX_BUILD_UNIVERSAL : 1
55+ GEN : ninja
56+ ENABLE_LLM_API : 1
57+
58+ steps :
59+ - uses : actions/checkout@v4
60+ with :
61+ fetch-depth : 0
62+ ref : ${{ inputs.git_ref }}
63+
64+ - uses : actions/setup-python@v5
65+ with :
66+ python-version : ' 3.12'
67+
68+ - name : Install Ninja
69+ run : brew install ninja
70+
71+ - name : Setup Ccache
72+ uses : hendrikmuhs/ccache-action@main
73+ with :
74+ key : ${{ github.job }}
75+ save : ${{ github.ref == 'refs/heads/main' || github.repository != 'duckdb/ipdb' }}
76+
77+ - name : Install pytest
78+ run : |
79+ python -m pip install pytest
80+
81+ - name : Build
82+ shell : bash
83+ run : make
84+
85+ - name : Print platform
86+ shell : bash
87+ run : ./build/release/ipdb -c "PRAGMA platform;"
88+
89+ # from https://docs.github.com/en/actions/deployment/deploying-xcode-applications/installing-an-apple-certificate-on-macos-runners-for-xcode-development
90+ # - name: Sign Binaries
91+ # shell: bash
92+ # env:
93+ # BUILD_CERTIFICATE_BASE64: ${{ secrets.OSX_CODESIGN_BUILD_CERTIFICATE_BASE64 }}
94+ # P12_PASSWORD: ${{ secrets.OSX_CODESIGN_P12_PASSWORD }}
95+ # KEYCHAIN_PASSWORD: ${{ secrets.OSX_CODESIGN_KEYCHAIN_PASSWORD }}
96+ # run: |
97+ # if [[ "$GITHUB_REPOSITORY" = "duckdb/duckdb" ]] ; then
98+ # . scripts/osx_import_codesign_certificate.sh
99+
100+ # codesign --all-architectures --force --sign "Developer ID Application: Stichting DuckDB Foundation" build/release/duckdb
101+ # codesign --all-architectures --force --sign "Developer ID Application: Stichting DuckDB Foundation" build/release/src/libduckdb*.dylib
102+ # fi
103+
104+ - name : Deploy
105+ shell : bash
106+ env :
107+ AWS_ACCESS_KEY_ID : ${{ secrets.S3_DUCKDB_STAGING_ID }}
108+ AWS_SECRET_ACCESS_KEY : ${{ secrets.S3_DUCKDB_STAGING_KEY }}
109+ run : |
110+ python scripts/amalgamation.py
111+ zip -j ipdb_cli-osx-universal.zip build/release/ipdb
112+
113+ - uses : actions/upload-artifact@v4
114+ with :
115+ name : duckdb-binaries-osx
116+ path : |
117+ duckdb_cli-osx-universal.zip
118+
119+
0 commit comments