Fix typo in error message about MERGE support on compressed hypertables #38747
Workflow file for this run
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: Code style | |
| "on": | |
| push: | |
| branches: | |
| - main | |
| - ?.*.x | |
| pull_request: | |
| jobs: | |
| cmake_checks: | |
| name: Check CMake files | |
| runs-on: timescaledb-runner-arm64 | |
| steps: | |
| - name: Install prerequisites | |
| run: pip install cmakelang | |
| - name: Checkout source | |
| uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0 | |
| - name: Run format on CMake files | |
| run: | | |
| git reset --hard | |
| find . -name CMakeLists.txt -exec cmake-format -i {} + | |
| find src test tsl -name '*.cmake' -exec cmake-format -i {} + | |
| git diff --exit-code | |
| perl_checks: | |
| name: Check Perl code in tree | |
| runs-on: timescaledb-runner-arm64 | |
| steps: | |
| - name: Install prerequisites | |
| run: sudo apt install perltidy | |
| - name: Checkout source | |
| uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0 | |
| - name: Check trailing whitespace | |
| if: always() | |
| run: | | |
| find . -name '*.p[lm]' -exec perl -pi -e 's/[ \t]+$//' {} + | |
| git diff --exit-code | |
| - name: Format Perl files, if needed | |
| if: always() | |
| run: | | |
| git reset --hard | |
| find . -name '*.p[lm]' -exec perltidy -b -bext=/ {} + | |
| git diff --exit-code | |
| yaml_checks: | |
| name: Check YAML code in tree | |
| runs-on: timescaledb-runner-arm64 | |
| steps: | |
| - name: Install prerequisites | |
| run: | | |
| pip install yamllint | |
| - name: Checkout source | |
| uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0 | |
| - name: Run yamllint | |
| run: | | |
| find . -type f \( -name "*.yaml" -or -name "*.yml" \) -print -exec yamllint {} \+ | |
| workflow_checks: | |
| name: Check GitHub Actions workflows | |
| runs-on: timescaledb-runner-arm64 | |
| env: | |
| ACTIONLINT_VERSION: 1.7.12 | |
| ACTIONLINT_SHA256: 325e971b6ba9bfa504672e29be93c24981eeb1c07576d730e9f7c8805afff0c6 | |
| steps: | |
| - name: Checkout source | |
| uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0 | |
| - name: Install actionlint | |
| run: | | |
| wget -q --tries=6 --waitretry=15 -O actionlint.tar.gz \ | |
| "https://github.com/rhysd/actionlint/releases/download/v${ACTIONLINT_VERSION}/actionlint_${ACTIONLINT_VERSION}_linux_arm64.tar.gz" | |
| echo "${ACTIONLINT_SHA256} actionlint.tar.gz" | sha256sum --check | |
| tar --extract --file actionlint.tar.gz actionlint | |
| - name: Run actionlint | |
| # The shellcheck integration is disabled for now because the existing | |
| # workflows have many unfixed shellcheck warnings. | |
| # | |
| # actionlint doesn't recognize parallel steps yet: | |
| # https://github.com/rhysd/actionlint/issues/693 | |
| run: >- | |
| ./actionlint -shellcheck= | |
| -ignore 'unexpected key "background" for step' | |
| -ignore 'step must run script with "run" section or run action with | |
| "uses" section' | |
| spelling_checks: | |
| name: Check spelling | |
| runs-on: timescaledb-runner-arm64 | |
| steps: | |
| - name: Install prerequisites | |
| run: | | |
| pip install codespell | |
| - name: Checkout source | |
| uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0 | |
| - name: Run codespell | |
| run: | | |
| find . -type f \( -name "*.c" -or -name "*.h" -or -name "*.yaml" -or -name "*.yml" -or -name "*.sh" -or -name "*.cmake" -or -name "*.py" -or -name "*.pl" -or -name "CMakeLists.txt" \) \ | |
| -exec codespell -I .github/codespell-ignore-words {} \+ | |
| cc_checks: | |
| name: Check code formatting | |
| runs-on: timescaledb-runner-arm64 | |
| strategy: | |
| fail-fast: false | |
| env: | |
| LLVM_VER: 17 | |
| steps: | |
| - name: Install Linux Dependencies | |
| timeout-minutes: 15 | |
| run: | | |
| gpg --batch --keyserver hkp://keyserver.ubuntu.com --recv-keys 15CF4D18AF4F7421 | |
| gpg --batch --export --export-options export-minimal --armor 15CF4D18AF4F7421 | sudo tee /etc/apt/trusted.gpg.d/apt.llvm.org.asc > /dev/null | |
| . /etc/os-release | |
| echo "deb https://apt.llvm.org/${VERSION_CODENAME}/ llvm-toolchain-${VERSION_CODENAME}-${LLVM_VER} main" | sudo tee /etc/apt/sources.list.d/llvm.list >/dev/null | |
| sudo apt-get update | |
| sudo apt-get install clang-format-${LLVM_VER} | |
| - name: Checkout source | |
| uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0 | |
| - name: Check trailing whitespace | |
| if: always() | |
| run: | | |
| git reset --hard | |
| find . -type f -regex '.*\.\(c\|h\|sql\|sql\.in\)$' -exec perl -pi -e 's/[ \t]+$//' {} + | |
| git diff --exit-code | |
| - name: Check code formatting | |
| if: always() | |
| run: | | |
| sudo update-alternatives --install /usr/bin/clang-format clang-format /usr/bin/clang-format-${LLVM_VER} 100 | |
| sudo update-alternatives --set clang-format /usr/bin/clang-format-${LLVM_VER} | |
| git reset --hard | |
| ./scripts/clang_format_all.sh | |
| git diff --exit-code | |
| - name: "[F]IXME annotations left in code (use TODO for long-term notes)" | |
| if: always() | |
| run: | | |
| echo '::add-matcher::.github/problem-matchers/grep.json' | |
| ! grep '[f]ixme' -niR ./* .github/workflows/* | |
| clang_tidy: | |
| name: clang-tidy | |
| runs-on: timescaledb-runner-arm64 | |
| env: | |
| LLVM_VER: 17 | |
| steps: | |
| - name: Install Linux Dependencies | |
| timeout-minutes: 15 | |
| run: | | |
| gpg --batch --keyserver hkp://keyserver.ubuntu.com --recv-keys 15CF4D18AF4F7421 | |
| gpg --batch --export --export-options export-minimal --armor 15CF4D18AF4F7421 | sudo tee /etc/apt/trusted.gpg.d/apt.llvm.org.asc > /dev/null | |
| . /etc/os-release | |
| echo "deb https://apt.llvm.org/${VERSION_CODENAME}/ llvm-toolchain-${VERSION_CODENAME}-${LLVM_VER} main" | sudo tee /etc/apt/sources.list.d/llvm.list >/dev/null | |
| sudo apt-get update | |
| sudo apt-get install clang-${LLVM_VER} lld-${LLVM_VER} clang-tidy-${LLVM_VER} | |
| sudo update-alternatives --install /usr/bin/clang-tidy clang-tidy /usr/bin/clang-tidy-${LLVM_VER} 100 | |
| sudo update-alternatives --set clang-tidy /usr/bin/clang-tidy-${LLVM_VER} | |
| sudo update-alternatives --install /usr/bin/clang clang /usr/bin/clang-${LLVM_VER} 100 | |
| sudo update-alternatives --set clang /usr/bin/clang-${LLVM_VER} | |
| - name: Checkout source | |
| uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0 | |
| - name: Read configuration | |
| id: config | |
| run: python -B .github/gh_config_reader.py | |
| # We are going to rebuild Postgres weekly, so that it doesn't suddenly break | |
| # ages after the original problem. | |
| - name: Get date for build caching | |
| id: get-date | |
| run: echo "date=$(date +"%V")" >> $GITHUB_OUTPUT | |
| - name: Get key for caching | |
| id: cache-key | |
| run: echo "key=postgresql-tidy-${{ steps.get-date.outputs.date }}-${{ hashFiles('.github/**') }}" >> $GITHUB_OUTPUT | |
| - name: Restore PostgreSQL Cache | |
| id: restore-postgresql | |
| uses: actions/cache/restore@27d5ce7f107fe9357f9df03efb73ab90386fccae # v5.0.5 | |
| with: | |
| path: install | |
| key: ${{ steps.cache-key.outputs.key }} | |
| - name: Build PostgreSQL | |
| if: steps.restore-postgresql.outputs.cache-hit != 'true' | |
| run: | | |
| wget -q --tries=6 --waitretry=15 -O postgresql.tar.bz2 \ | |
| https://ftp.postgresql.org/pub/source/v${{ steps.config.outputs.PG16_LATEST }}/postgresql-${{ steps.config.outputs.PG16_LATEST }}.tar.bz2 | |
| mkdir -p pg build-pg install | |
| tar --extract --file postgresql.tar.bz2 --directory pg --strip-components 1 | |
| cd build-pg | |
| CC=clang-${LLVM_VER} ../pg/configure --prefix=$(readlink -e "$(pwd)/../install") --with-openssl \ | |
| --without-readline --without-zlib --without-libxml --without-llvm \ | |
| --enable-cassert --enable-debug | |
| make -j$(getconf _NPROCESSORS_ONLN) install | |
| - name: Save PostgreSQL Cache | |
| if: steps.restore-postgresql.outputs.cache-matched-key == '' | |
| uses: actions/cache/save@27d5ce7f107fe9357f9df03efb73ab90386fccae # v5.0.5 | |
| with: | |
| path: install | |
| key: ${{ steps.cache-key.outputs.key }} | |
| - name: Upload config.log | |
| if: always() | |
| uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7.0.1 | |
| with: | |
| name: config.log for PostgreSQL | |
| path: build-pg/config.log | |
| - name: Run clang-tidy | |
| run: | | |
| cmake -S . -B build-ts-tidy -DCMAKE_BUILD_TYPE=Debug -DCMAKE_C_COMPILER=clang-${LLVM_VER} \ | |
| -DPG_PATH=install -DLINTER=ON -DWARNINGS_AS_ERRORS=ON | |
| make -C build-ts-tidy -j8 -k | |
| python_checks: | |
| name: Check Python code in tree | |
| runs-on: timescaledb-runner-arm64 | |
| steps: | |
| - name: Install prerequisites | |
| run: | | |
| pip install --upgrade pip | |
| pip install black prospector pylint dodgy \ | |
| mccabe pycodestyle pyflakes \ | |
| psutil pygithub testgres more_itertools | |
| # pinning snowballstemmer to version 2.2.0 due to: | |
| # https://github.com/prospector-dev/prospector/issues/763 | |
| pip install --force-reinstall --no-deps snowballstemmer==2.2.0 | |
| # pinning pglast due to build issues | |
| pip install --force-reinstall --no-deps pglast==7.16 | |
| pip list | |
| pip list --user | |
| - name: Checkout source | |
| uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0 | |
| - name: Run prospector | |
| run: | | |
| git reset --hard | |
| find . -type f -name "*.py" -print -exec prospector {} + -exec black {} + | |
| git diff --exit-code | |
| misc_checks: | |
| name: Check license, update scripts, git hooks, missing gitignore entries and unnecessary template tests | |
| runs-on: timescaledb-runner-arm64 | |
| strategy: | |
| fail-fast: false | |
| steps: | |
| - name: Install prerequisites | |
| if: always() | |
| run: | | |
| sudo apt-get update | |
| # PostgreSQL 18 is not in the Ubuntu 22.04 archives, so add the official PGDG apt repository | |
| sudo apt-get install -y postgresql-common | |
| sudo /usr/share/postgresql-common/pgdg/apt.postgresql.org.sh -y | |
| sudo apt-get install -y postgresql-server-dev-18 | |
| - name: Checkout source | |
| if: always() | |
| uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0 | |
| - name: Check license | |
| if: always() | |
| run: ./scripts/check_license_all.sh | |
| - name: Check git commit hooks | |
| if: always() | |
| run: | | |
| ./scripts/githooks/commit_msg_tests.py | |
| - name: Check for unreferenced test files | |
| if: always() | |
| run: ./scripts/check_unreferenced_files.sh | |
| - name: Check for missing gitignore entries for template test files | |
| if: always() | |
| run: | | |
| ./bootstrap | |
| ./scripts/check_missing_gitignore_for_template_tests.sh | |
| - name: Check for unnecessary template test files | |
| if: always() | |
| run: ./scripts/check_unnecessary_template_tests.sh | |
| - name: Check for orphaned output test files | |
| if: always() | |
| run: ./scripts/check_orphaned_test_output_files.sh | |