summaryrefslogtreecommitdiff
path: root/Meta/lint-ci.sh
AgeCommit message (Collapse)Author
2022-09-22Meta: Remove 'time' invocation in lint-ciBen Wiederhake
Some systems don't have /usr/bin/time available, and during most runs of lint-ci we don't actually care that much about the exact timing. Therefore, let's just remove it. It's easy enough to add back in, if someone wants to investigate an issue.
2022-09-19Meta: Use time instead of /usr/bin/time in lint-ci.shBen Wiederhake
I totally overlooked that /usr/bin/time is not universal, which broke some systems. This commit instead calls 'time', allowing either a shell built-in to kick in, or a (potentially different) binary be found anywhere in the PATH.
2022-09-18Meta: Rewrite pre-commit script check-emoji in pythonBen Wiederhake
This reduces the scripts execution time from 0.57 seconds to 0.01 seconds, while also making the check a bit tighter, leaving fewer possible problems.
2022-09-18Meta: Always show the timing of commands in lint-ci.shBen Wiederhake
This should make it easier to identify slow-running scripts. While we're at it, unify the output a little bit.
2022-09-13Meta: Remove unused and outdated lint-missing-resources.sh lintBen Wiederhake
This was apparently never used by anyone except me, and currently fails silently. The script originally allowed easy inspection of potentially missing resources, but that seems no longer useful. Even after restoring the script to a working state, I found nothing with it. A somewhat usable version might be available at https://github.com/BenWiederhake/serenity/tree/historic/lint-missing-resources.sh However, there seems to be no interest in the script, so it is better to remove it.
2022-08-20Meta: Add check-emoji script to validate emoji filenamesRyan Liptak
Verifies that emoji filenames: - Contain only uppercase letters, numbers, +, and _ - Use _ and a separator between codepoints, not + - Do not include the U+FE0F emoji presentation specifier
2022-06-18Meta: Add a PNG size check to CI and pre-commit checkskleines Filmröllchen
This uses optipng to check how much size can be reduced on PNG files. If that's more than 2 KiB for at least one file, the check fails. As with other checks, it doesn't run if optipng is not installed.
2022-02-07Meta+Userland: Run the GML formatter on CI and pre-commitkleines Filmröllchen
Now that the GML formatter is both perserving comments and also mostly agrees to the existing GML style, it can be used to auto-format all the GML files in the system. This commit does not only contain the scripts for running the formatting on CI and the pre-commit hook, but also initially formats all the existing GML files so that the hook is successfull.
2021-11-05Meta: Remove useless lint-ipc-ids.sh scriptBen Wiederhake
This script was silently broken in commit 62af6cd4f9637b8937e59832f5af00f4556c496b.
2021-11-05Meta: Run IPC magic number linter during CI and pre-commitBen Wiederhake
2021-10-27Meta: Reimplement license checker in pythonBen Wiederhake
On my machine, this script took about 3.4 seconds, and was responsible for essentially all of the time taken by the precommit hook. The script is a faithful 1:1 reimplementation, even the regexes are identical. And yet, it takes about 0.02 seconds, making the pre-commit hook lightning fast again. Apparently python is just faster in this case. Fun fact: - Just reading all ~4000 files took bash about 1.2 seconds - Checking the license took another 1.8 seconds in total - Checking for math.h took another 0.4 seconds in total - Checking for '#pragma once' took another 0.4 seconds in total The timing is highly load-dependent, so they don't exactly add up to 3.4 seconds. However, it's good enough to determine that bash is no longer fit for the purpose of this script.
2021-10-10Meta: Invoke markdown-checker if available while lintingBen Wiederhake
2021-04-30Meta: pre-commit should run lint-ports.py only when Ports changeBrian Gianforcaro
Most of the existing lint-ing shell scripts have the ability to only run on the files which have actually changed. The new port lint-ing script doesn't have this functionality unfortunately. This forces us to lint ALL the ports on every single change to any other file in the system if you have the pre-commit hook setup for your git clone locally. Instead we can use pre-commit's feature to only run a hook if certain files have changed to reduce the situations in which we would run the Meta/lint-ports.py script.
2021-02-15Meta: Lint AvailablePorts.mdBen Wiederhake
As requested by popular demand ;) https://github.com/SerenityOS/serenity/pull/5325#discussion_r575657614
2021-02-01Meta: Add script that checks consistency of keymapsBen Wiederhake
2021-01-22Meta: Get building on NixOS (#5005)Jonathan Turner
2021-01-09Meta: Add flake8 to lint python filesAndrew Kaster
2021-01-03Meta: Rewrite the check-newlines-at-eof script in pythonEmanuele Torre
The bash version takes around 15 seconds to run; that is way too slow. This python3 version should take less than one second to run. :^) Also, the script will now also check .py files and .txt CMake files.
2021-01-03Meta: Add a script that makes sure files end in a newline.Emanuele Torre
This script checks .html, .css, .js, .cpp, .h, .gml and .sh files. It also makes sure that there are no black lines at the end of the files checked.
2020-12-27Meta: Run lint-prettier.sh on CILinus Groh
2020-12-27Meta: Update lint-{clang-format,shell-scripts}.sh to take a list of filesLinus Groh
This should speed up pre-commit a bit as only files that are staged will be processed, and clang-format and shellcheck are only invoked once, not for every file. When no arguments are given (e.g. on CI), it still uses 'git ls-files'.
2020-12-26Meta: Make lint-shell-scripts.sh happyAnotherTest
`${FAILURES}` -> `"${FAILURES}"`
2020-12-24Meta: Run all lint checks and report failures togetherLenny Maiorani
Problem: - The first lint check that fails results in all subsequent checks not being run. Solution: - Run all the lint checks aggregating the number of failures. - Return a non-0 exit code if any have failed.
2020-12-24Meta: Verify all AK test files are listed in CMakeLenny Maiorani
Problem: - It is possible for a new test file to be added to the `AK/Tests` directory without being added to the corresponding `CMakeLists.txt`. This results in the tests not being run. Solution: - As part of CI linting, verify that all the `AK/Tests/Test*.cpp` files are mentioned in the `CMakeLists.txt`.
2020-12-01Meta: Always check completeness of ALL_THE_DEBUG_MACROSBen Wiederhake
2020-11-08Meta: Add script that runs all lintsBen Wiederhake