bc0d5a3a | 05-Dec-2022 |
Patrick Williams <patrick@stwcx.xyz> |
build-unit-test-docker: sort pip installs
Signed-off-by: Patrick Williams <patrick@stwcx.xyz> Change-Id: Iffdc723cb931426559ea4e9cc36d9af7209f2588 |
200ec183 | 06-Dec-2022 |
Patrick Williams <patrick@stwcx.xyz> |
format-code: handle all files are ignored by linter
If all the files applicable to a linter have been ignored, then we should not call the linter since many executables fail if no source files are g
format-code: handle all files are ignored by linter
If all the files applicable to a linter have been ignored, then we should not call the linter since many executables fail if no source files are given as arguments.
Signed-off-by: Patrick Williams <patrick@stwcx.xyz> Change-Id: I014291d807b2ef6be7ec3c5a5d3e7a4ce1de3717
show more ...
|
785327a7 | 05-Dec-2022 |
Patrick Williams <patrick@stwcx.xyz> |
format-code: run all linters before exit
Rather than stop on the first linter that fails, run them all and collect the results. Show a summary of all the failing linters at the end.
Signed-off-by:
format-code: run all linters before exit
Rather than stop on the first linter that fails, run them all and collect the results. Show a summary of all the failing linters at the end.
Signed-off-by: Patrick Williams <patrick@stwcx.xyz> Change-Id: I6cb7d67c72025ed9e755c35b64bd43a82f066309
show more ...
|
e08ffba8 | 05-Dec-2022 |
Patrick Williams <patrick@stwcx.xyz> |
python: fix flake8 warnings and format with black
Signed-off-by: Patrick Williams <patrick@stwcx.xyz> Change-Id: Ic54f4a3ecf328b0d2c65af5cfd9eb2048d671ad5 |
26d9d2c5 | 05-Dec-2022 |
Patrick Williams <patrick@stwcx.xyz> |
format-code: halt on missing linter
From a CI perspective, we want to halt if any of the tools are missing from the docker image, as a sanity check that we did not mess that up. Add an option (--all
format-code: halt on missing linter
From a CI perspective, we want to halt if any of the tools are missing from the docker image, as a sanity check that we did not mess that up. Add an option (--allow-missing) that will simply warn and continue if any linters are missing, but halt by default.
Signed-off-by: Patrick Williams <patrick@stwcx.xyz> Change-Id: I1e39fcf80512f86679a2352a5eb29155df08162f
show more ...
|
3d29494c | 05-Dec-2022 |
Patrick Williams <patrick@stwcx.xyz> |
format-code: document current linter-config hashes
Signed-off-by: Patrick Williams <patrick@stwcx.xyz> Change-Id: Idbfe0ef20b156e75a28986035c12df97577dfd65 |
147f37ad | 04-Dec-2022 |
Patrick Williams <patrick@stwcx.xyz> |
format-code: add option to disable linter
Add an option that allows users to disable a linter. This is useful when the repository currently has code that is failing a linter (like gitlint) but you
format-code: add option to disable linter
Add an option that allows users to disable a linter. This is useful when the repository currently has code that is failing a linter (like gitlint) but you don't want the script to halt.
Signed-off-by: Patrick Williams <patrick@stwcx.xyz> Change-Id: I9bcfba475e1783e3763e45e4191728824b1ab166
show more ...
|
71b73249 | 02-Dec-2022 |
Patrick Williams <patrick@stwcx.xyz> |
format-code: call linters by file types
Revamp the format-code script to only look at git-managed files, so that we don't need to worry about subproject exclusions, and classify affected files based
format-code: call linters by file types
Revamp the format-code script to only look at git-managed files, so that we don't need to worry about subproject exclusions, and classify affected files based on their file type. Allow linters to specify the file types they are applicable to and call each applicable linter with the explicit files, rather than allowing the linter programs to do directory traversals (which causes problems in some cases).
Tested: I have ran this against every active repository in Gerrit to ensure I don't break any existing repositories with this change.
Signed-off-by: Patrick Williams <patrick@stwcx.xyz> Change-Id: I70ac6de1f9925ccd35396c894b45f16e33884551
show more ...
|
d535ecb4 | 02-Dec-2022 |
Patrick Williams <patrick@stwcx.xyz> |
format-code: simplify exclusion filter for clang
The clang-format linter calls have a custom ignore list. Write a python script for reusable git-ignore-like filtering and switch the clang-format li
format-code: simplify exclusion filter for clang
The clang-format linter calls have a custom ignore list. Write a python script for reusable git-ignore-like filtering and switch the clang-format linter call to use it.
Signed-off-by: Patrick Williams <patrick@stwcx.xyz> Change-Id: I788c0e3de55fae592318a997b676c73a7f13e74c
show more ...
|
dad9b7aa | 30-Nov-2022 |
Patrick Williams <patrick@stwcx.xyz> |
format-code: combine linter enablement logic
Each linter has unique logic for detecting if it should be enabled and finding the config file. Create a combined enable check function and allow each l
format-code: combine linter enablement logic
Each linter has unique logic for detecting if it should be enabled and finding the config file. Create a combined enable check function and allow each linter to provide directives on their requirements.
Signed-off-by: Patrick Williams <patrick@stwcx.xyz> Change-Id: I4db1d44a00076f4a84f00bd254be164a321af3c1
show more ...
|
bc85b71f | 05-Dec-2022 |
Patrick Williams <patrick@stwcx.xyz> |
format-code: fix for 'git worktree' model
Some developers use `git worktree` to avoid having separate clones of their source repo. When working in that model, `.git` is not a directory but a file w
format-code: fix for 'git worktree' model
Some developers use `git worktree` to avoid having separate clones of their source repo. When working in that model, `.git` is not a directory but a file with some magic content in it that tells git how to find the original source repo and branch. Just check for the existence of a `.git` (file or directory) rather than requiring it to explicitly be a directory.
Signed-off-by: Patrick Williams <patrick@stwcx.xyz> Change-Id: I90d01894cab38493d464da47d1ce32b5da467857
show more ...
|
3c2e747b | 18-Nov-2022 |
Andrew Geissler <geissonator@yahoo.com> |
dbus-unit-test.py: utilize tempfile.TemporaryDirectory()
This ensures the files within it and the directory is cleaned up once the python script ends. Currently this script does not remove the tempo
dbus-unit-test.py: utilize tempfile.TemporaryDirectory()
This ensures the files within it and the directory is cleaned up once the python script ends. Currently this script does not remove the temporary directory.
Signed-off-by: Andrew Geissler <geissonator@yahoo.com> Change-Id: I1e7c629dcbcf1e4341b14b9c550589b69ff12b2e
show more ...
|
903ebb22 | 17-Nov-2022 |
Andrew Geissler <geissonator@yahoo.com> |
dbus-unit-test.py: use /tmp for temporary files
Recently saw this fail starting to pop up via internal CI: dbus-daemon[7]: Failed to start message bus: Socket name too long
The issue appears to b
dbus-unit-test.py: use /tmp for temporary files
Recently saw this fail starting to pop up via internal CI: dbus-daemon[7]: Failed to start message bus: Socket name too long
The issue appears to be that the jenkins workspace, and the corresponding socket file passed to the dbus-daemon, is too long.
As this is all running within its own docker container, just use /tmp/ as a base for the temporary files and corresponding socket file.
Tested: - Verified failing jenkins CI job now passes
Signed-off-by: Andrew Geissler <geissonator@yahoo.com> Change-Id: I5ef5b2f21c9780001b5ec38921ce3b20f1610e2d
show more ...
|
001055b8 | 28-Nov-2022 |
Patrick Williams <patrick@stwcx.xyz> |
build-unit-test-docker: update linux headers to 6.0
Signed-off-by: Patrick Williams <patrick@stwcx.xyz> Change-Id: I0d34e65bb5e7ce8bd6f40e18e572a75f266dd9b2 |
330b0777 | 28-Nov-2022 |
Patrick Williams <patrick@stwcx.xyz> |
unit-test: always call global formatter
There has been some confusion about the relationship between the global and local formatters (the one here vs the one in repositories). The previous behavior
unit-test: always call global formatter
There has been some confusion about the relationship between the global and local formatters (the one here vs the one in repositories). The previous behavior was that if the local formatter existed then the global formatter was ignored. In most cases this leads to duplicative or missing functionality.
The global formatter already has some code in place for calling local formatters as secondary formatters. Leverage this and ensure the global formatter is always called.
Running the following resulted in no repositories with local formatters failing: ``` find -maxdepth 2 -name "format-code.sh" | xargs -n1 dirname | \ xargs -n1 openbmc-build-scripts/scripts/format-code.sh openbmc-build-scripts/scripts/format-code.sh entity-manager ```
I also manually inspected all of the format-code scripts and they all seem safe to utilize the global formatter as well.
Signed-off-by: Patrick Williams <patrick@stwcx.xyz> Change-Id: I88f3266062528e7fcf6ea71515c02d2d40048ae2
show more ...
|
d27ab4c5 | 27-Nov-2022 |
Patrick Williams <patrick@stwcx.xyz> |
format-code: add '--no-diff' option
When running on uncommitted content, it is helpful to avoid the output `git diff` since it is known that this will fail. Add the option so that users can run the
format-code: add '--no-diff' option
When running on uncommitted content, it is helpful to avoid the output `git diff` since it is known that this will fail. Add the option so that users can run the script and format their whole repository even on uncommitted content.
Signed-off-by: Patrick Williams <patrick@stwcx.xyz> Change-Id: Iea6c8c35eb99ab0598085e0c9cfb1edff29c7690
show more ...
|
c1513c88 | 27-Nov-2022 |
Patrick Williams <patrick@stwcx.xyz> |
format-code: improve script ergonomics
- Add getopt and help-text. - Default to `pwd` for repository. - Utilize `git rev-parse` to find repo-root if ran from subdir. - Find default config di
format-code: improve script ergonomics
- Add getopt and help-text. - Default to `pwd` for repository. - Utilize `git rev-parse` to find repo-root if ran from subdir. - Find default config directory using `${BASH_SOURCE[0]}`. - Improve and colorize logging.
Signed-off-by: Patrick Williams <patrick@stwcx.xyz> Change-Id: I925b17f65fe817d30a0932954761d3849e27a8ea
show more ...
|
38515a37 | 27-Nov-2022 |
Patrick Williams <patrick@stwcx.xyz> |
format-code: move checkers to functions
Move the checkers into functions for better maintainability and later extensibility. Since I am making changes to many lines, also reformat script using 4-st
format-code: move checkers to functions
Move the checkers into functions for better maintainability and later extensibility. Since I am making changes to many lines, also reformat script using 4-step indentation as is typical in our repos.
Signed-off-by: Patrick Williams <patrick@stwcx.xyz> Change-Id: Ib736ee3b9a32a361cb2cb280015834435d3514ce
show more ...
|
0f5f0e75 | 27-Nov-2022 |
Patrick Williams <patrick@stwcx.xyz> |
format-code: simplify codespell
* Avoid copying codespell config files into the workspace. * Drop 'ignore-words' support. * Filter out Signed-off-by lines.
The 'openbmc-spelling-ignore.txt' file co
format-code: simplify codespell
* Avoid copying codespell config files into the workspace. * Drop 'ignore-words' support. * Filter out Signed-off-by lines.
The 'openbmc-spelling-ignore.txt' file contained someone's last name, which was being triggered by codespell as being similar enough to a real word that it was identified as a mispelling. Instead of keeping their name in an ignore file, filter out the Signed-off-by.
Signed-off-by: Patrick Williams <patrick@stwcx.xyz> Change-Id: Ie2c96a000c352dc02a5dee1db3d2d9ea2b629cef
show more ...
|
7c1e562a | 27-Nov-2022 |
Patrick Williams <patrick@stwcx.xyz> |
format-code: avoid copying eslint config
There isn't a strong reason to copy the eslint config into the workspace when we can just reference the `openbmc-build-scripts` repository from within the wo
format-code: avoid copying eslint config
There isn't a strong reason to copy the eslint config into the workspace when we can just reference the `openbmc-build-scripts` repository from within the workspace, like we did for gitlint.
Signed-off-by: Patrick Williams <patrick@stwcx.xyz> Change-Id: Iad6c05527fb60d906d7b9536f4e7608885d4c59f
show more ...
|
c2e7c938 | 27-Nov-2022 |
Patrick Williams <patrick@stwcx.xyz> |
build-unit-test-docker: use latest gitlint
gitlint release 0.18.0 contains the previously pointed to commit, so pull it in directly rather than by reference now.
Signed-off-by: Patrick Williams <pa
build-unit-test-docker: use latest gitlint
gitlint release 0.18.0 contains the previously pointed to commit, so pull it in directly rather than by reference now.
Signed-off-by: Patrick Williams <patrick@stwcx.xyz> Change-Id: I741b0bbfe88f5361a4324bafdf7af883ad1a51c1
show more ...
|
41d86218 | 25-Nov-2022 |
Patrick Williams <patrick@stwcx.xyz> |
build-unit-test-docker: minor mypy/flake8 fixes
Signed-off-by: Patrick Williams <patrick@stwcx.xyz> Change-Id: I991e6cf64f876005976cb5de19cf214fcccf2e89 |
0ae544fd | 17-Aug-2022 |
Ed Tanous <edtanous@google.com> |
Make git commit message checking mandatory
This commit is intended to enable the commit message rule checking for all OpenBMC repositories. It was previously discussed, and several repos have opted
Make git commit message checking mandatory
This commit is intended to enable the commit message rule checking for all OpenBMC repositories. It was previously discussed, and several repos have opted into the current solution without any incident, or incorrectly-rejected patchsets that I'm aware of.
The very minor issue of CI not rebuilding on a commit message update has been resolved, so we should be good to enable this project-wide.
Signed-off-by: Ed Tanous <edtanous@google.com> Change-Id: I2a845518b18de21d3fd1d71d38c71d3d36038eb2
show more ...
|
05fb2a0a | 11-Oct-2022 |
Patrick Williams <patrick@stwcx.xyz> |
build-unit-test-docker: format with black
Signed-off-by: Patrick Williams <patrick@stwcx.xyz> Change-Id: I3a76e9cc86d91fa0180cd0c9df3286030fa3c6a7 |
1c19e453 | 03-Oct-2022 |
Manojkiran Eda <manojkiran.eda@gmail.com> |
Migrate to libpldm
There has been efforts to migrate the libpldm out of the pldm repository & this patch would also fix the CI scripts to migrate to libpldm instead of building libpldm out of pldm r
Migrate to libpldm
There has been efforts to migrate the libpldm out of the pldm repository & this patch would also fix the CI scripts to migrate to libpldm instead of building libpldm out of pldm repository.
Signed-off-by: Manojkiran Eda <manojkiran.eda@gmail.com> Change-Id: I15e223b8ddd43787b9062de43686c96f2358a3d0
show more ...
|