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+ STATIC_OPENSSL : 1
58+
59+ steps :
60+ - uses : actions/checkout@v4
61+ with :
62+ fetch-depth : 0
63+ ref : ${{ inputs.git_ref }}
64+
65+ - uses : actions/setup-python@v5
66+ with :
67+ python-version : ' 3.12'
68+
69+ - name : Install Ninja
70+ run : brew install ninja
71+
72+ - name : Setup Ccache
73+ uses : hendrikmuhs/ccache-action@main
74+ with :
75+ key : ${{ github.job }}
76+ save : ${{ github.ref == 'refs/heads/main' || github.repository != 'duckdb/ipdb' }}
77+
78+ - name : Install pytest
79+ run : |
80+ python -m pip install pytest
81+
82+ - name : Build
83+ shell : bash
84+ run : make
85+
86+ - name : Print platform
87+ shell : bash
88+ run : ./build/release/ipdb -c "PRAGMA platform;"
89+
90+ # from https://docs.github.com/en/actions/deployment/deploying-xcode-applications/installing-an-apple-certificate-on-macos-runners-for-xcode-development
91+ # - name: Sign Binaries
92+ # shell: bash
93+ # env:
94+ # BUILD_CERTIFICATE_BASE64: ${{ secrets.OSX_CODESIGN_BUILD_CERTIFICATE_BASE64 }}
95+ # P12_PASSWORD: ${{ secrets.OSX_CODESIGN_P12_PASSWORD }}
96+ # KEYCHAIN_PASSWORD: ${{ secrets.OSX_CODESIGN_KEYCHAIN_PASSWORD }}
97+ # run: |
98+ # if [[ "$GITHUB_REPOSITORY" = "duckdb/duckdb" ]] ; then
99+ # . scripts/osx_import_codesign_certificate.sh
100+
101+ # codesign --all-architectures --force --sign "Developer ID Application: Stichting DuckDB Foundation" build/release/duckdb
102+ # codesign --all-architectures --force --sign "Developer ID Application: Stichting DuckDB Foundation" build/release/src/libduckdb*.dylib
103+ # fi
104+
105+ - name : Deploy
106+ shell : bash
107+ env :
108+ AWS_ACCESS_KEY_ID : ${{ secrets.S3_DUCKDB_STAGING_ID }}
109+ AWS_SECRET_ACCESS_KEY : ${{ secrets.S3_DUCKDB_STAGING_KEY }}
110+ run : |
111+ python scripts/amalgamation.py
112+ zip -j ipdb_cli-osx-universal.zip build/release/ipdb
113+
114+ - uses : actions/upload-artifact@v4
115+ with :
116+ name : duckdb-binaries-osx
117+ path : |
118+ duckdb_cli-osx-universal.zip
119+
120+
0 commit comments