Skip to content

Commit

Permalink
Merge branch 'refs/heads/main-upstream'
Browse files Browse the repository at this point in the history
  • Loading branch information
Dtenwolde committed Oct 7, 2024
2 parents eed8a89 + 5eb45e4 commit 61df723
Show file tree
Hide file tree
Showing 7 changed files with 51 additions and 15 deletions.
8 changes: 4 additions & 4 deletions .github/workflows/TestCITools.yml
Original file line number Diff line number Diff line change
Expand Up @@ -19,10 +19,10 @@ jobs:
extension_name: quack
override_repository: duckdb/extension-template
override_ref: main
duckdb_version: v1.1.0
duckdb_version: v1.1.1
override_ci_tools_repository: ${{ github.repository }}
ci_tools_version: ${{ github.sha }}
extra_toolchains: 'parser_tools;fortran;omp;go'
extra_toolchains: 'parser_tools;fortran;omp;go;python3'
custom_toolchain_script: true

delta-extension-main:
Expand All @@ -34,6 +34,6 @@ jobs:
override_ref: 94f887bd539ec0d5ed0d31bd01ff3845cf378a9d
override_ci_tools_repository: ${{ github.repository }}
ci_tools_version: ${{ github.sha }}
duckdb_version: v1.1.0
duckdb_version: v1.1.1
exclude_archs: 'wasm_mvp;wasm_eh;wasm_threads;windows_amd64_rtools;windows_amd64'
extra_toolchains: 'rust'
extra_toolchains: 'rust'
22 changes: 18 additions & 4 deletions .github/workflows/_extension_distribution.yml
Original file line number Diff line number Diff line change
Expand Up @@ -71,7 +71,7 @@ on:
type: string
default: "cwida/extension-ci-tools"
# Pass extra toolchains
# available: (rust, fortran, omp)
# available: (parser_tools, rust, fortran, omp, python3)
extra_toolchains:
required: false
type: string
Expand All @@ -95,6 +95,11 @@ on:
required: false
type: string
default: ""
# If set tot true, skip tests
skip_tests:
required: false
type: boolean
default: false
# DEPRECATED: use extra_toolchains instead
enable_rust:
required: false
Expand Down Expand Up @@ -278,7 +283,7 @@ jobs:
docker run --env-file=docker_env.txt -v `pwd`:/duckdb_build_dir -v `pwd`/ccache_dir:/ccache_dir duckdb-pgq/${{ matrix.duckdb_arch }} make release
- name: Test extension
if: ${{ matrix.duckdb_arch != 'linux_arm64' }}
if: ${{ matrix.duckdb_arch != 'linux_arm64' && inputs.skip_tests == false }}
run: |
docker run --env-file=docker_env.txt -v `pwd`:/duckdb_build_dir -v `pwd`/ccache_dir:/ccache_dir duckdb-pgq/${{ matrix.duckdb_arch }} make test
Expand Down Expand Up @@ -331,7 +336,7 @@ jobs:

- name: Install Ninja
run: |
brew install ninja
brew install ninja autoconf make libtool pkg-config automake autoconf-archive
- name: Setup Ccache
uses: hendrikmuhs/ccache-action@main
Expand Down Expand Up @@ -425,7 +430,7 @@ jobs:
make release
- name: Test Extension
if: ${{ matrix.osx_build_arch == 'x86_64'}}
if: ${{ matrix.osx_build_arch == 'x86_64' && inputs.skip_tests == false }}
shell: bash
run: |
make test
Expand Down Expand Up @@ -560,7 +565,16 @@ jobs:
run: |
bash scripts/setup-custom-toolchain.sh
- name: Build extension
if: ${{ inputs.skip_tests == true }}
env:
DUCKDB_PLATFORM: ${{ matrix.duckdb_arch }}
DUCKDB_PLATFORM_RTOOLS: ${{ matrix.duckdb_arch == 'windows_amd64_rtools' && 1 || 0 }}
run: |
make release
- name: Build & test extension
if: ${{ inputs.skip_tests == false }}
env:
DUCKDB_PLATFORM: ${{ matrix.duckdb_arch }}
DUCKDB_PLATFORM_RTOOLS: ${{ matrix.duckdb_arch == 'windows_amd64_rtools' && 1 || 0 }}
Expand Down
3 changes: 2 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,8 @@ DuckDB's [Extension Template](https://github.com/duckdb/extension-template/actio
| Extension-ci-tools Branch | DuckDB target version | Actively maintained? |
|---------------------------|-----------------------|----------------------|
| main | main | yes |
| v1.1.0 | v1.1.0 | yes |
| v1.1.1 | v1.1.1 | yes |
| v1.1.0 | v1.1.0 | no |
| v1.0.0 | v1.0.0 | no |
| v0.10.3 | v0.10.3 | no |
| v0.10.2 | v0.10.2 | no |
Expand Down
11 changes: 9 additions & 2 deletions docker/linux_amd64/Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ FROM ubuntu:18.04
# Setup the basic necessities
RUN apt-get update -y -qq
RUN apt-get install -y -qq software-properties-common
RUN apt-get install -y -qq --fix-missing ninja-build make gcc-multilib g++-multilib libssl-dev wget openjdk-8-jdk zip maven unixodbc-dev libc6-dev-i386 lib32readline6-dev libssl-dev libcurl4-gnutls-dev libexpat1-dev gettext unzip build-essential checkinstall libffi-dev curl libz-dev openssh-client pkg-config
RUN apt-get install -y -qq --fix-missing ninja-build make gcc-multilib g++-multilib libssl-dev wget openjdk-8-jdk zip maven unixodbc-dev libc6-dev-i386 lib32readline6-dev libssl-dev libcurl4-gnutls-dev libexpat1-dev gettext unzip build-essential checkinstall libffi-dev curl libz-dev openssh-client pkg-config autoconf
RUN apt-get install -y -qq ccache

# Install cmake 3.21
Expand Down Expand Up @@ -89,4 +89,11 @@ RUN case "$extra_toolchains" in \
apt-get install -y -qq golang-go \
;; \
esac
ENV PATH="/usr/local/go/bin:${PATH}"
ENV PATH="/usr/local/go/bin:${PATH}"

# Install Python3
RUN case "$extra_toolchains" in \
*\;python3\;*) \
apt-get install -y -qq python3 \
;; \
esac
9 changes: 8 additions & 1 deletion docker/linux_amd64_gcc4/Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ RUN yum install -y gcc-c++
RUN yum install -y nodejs

# Setup the basic necessities
RUN yum install -y curl zip unzip tar
RUN yum install -y curl zip unzip tar autoconf
RUN yum install -y ninja-build
RUN yum install -y perl-IPC-Cmd
RUN yum install -y ccache
Expand Down Expand Up @@ -71,3 +71,10 @@ RUN if [[ $extra_toolchains == *";go;"* ]]; then \
tar -C /usr/local -xzf go1.23.1.linux-amd64.tar.gz; \
fi
ENV PATH="/usr/local/go/bin:${PATH}"

# Install Python3
RUN case "$extra_toolchains" in \
*\;python3\;*) \
yum install -y python3; \
;; \
esac
11 changes: 9 additions & 2 deletions docker/linux_arm64/Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ FROM ubuntu:18.04
RUN apt-get update -y -qq
RUN apt-get install -y -qq software-properties-common
RUN apt-get install -y -qq --fix-missing ninja-build make gcc-multilib g++-multilib libssl-dev wget openjdk-8-jdk zip maven unixodbc-dev libc6-dev-i386 lib32readline6-dev libssl-dev libcurl4-gnutls-dev libexpat1-dev gettext unzip build-essential checkinstall libffi-dev curl libz-dev openssh-client pkg-config
RUN apt-get install -y -qq ccache
RUN apt-get install -y -qq ccache autoconf

# Setup cross compiler because GH actions does not have open source arm runners yet
RUN apt-get install -y -qq gcc-aarch64-linux-gnu g++-aarch64-linux-gnu
Expand Down Expand Up @@ -88,4 +88,11 @@ RUN case "$extra_toolchains" in \
*\;go\;*) \
apt-get install -y -qq golang-go \
;; \
esac
esac

# Install Python3
RUN case "$extra_toolchains" in \
*\;python3\;*) \
apt-get install -y -qq python3 \
;; \
esac
2 changes: 1 addition & 1 deletion makefiles/duckdb_extension.Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -89,7 +89,7 @@ test_reldebug: reldebug

# WASM config
VCPKG_EMSDK_FLAGS=-DVCPKG_CHAINLOAD_TOOLCHAIN_FILE=$(EMSDK)/upstream/emscripten/cmake/Modules/Platform/Emscripten.cmake
WASM_COMPILE_TIME_COMMON_FLAGS=-DWASM_LOADABLE_EXTENSIONS=1 -DBUILD_EXTENSIONS_ONLY=1 -DSKIP_EXTENSIONS="parquet;json" $(TOOLCHAIN_FLAGS) $(VCPKG_EMSDK_FLAGS)
WASM_COMPILE_TIME_COMMON_FLAGS=-DWASM_LOADABLE_EXTENSIONS=1 -DBUILD_EXTENSIONS_ONLY=1 $(TOOLCHAIN_FLAGS) $(VCPKG_EMSDK_FLAGS)
WASM_CXX_MVP_FLAGS=
WASM_CXX_EH_FLAGS=$(WASM_CXX_MVP_FLAGS) -fwasm-exceptions -DWEBDB_FAST_EXCEPTIONS=1
WASM_CXX_THREADS_FLAGS=$(WASM_COMPILE_TIME_EH_FLAGS) -DWITH_WASM_THREADS=1 -DWITH_WASM_SIMD=1 -DWITH_WASM_BULK_MEMORY=1 -pthread
Expand Down

0 comments on commit 61df723

Please sign in to comment.