Add ts_stat_statements support on Jobs #24747
Workflow file for this run
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: Code style | |
"on": | |
push: | |
branches: | |
- main | |
- prerelease_test | |
pull_request: | |
jobs: | |
cmake_checks: | |
name: Check CMake files | |
runs-on: ubuntu-22.04 | |
steps: | |
- name: Install prerequisites | |
run: pip install cmakelang | |
- name: Checkout source | |
uses: actions/checkout@v4 | |
- name: Run format on CMake files | |
run: | | |
find -name CMakeLists.txt -exec cmake-format -i {} + | |
find src test tsl -name '*.cmake' -exec cmake-format -i {} + | |
- name: Check for diff | |
run: git diff --exit-code | |
perl_checks: | |
name: Check Perl code in tree | |
runs-on: ubuntu-22.04 | |
steps: | |
- name: Install prerequisites | |
run: sudo apt install perltidy | |
- name: Checkout source | |
uses: actions/checkout@v4 | |
- 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: | | |
find . -name '*.p[lm]' -exec perltidy -b -bext=/ {} + | |
git diff --exit-code | |
yaml_checks: | |
name: Check YAML code in tree | |
runs-on: ubuntu-latest | |
steps: | |
- name: Install prerequisites | |
run: | | |
pip install yamllint | |
- name: Checkout source | |
uses: actions/checkout@v4 | |
- name: Run yamllint | |
run: | | |
find . -type f \( -name "*.yaml" -or -name "*.yml" \) -print -exec yamllint {} \+ | |
spelling_checks: | |
name: Check spelling | |
runs-on: ubuntu-latest | |
steps: | |
- name: Install prerequisites | |
run: | | |
pip install codespell | |
- name: Checkout source | |
uses: actions/checkout@v4 | |
- 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: ubuntu-22.04 | |
strategy: | |
fail-fast: false | |
steps: | |
- name: Checkout source | |
uses: actions/checkout@v4 | |
- name: Check trailing whitespace | |
if: always() | |
run: | | |
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 apt install clang-format-14 | |
sudo update-alternatives --install /usr/bin/clang-format clang-format /usr/bin/clang-format-14 100 | |
sudo update-alternatives --set clang-format /usr/bin/clang-format-14 | |
./scripts/clang_format_all.sh | |
git diff --exit-code | |
python_checks: | |
name: Check Python code in tree | |
runs-on: ubuntu-latest | |
steps: | |
- name: Install prerequisites | |
run: | | |
pip install --upgrade pip | |
# Inexplicably, at some point pip started to insist on installing | |
# prospector==1.7.7, which is incompatible with the new pylint. | |
# Also pin the version of the other tools so that they don't fail | |
# sporadically when a new version becomes available. | |
pip install black prospector==1.8.4 pylint==2.16.0 dodgy==0.2.1 \ | |
mccabe==0.7.0 pycodestyle==2.9.1 pyflakes==2.5.0 \ | |
psutil pygithub pglast | |
pip list | |
pip list --user | |
# Using e375302a until 1.10.1 get released including the following PR | |
# https://github.com/postgrespro/testgres/pull/125 | |
- name: Checkout testgres | |
uses: actions/checkout@v4 | |
with: | |
repository: 'postgrespro/testgres' | |
path: 'testgres' | |
ref: e375302a114cd4df3ceed54d6526f250c44c08e7 | |
- name: Build and install testgres | |
run: | | |
cd testgres | |
python setup.py install --user | |
- name: Checkout source | |
uses: actions/checkout@v4 | |
- name: Run prospector | |
run: | | |
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: ubuntu-22.04 | |
strategy: | |
fail-fast: false | |
steps: | |
- name: Checkout source | |
if: always() | |
uses: actions/checkout@v4 | |
- 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_unecessary_template_tests.sh | |