Checklists for Pull Requests and Releases ========================================= Maintainer checklists for reviewing pull requests and doing releases. Pull Requests ------------- - If applicable, is there a readable ChangeLog entry? - If any LICENSE file has been updated, has the `.hash` file been updated? - If any change to a Finit `.svc` file, does any run/task linger? I.e., is there a runlevel and/or condition defined to prevent them from running outside of their intended runlevel? - If any change to grub or qemu/qeneth setup, has it been tested in GNS3? - If any change to u-boot/buildroot, has it been tested with `_defconfig` - If any change to logging, have the resulting logs been audited? - Check for duplicate entries, misspellings - Check for sneaky severity changes, e.g., error vs note, error vs warning - If new subsystem, or major changes to a subsystem, have the docs been updated? - If change to mDNS, has it been tested with netbrowse? - If change to `_defconfig`, verify `local.mk` and sync with other archs - Test manually as well, e.g., CLI changes do not have ha regression tests - Build from distclean, or use artifacts built by build servers, for manual tests Releases -------- Recommended checkpoints, use at your own discretion: - Make at least one -betaN release to verify the GitHub workflow well in time release day - Stuff happens, remember kernelkit/infix#735 - Make at least one -rcN to flush out any issues in customer repos - Easy to forget adaptations/hacks in customer repos -- may need Infix change/support - Verify release artifacts (checksums, completeness, no corrupted files) - Test on actual hardware for at least one architecture - Review ChangeLog for completeness - Check for release-blocking issues - Verify generated GNS3 appliance, no marketplace update on -rc builds - Ensure the markdown link for the release diff is updated - Ensure subrepos are tagged (can be automated, see kernelkit/infix#393) - Sync tags for all repo. sync activities