Fix Path Typo in Extension's CMake Warning #2
This file contains hidden or 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: LinuxRelease | |
| on: | |
| workflow_call: | |
| inputs: | |
| override_git_describe: | |
| type: string | |
| git_ref: | |
| type: string | |
| skip_tests: | |
| type: string | |
| workflow_dispatch: | |
| inputs: | |
| override_git_describe: | |
| description: 'Version tag to override git describe' | |
| type: string | |
| git_ref: | |
| description: 'Git ref' | |
| type: string | |
| skip_tests: | |
| description: 'Pass "true" to skip tests' | |
| type: string | |
| push: | |
| branches-ignore: | |
| - 'main' | |
| - 'feature' | |
| - 'v*.*-*' | |
| paths-ignore: | |
| - '**.md' | |
| - 'test/configs/**' | |
| - 'tools/**' | |
| - '!tools/shell/**' | |
| - '.github/patches/duckdb-wasm/**' | |
| - '.github/workflows/**' | |
| - '!.github/workflows/LinuxRelease.yml' | |
| merge_group: | |
| pull_request: | |
| types: [opened, reopened, ready_for_review, converted_to_draft] | |
| paths-ignore: | |
| - '**.md' | |
| - 'test/configs/**' | |
| - 'tools/**' | |
| - '!tools/shell/**' | |
| - '.github/patches/duckdb-wasm/**' | |
| - '.github/workflows/**' | |
| - '!.github/workflows/LinuxRelease.yml' | |
| concurrency: | |
| group: linuxrelease-${{ github.workflow }}-${{ github.ref }}-${{ github.head_ref || '' }}-${{ github.base_ref || '' }}-${{ github.ref != 'refs/heads/main' || github.sha }}-${{ inputs.override_git_describe }} | |
| cancel-in-progress: true | |
| env: | |
| GH_TOKEN: ${{ secrets.GH_TOKEN }} | |
| OVERRIDE_GIT_DESCRIBE: ${{ inputs.override_git_describe }} | |
| jobs: | |
| check-draft: | |
| # We run all other jobs on PRs only if they are not draft PR | |
| if: github.event_name != 'pull_request' || github.event.pull_request.draft == false | |
| runs-on: ubuntu-24.04 | |
| steps: | |
| - name: Preliminary checks on CI | |
| run: echo "Event name is ${{ github.event_name }}" | |
| linux-release-cli: | |
| needs: | |
| - check-draft | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| config: [ { runner: ubuntu-latest, arch: amd64, image: x86_64}, {runner: ubuntu-24.04-arm, arch: arm64, image: aarch64}] | |
| name: Linux CLI (${{ matrix.config.arch }}) | |
| runs-on: ${{ matrix.config.runner }} | |
| steps: | |
| - uses: actions/checkout@v3 | |
| with: | |
| fetch-depth: 0 | |
| ref: ${{ inputs.git_ref }} | |
| - name: Install pytest | |
| run: | | |
| python3 -m pip install pytest | |
| - name: Build | |
| shell: bash | |
| run: | | |
| export PWD=`pwd` | |
| docker run \ | |
| -v$PWD:$PWD \ | |
| -e CMAKE_BUILD_PARALLEL_LEVEL=2 \ | |
| -e OVERRIDE_GIT_DESCRIBE=$OVERRIDE_GIT_DESCRIBE \ | |
| -e EXTENSION_CONFIGS="$PWD/.github/config/bundled_extensions.cmake" \ | |
| -e ENABLE_EXTENSION_AUTOLOADING=1 \ | |
| -e ENABLE_EXTENSION_AUTOINSTALL=1 \ | |
| -e BUILD_BENCHMARK=1 \ | |
| -e FORCE_WARN_UNUSED=1 \ | |
| quay.io/pypa/manylinux_2_28_${{ matrix.config.image }} \ | |
| bash -c " | |
| set -e | |
| yum install -y perl-IPC-Cmd gcc-toolset-12 gcc-toolset-12-gcc-c++ | |
| source /opt/rh/gcc-toolset-12/enable | |
| export CC=gcc | |
| export CXX=g++ | |
| git config --global --add safe.directory $PWD | |
| make -C $PWD | |
| " | |
| - name: Print platform | |
| shell: bash | |
| run: ./build/release/duckdb -c "PRAGMA platform;" | |
| - name: Deploy | |
| shell: bash | |
| env: | |
| AWS_ACCESS_KEY_ID: ${{ secrets.S3_DUCKDB_STAGING_ID }} | |
| AWS_SECRET_ACCESS_KEY: ${{ secrets.S3_DUCKDB_STAGING_KEY }} | |
| run: | | |
| python3 scripts/amalgamation.py | |
| zip -j duckdb_cli-linux-${{ matrix.config.arch }}.zip build/release/duckdb | |
| gzip -9 -k -n -c build/release/duckdb > duckdb_cli-linux-${{ matrix.config.arch }}.gz | |
| zip -j libduckdb-linux-${{ matrix.config.arch }}.zip build/release/src/libduckdb*.* src/amalgamation/duckdb.hpp src/include/duckdb.h | |
| ./scripts/upload-assets-to-staging.sh github_release libduckdb-linux-${{ matrix.config.arch }}.zip duckdb_cli-linux-${{ matrix.config.arch }}.zip duckdb_cli-linux-${{ matrix.config.arch }}.gz | |
| - uses: actions/upload-artifact@v4 | |
| with: | |
| name: duckdb-binaries-linux-${{ matrix.config.arch }} | |
| path: | | |
| libduckdb-linux-${{ matrix.config.arch }}.zip | |
| duckdb_cli-linux-${{ matrix.config.arch }}.zip | |
| duckdb_cli-linux-${{ matrix.config.arch }}.gz | |
| - name: Test | |
| shell: bash | |
| if: ${{ inputs.skip_tests != 'true' }} | |
| run: | | |
| python3 scripts/run_tests_one_by_one.py build/release/test/unittest "*" --time_execution | |
| - name: Tools Tests | |
| shell: bash | |
| if: ${{ inputs.skip_tests != 'true' }} | |
| run: | | |
| python3 -m pytest tools/shell/tests --shell-binary build/release/duckdb | |
| - name: Examples | |
| shell: bash | |
| if: ${{ inputs.skip_tests != 'true' }} | |
| run: | | |
| build/release/benchmark/benchmark_runner benchmark/micro/update/update_with_join.benchmark | |
| build/release/duckdb -c "COPY (SELECT 42) TO '/dev/stdout' (FORMAT PARQUET)" | cat | |
| upload-libduckdb-src: | |
| name: Upload libduckdb-src.zip | |
| needs: linux-release-cli | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v3 | |
| with: | |
| fetch-depth: 0 | |
| ref: ${{ inputs.git_ref }} | |
| - name: Deploy | |
| shell: bash | |
| env: | |
| AWS_ACCESS_KEY_ID: ${{ secrets.S3_DUCKDB_STAGING_ID }} | |
| AWS_SECRET_ACCESS_KEY: ${{ secrets.S3_DUCKDB_STAGING_KEY }} | |
| run: | | |
| python3 scripts/amalgamation.py | |
| zip -j libduckdb-src.zip src/amalgamation/duckdb.hpp src/amalgamation/duckdb.cpp src/include/duckdb.h src/include/duckdb_extension.h | |
| ./scripts/upload-assets-to-staging.sh github_release libduckdb-src.zip | |
| symbol-leakage: | |
| name: Symbol Leakage | |
| runs-on: ubuntu-22.04 | |
| needs: linux-release-cli | |
| if: ${{ inputs.skip_tests != 'true' }} | |
| env: | |
| GEN: ninja | |
| steps: | |
| - uses: actions/checkout@v3 | |
| with: | |
| fetch-depth: 0 | |
| ref: ${{ inputs.git_ref }} | |
| - uses: actions/setup-python@v5 | |
| with: | |
| python-version: '3.12' | |
| - name: Install Ninja | |
| shell: bash | |
| run: sudo apt-get update -y -qq && sudo apt-get install -y -qq ninja-build | |
| - name: Setup Ccache | |
| uses: hendrikmuhs/ccache-action@main | |
| with: | |
| key: ${{ github.job }} | |
| save: ${{ github.ref == 'refs/heads/main' || github.repository != 'duckdb/duckdb' }} | |
| - name: Build | |
| shell: bash | |
| run: make | |
| - name: Symbol Leakage Test | |
| shell: bash | |
| run: python3 scripts/exported_symbols_check.py build/release/src/libduckdb*.so | |
| linux-httpfs: | |
| name: Linux HTTPFS | |
| runs-on: ubuntu-22.04 | |
| needs: linux-release-cli | |
| env: | |
| CORE_EXTENSIONS: "json;parquet;tpch;tpcds;httpfs" | |
| S3_TEST_SERVER_AVAILABLE: 1 | |
| AWS_DEFAULT_REGION: eu-west-1 | |
| AWS_ACCESS_KEY_ID: minio_duckdb_user | |
| AWS_SECRET_ACCESS_KEY: minio_duckdb_user_password | |
| DUCKDB_S3_ENDPOINT: duckdb-minio.com:9000 | |
| DUCKDB_S3_USE_SSL: false | |
| HTTP_PROXY_PUBLIC: localhost:3128 | |
| TEST_PERSISTENT_SECRETS_AVAILABLE: true | |
| GEN: ninja | |
| steps: | |
| - uses: actions/checkout@v3 | |
| with: | |
| fetch-depth: 0 | |
| - uses: actions/setup-python@v5 | |
| with: | |
| python-version: '3.12' | |
| - name: Install Ninja | |
| shell: bash | |
| run: sudo apt-get update -y -qq && sudo apt-get install -y -qq ninja-build | |
| - name: Fix permissions of test secrets | |
| shell: bash | |
| run: chmod -R 700 data/secrets | |
| # TODO: fix the authenticated proxy here | |
| - name: Install and run http proxy squid | |
| shell: bash | |
| run: | | |
| sudo apt-get install squid | |
| ./scripts/run_squid.sh --port 3128 --log_dir squid_logs & | |
| - name: Setup Ccache | |
| uses: hendrikmuhs/ccache-action@main | |
| with: | |
| key: ${{ github.job }} | |
| save: ${{ github.ref == 'refs/heads/main' || github.repository != 'duckdb/duckdb' }} | |
| - name: Build | |
| shell: bash | |
| run: make | |
| - name: Start test server & run tests | |
| shell: bash | |
| run: | | |
| sudo ./scripts/install_s3_test_server.sh | |
| ./scripts/generate_presigned_url.sh | |
| source ./scripts/run_s3_test_server.sh | |
| source ./scripts/set_s3_test_server_variables.sh | |
| sleep 60 | |
| python3 scripts/get_test_list.py --file-contains 'require httpfs' --list '"*"' > test.list | |
| python3 scripts/run_tests_one_by_one.py ./build/release/test/unittest '-f test.list' | |
| python3 scripts/run_tests_one_by_one.py ./build/release/test/unittest '[secret]' |