Merge pull request #145 from Maxxen/dev #184
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: Windows | |
on: | |
push: | |
paths-ignore: | |
- '**/README.md' | |
pull_request: | |
paths-ignore: | |
- '**/README.md' | |
repository_dispatch: | |
concurrency: | |
group: ${{ github.workflow }}-${{ github.ref }}-${{ github.head_ref || '' }}-${{ github.base_ref || '' }}-${{ github.ref != 'refs/heads/main' || github.sha }} | |
cancel-in-progress: true | |
defaults: | |
run: | |
shell: bash | |
jobs: | |
windows: | |
name: Release | |
runs-on: windows-latest | |
strategy: | |
matrix: | |
# Add commits/tags to build against other DuckDB versions | |
duckdb_version: [ '<submodule_version>', 'v0.9.1' ] | |
vcpkg_version: [ '2023.04.15' ] | |
vcpkg_triplet: ['x64-windows'] | |
env: | |
VCPKG_TARGET_TRIPLET: ${{ matrix.vcpkg_triplet }} | |
GEN: Ninja | |
VCPKG_ROOT: ${{ github.workspace }}\vcpkg | |
VCPKG_TOOLCHAIN_PATH: ${{ github.workspace }}\vcpkg\scripts\buildsystems\vcpkg.cmake | |
steps: | |
- uses: actions/checkout@v3 | |
with: | |
fetch-depth: 0 | |
submodules: 'true' | |
- name: Setup vcpkg | |
uses: lukka/run-vcpkg@v11 | |
with: | |
vcpkgGitCommitId: 501db0f17ef6df184fcdbfbe0f87cde2313b6ab1 | |
- name: Setup Python | |
uses: actions/setup-python@v2 | |
with: | |
python-version: '3.7' | |
- name: Setup CCache | |
uses: hendrikmuhs/ccache-action@main | |
with: | |
key: ${{ runner.os }}-${{ github.job }} | |
- name: Checkout DuckDB to version | |
# Add commits/tags to build against other DuckDB versions | |
if: ${{ matrix.duckdb_version != '<submodule_version>'}} | |
run: | | |
cd duckdb | |
git checkout ${{ matrix.duckdb_version }} | |
- name: Build extension | |
run: | | |
make release | |
build/release/test/Release/unittest.exe | |
env: | |
# Disable building shell. Since it includes sqlite3 which we statically link to as well it causes a conflict | |
# and the build fails. Fixing this is a bit more involved so for now we just disable building the shell on windows. | |
BUILD_SHELL: 0 | |
- uses: actions/upload-artifact@v2 | |
with: | |
name: windows-amd64-extensions-${{ matrix.duckdb_version == '<submodule_version>' && 'latest' || matrix.duckdb_version }} | |
path: | | |
build/release/extension/spatial/spatial.duckdb_extension | |
- name: Deploy | |
env: | |
AWS_ACCESS_KEY_ID: ${{ secrets.S3_DEPLOY_ID }} | |
AWS_SECRET_ACCESS_KEY: ${{ secrets.S3_DEPLOY_KEY }} | |
AWS_DEFAULT_REGION: ${{ secrets.S3_REGION }} | |
BUCKET_NAME: ${{ secrets.S3_BUCKET }} | |
run: | | |
cd duckdb | |
git fetch --tags | |
export DUCKDB_VERSION=`git tag --points-at HEAD` | |
export DUCKDB_VERSION=${DUCKDB_VERSION:=`git log -1 --format=%h`} | |
cd .. | |
if [[ "$AWS_ACCESS_KEY_ID" == "" ]] ; then | |
echo 'No key set, skipping' | |
elif [[ "$GITHUB_REF" =~ ^(refs/tags/v.+)$ ]] ; then | |
python -m pip install awscli | |
./scripts/extension-upload.sh spatial ${{ github.ref_name }} $DUCKDB_VERSION windows_amd64 $BUCKET_NAME true | |
elif [[ "$GITHUB_REF" =~ ^(refs/heads/main)$ ]] ; then | |
python -m pip install awscli | |
./scripts/extension-upload.sh spatial `git log -1 --format=%h` $DUCKDB_VERSION windows_amd64 $BUCKET_NAME false | |
fi |