stabilize and unshare ordered_append test #29570
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: 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: | | |
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: 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: | | |
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: 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: | | |
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 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 | |
git reset --hard | |
./scripts/clang_format_all.sh | |
git diff --exit-code | |
- name: FIXME annotations left in code (use TODO for long-term notes) | |
if: always() | |
run: | | |
! grep fixme -niR ./* | |
python_checks: | |
name: Check Python code in tree | |
runs-on: ubuntu-latest | |
steps: | |
- name: Install prerequisites | |
run: | | |
pip install --upgrade pip | |
pip install black prospector pylint dodgy \ | |
mccabe pycodestyle pyflakes \ | |
psutil pygithub pglast 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 | |
pip list | |
pip list --user | |
- name: Checkout source | |
uses: actions/checkout@v4 | |
- 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: ubuntu-24.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 | |