4b5a13b2 | 18-Feb-2025 |
Andrew Jeffery <andrew@codeconstruct.com.au> |
docs: checklists: Rework release checklist
The changelog regularly gets entries in the wrong places. Document a process that might help avoid the problem in the future.
Change-Id: I85f30ded23557e77
docs: checklists: Rework release checklist
The changelog regularly gets entries in the wrong places. Document a process that might help avoid the problem in the future.
Change-Id: I85f30ded23557e77c54d22c3bd8f1eb7e5bf1307 Signed-off-by: Andrew Jeffery <andrew@codeconstruct.com.au>
show more ...
|
059684c8 | 27-Jan-2025 |
Andrew Jeffery <andrew@codeconstruct.com.au> |
docs: checklists: Add resource cleanup recommendations
Prefer the use of `goto` in error-path handling, and always clean up in stack-order.
Change-Id: If2324755c7bbb3c755b83d48f1f3c470fce10c2a Sign
docs: checklists: Add resource cleanup recommendations
Prefer the use of `goto` in error-path handling, and always clean up in stack-order.
Change-Id: If2324755c7bbb3c755b83d48f1f3c470fce10c2a Signed-off-by: Andrew Jeffery <andrew@codeconstruct.com.au>
show more ...
|
02c9d37f | 27-Jan-2025 |
Andrew Jeffery <andrew@codeconstruct.com.au> |
docs: checklists: Document heap allocation constraint
Almost all of the APIs punt allocation to the caller or use iterators to avoid forcing it altogether. Note this in the changes checklist so cont
docs: checklists: Document heap allocation constraint
Almost all of the APIs punt allocation to the caller or use iterators to avoid forcing it altogether. Note this in the changes checklist so contributors have a shot at designing desirable APIs from the outset.
Change-Id: I3d815d4c5bd1e67fa6248933feab365fff0ba2ca Signed-off-by: Andrew Jeffery <andrew@codeconstruct.com.au>
show more ...
|
0b140da0 | 27-Jan-2025 |
Andrew Jeffery <andrew@codeconstruct.com.au> |
docs: checklists: Split out note on request and response APIs
Make it stand out a little more while improving consistency of presentation with respect to other similar notes.
Change-Id: Iac10f0c8c1
docs: checklists: Split out note on request and response APIs
Make it stand out a little more while improving consistency of presentation with respect to other similar notes.
Change-Id: Iac10f0c8c1c813fa19b1bc1dda59fadb3408c990 Signed-off-by: Andrew Jeffery <andrew@codeconstruct.com.au>
show more ...
|
73625d74 | 27-Jan-2025 |
Andrew Jeffery <andrew@codeconstruct.com.au> |
docs: checklists: Sub-headers for adding new APIs
Break the section on adding new APIs into sub-sections. Hopefully setting some boundaries on the content makes it easier to maintain.
Change-Id: I4
docs: checklists: Sub-headers for adding new APIs
Break the section on adding new APIs into sub-sections. Hopefully setting some boundaries on the content makes it easier to maintain.
Change-Id: I43bb20ae1761f0509b480ec7d681afc24317c4f4 Signed-off-by: Andrew Jeffery <andrew@codeconstruct.com.au>
show more ...
|
bd092fc7 | 24-Dec-2024 |
Andrew Jeffery <andrew@codeconstruct.com.au> |
checklists: changes: Add The Byte Order Fallacy to influences
See also [1].
[1]: https://amboar.github.io/notes/2023/06/19/representations-and-design-boundaries-with-endianness.html
Change-Id: I1c
checklists: changes: Add The Byte Order Fallacy to influences
See also [1].
[1]: https://amboar.github.io/notes/2023/06/19/representations-and-design-boundaries-with-endianness.html
Change-Id: I1ca3accfd8a4940ff753f70a104b0615e49ec605 Signed-off-by: Andrew Jeffery <andrew@codeconstruct.com.au>
show more ...
|
b127b12f | 01-Oct-2024 |
Andrew Jeffery <andrew@codeconstruct.com.au> |
docs: checklists: Add expectations for bug fixes
Tests and a Fixes: tag in the commit message are a must.
Change-Id: I2a21e844082f947ebf1a089326d7002bf87582b8 Signed-off-by: Andrew Jeffery <andrew@
docs: checklists: Add expectations for bug fixes
Tests and a Fixes: tag in the commit message are a must.
Change-Id: I2a21e844082f947ebf1a089326d7002bf87582b8 Signed-off-by: Andrew Jeffery <andrew@codeconstruct.com.au>
show more ...
|
687f14b8 | 01-Oct-2024 |
Andrew Jeffery <andrew@codeconstruct.com.au> |
docs: checklists: Modernize process for updating the ABI dump
We've since added `scripts/abi-dump-updater` to configure the build appropriately, so describing using that instead. Before that it's ne
docs: checklists: Modernize process for updating the ABI dump
We've since added `scripts/abi-dump-updater` to configure the build appropriately, so describing using that instead. Before that it's necessary to have a local build of the OpenBMC CI docker image, so also point to the documentation for building it.
Change-Id: If0117c8c8a93c1d0c308cc202e8ee972e1bfed42 Signed-off-by: Andrew Jeffery <andrew@codeconstruct.com.au>
show more ...
|
1c4c704d | 01-Oct-2024 |
Andrew Jeffery <andrew@codeconstruct.com.au> |
docs: checklists: Add notes on naming new macros, functions and types
Historically the library has been poor at prefixing things and felt like it lacked a philosophy for naming things. Add one so we
docs: checklists: Add notes on naming new macros, functions and types
Historically the library has been poor at prefixing things and felt like it lacked a philosophy for naming things. Add one so we have something to point to.
Change-Id: I0db4757f3b734a1a6b4f2bcfcc0326095b75b671 Signed-off-by: Andrew Jeffery <andrew@codeconstruct.com.au>
show more ...
|
435c9321 | 05-Sep-2024 |
Andrew Jeffery <andrew@codeconstruct.com.au> |
scripts: Symlink pre-submit to run-ci
OpenBMC's CI scripts will run any script named run-ci in the repository[1]. Exploit this to run the pre-submit tests in CI so issues such as failing to add test
scripts: Symlink pre-submit to run-ci
OpenBMC's CI scripts will run any script named run-ci in the repository[1]. Exploit this to run the pre-submit tests in CI so issues such as failing to add test guards are caught.
[1]: https://gerrit.openbmc.org/plugins/gitiles/openbmc/openbmc-build-scripts/+/decca83981004f97e0ee8c1ffc0c3589bf9d0a09/scripts/unit-test.py#1429
Change-Id: I5af7df0adeb38d69e4f0bf142f4a091a6ac60de7 Signed-off-by: Andrew Jeffery <andrew@codeconstruct.com.au>
show more ...
|
941e7ebd | 07-Sep-2024 |
Andrew Jeffery <andrew@codeconstruct.com.au> |
checklists: releases: Add note about moving evolutions
Evolutions for the current release need to be moved into the directory named after the release.
Change-Id: Id6afc46e7042d88b627dd110b119defd00
checklists: releases: Add note about moving evolutions
Evolutions for the current release need to be moved into the directory named after the release.
Change-Id: Id6afc46e7042d88b627dd110b119defd00d9571b Signed-off-by: Andrew Jeffery <andrew@codeconstruct.com.au>
show more ...
|
44471fea | 15-Aug-2024 |
Andrew Jeffery <andrew@codeconstruct.com.au> |
docs: checklists: Capture no-unused-structs in changes checklist
Unused structs become an API headache - dependent applications can come to rely on them despite them having no use by the library.
P
docs: checklists: Capture no-unused-structs in changes checklist
Unused structs become an API headache - dependent applications can come to rely on them despite them having no use by the library.
Provide advice to avoid them altogether.
Change-Id: Ic68d725e5f7b569e77f429e858a69085cde1fb2e Signed-off-by: Andrew Jeffery <andrew@codeconstruct.com.au>
show more ...
|
c47f1a26 | 13-Aug-2024 |
Andrew Jeffery <andrew@codeconstruct.com.au> |
docs: checklists: Codec functions must take a message struct
Some reasoning is provided as well.
Change-Id: Ic0fc7ff16b58ceff3a1ab8c08923b16de4353e33 Signed-off-by: Andrew Jeffery <andrew@codeconst
docs: checklists: Codec functions must take a message struct
Some reasoning is provided as well.
Change-Id: Ic0fc7ff16b58ceff3a1ab8c08923b16de4353e33 Signed-off-by: Andrew Jeffery <andrew@codeconstruct.com.au>
show more ...
|
eee9ad05 | 13-Aug-2024 |
Andrew Jeffery <andrew@codeconstruct.com.au> |
libpldm: Introduce LIBPLDM_CC_COUNTED_BY()
The macro wraps __attribute__((counted_by(x))) if compiler support is available. The `counted_by(...)` attribute gives the compiler the necessary informati
libpldm: Introduce LIBPLDM_CC_COUNTED_BY()
The macro wraps __attribute__((counted_by(x))) if compiler support is available. The `counted_by(...)` attribute gives the compiler the necessary information to track invalid accesses for flexible array members.
See the related GCC documentation at [1].
[1]: https://gcc.gnu.org/onlinedocs/gcc/Common-Variable-Attributes.html#index-counted_005fby-variable-attribute
Change-Id: If87e022d27df03b7e882df95f8c2452a4d4b828f Signed-off-by: Andrew Jeffery <andrew@codeconstruct.com.au>
show more ...
|
bf827b6f | 31-Jul-2024 |
Andrew Jeffery <andrew@codeconstruct.com.au> |
docs: checklists: Add Alexis King's name to Parse, don't validate
The other entries list the author, let's keep that going.
Change-Id: Id2f9c9f3b24d81537e0cf52f00547f1eba112d9e Signed-off-by: Andre
docs: checklists: Add Alexis King's name to Parse, don't validate
The other entries list the author, let's keep that going.
Change-Id: Id2f9c9f3b24d81537e0cf52f00547f1eba112d9e Signed-off-by: Andrew Jeffery <andrew@codeconstruct.com.au>
show more ...
|
efd5e1d5 | 31-Jul-2024 |
Andrew Jeffery <andrew@codeconstruct.com.au> |
docs: checklists: Add CWE as a reference
Common Weakness Enumeration is a collection of error categories that can occur at various points in the software lifecycle.
Change-Id: I0da19a96505536780d13
docs: checklists: Add CWE as a reference
Common Weakness Enumeration is a collection of error categories that can occur at various points in the software lifecycle.
Change-Id: I0da19a96505536780d131be5659566713f7237fe Signed-off-by: Andrew Jeffery <andrew@codeconstruct.com.au>
show more ...
|
9902eabc | 24-Jul-2024 |
Andrew Jeffery <andrew@codeconstruct.com.au> |
docs: checklists: Add "Parse, don't validate" to influences
Change-Id: If49d6f4d3d0a46c5181d17dbc1fb16e8cc1b946b Signed-off-by: Andrew Jeffery <andrew@codeconstruct.com.au> |
5302dc24 | 18-Jul-2024 |
Andrew Jeffery <andrew@codeconstruct.com.au> |
docs: checklists: Add Logic for Programmers to influences
Change-Id: I65374a30814210cb7eb2ff16d334553ec529c473 Signed-off-by: Andrew Jeffery <andrew@codeconstruct.com.au> |
5befd128 | 17-Jul-2024 |
Andrew Jeffery <andrew@codeconstruct.com.au> |
abi: x86_64: Capture rename of get_fru_record_by_option()
This was not addressed in the change renaming the function. I've updated the changes checklist to reflect the need.
Change-Id: Iea55421e9b3
abi: x86_64: Capture rename of get_fru_record_by_option()
This was not addressed in the change renaming the function. I've updated the changes checklist to reflect the need.
Change-Id: Iea55421e9b3dd6f060ebd9f615093ec2a8a8a432 Signed-off-by: Andrew Jeffery <andrew@codeconstruct.com.au>
show more ...
|
4d1b1a54 | 02-Jul-2024 |
Andrew Jeffery <andrew@codeconstruct.com.au> |
docs: checklists: Add some more influences and references
Introduce "weird machines" for those who aren't aware of them. The blog also links to Dullien's paper that provides fairly tight definition
docs: checklists: Add some more influences and references
Introduce "weird machines" for those who aren't aware of them. The blog also links to Dullien's paper that provides fairly tight definition for them.
The SEI CERT C Coding Standard is maintained by members of the C standards committee as a more approachable resource for C programmers than the standard itself (which is written for implementers of C more so than users).
Change-Id: I6df09feacd47c0eea42b840784ab2c90a913fcff Signed-off-by: Andrew Jeffery <andrew@codeconstruct.com.au>
show more ...
|
d9b70ba7 | 08-Jun-2024 |
Andrew Jeffery <andrew@codeconstruct.com.au> |
dsp: fru: Rename get_fru_record_by_option_check()
We drop the `_check` suffix so that it is now `get_fru_record_by_option()`.
To do so, introduce some infrastructure that makes renaming APIs easier
dsp: fru: Rename get_fru_record_by_option_check()
We drop the `_check` suffix so that it is now `get_fru_record_by_option()`.
To do so, introduce some infrastructure that makes renaming APIs easier and scripts the migration for users. The renaming process comes in several parts, which are captured in the addition to the changes checklist.
The coccinelle script based off the insight at [1].
[1]: https://stackoverflow.com/questions/42776220/coccinelle-help-to-replace-a-function-with-variable-args
Change-Id: I730b76c3e3c92dcc046fecbee76cd6b040f11d21 Signed-off-by: Andrew Jeffery <andrew@codeconstruct.com.au>
show more ...
|
1b1b728b | 03-Jun-2024 |
Andrew Jeffery <andrew@codeconstruct.com.au> |
scripts: Add pre-submit
pre-submit runs through the pre-submission commands outlined in docs/ checklists/changes.md. This allows easy checking via:
``` $ git rebase -x ./scripts/pre-submit origin/m
scripts: Add pre-submit
pre-submit runs through the pre-submission commands outlined in docs/ checklists/changes.md. This allows easy checking via:
``` $ git rebase -x ./scripts/pre-submit origin/main ```
Change-Id: Ib8b0f7725a31081cd70253032e107ed83aa22626 Signed-off-by: Andrew Jeffery <andrew@codeconstruct.com.au>
show more ...
|
2222595d | 31-May-2024 |
Andrew Jeffery <andrew@codeconstruct.com.au> |
docs: checklists: Recommend against flexible array members
They cause trouble for C++, and broadly, should not be required anyway. Flexible array members are a code smell.
Change-Id: I59ec016b68c9e
docs: checklists: Recommend against flexible array members
They cause trouble for C++, and broadly, should not be required anyway. Flexible array members are a code smell.
Change-Id: I59ec016b68c9eebde931065e0ed8ac5da222dee2 Signed-off-by: Andrew Jeffery <andrew@codeconstruct.com.au>
show more ...
|
d0c7105c | 31-May-2024 |
Andrew Jeffery <andrew@codeconstruct.com.au> |
docs: checklists: Define "wire format"
The phrase is used elsewhere in the document, so be clear about what is meant.
Change-Id: Idd2cff77d6d52c8e9f6d4397f1f1e97dc9fd26b5 Signed-off-by: Andrew Jeff
docs: checklists: Define "wire format"
The phrase is used elsewhere in the document, so be clear about what is meant.
Change-Id: Idd2cff77d6d52c8e9f6d4397f1f1e97dc9fd26b5 Signed-off-by: Andrew Jeffery <andrew@codeconstruct.com.au>
show more ...
|
9817fa5c | 31-May-2024 |
Andrew Jeffery <andrew@codeconstruct.com.au> |
docs: checklists: Add Zonenberg's alignment bug as an influence
Parsing packed binary data in C can be difficult. Use libpldm's msgbuf APIs.
Change-Id: I42aba14d9cb8fd8fa795fc4c05e6af0be8a76f63 Sig
docs: checklists: Add Zonenberg's alignment bug as an influence
Parsing packed binary data in C can be difficult. Use libpldm's msgbuf APIs.
Change-Id: I42aba14d9cb8fd8fa795fc4c05e6af0be8a76f63 Signed-off-by: Andrew Jeffery <andrew@codeconstruct.com.au>
show more ...
|