From fcac235f495f70d81ff7d18d6e992995efa7b2e1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C3=89rico=20Rolim?= Date: Mon, 4 May 2020 20:21:45 -0300 Subject: [PATCH] CONTRIBUTING.md: add commit examples and expl. to PR process - Add commit examples for package removal and shlibs modifications - Explain the PR process, specially when related to soname bumps - Explain [ci skip] - Add testing requirements --- CONTRIBUTING.md | 16 ++++++++++++++-- 1 file changed, 14 insertions(+), 2 deletions(-) diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 0490b5f11c2..0bbae36a014 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -43,8 +43,20 @@ Once you have built your template file or files, the commit message should have * for template modifications without a version change, use ```: ``` ([example](https://github.com/void-linux/void-packages/commit/8b68d6bf1eb997cd5e7c095acd040e2c5379c91d)). +* for package removals, use ```: remove package``` ([example](https://github.com/void-linux/void-packages/commit/83784632d94deee5d038c8e1c4c1dffa922fca21)). + +* for `common/shlibs` modifications, use `common/shlibs: ` ([example](https://github.com/void-linux/void-packages/commit/613651c91811cb4fd2e1a6be701c87072d759a9f)). + If you want to describe your changes in more detail, add an empty line followed by those details ([example](https://github.com/void-linux/void-packages/commit/f1c45a502086ba1952f23ace9084a870ce437bc6)). +Pull requests are automatically submitted for Continuous Integration (CI) testing to ensure packages build on various combinations of libc and architecture. +Packages that take longer than 50 minutes to build (for example, Firefox or the Linux kernel) will fail CI and should include `[ci skip]` in the last line of the last commit message in the PR to avoid wasting CI builder time. +Use your best judgment on build times based on your local building experience. If you skip CI when submitting a PR, please build and cross-build for a variety of architectures locally, with both glibc and musl, and note your local results in PR comments. +Make sure to cover 64-bit and 32-bit architectures. + +Runtime testing of packages and building with the `-Q` flag or with `XBPS_CHECK_PKGS=yes` set in the environment or `etc/conf` are strongly encouraged. +New packages will not be accepted unless they have been runtime tested. + For further information, please consult the [manual](https://github.com/void-linux/void-packages/blob/master/Manual.md). `xbump`, available in the [xtools](https://github.com/chneukirchen/xtools) package, can be used to commit a new or updated package: @@ -69,8 +81,8 @@ Once you have successfully built the package, you can start a pull request. Most pull requests should only contain a single package and dependencies which are not part of void-packages yet. -If you make updates to packages containing a soname bump you also need to revbump all packages that are dependant. Those -packages should also be part of the same pull request. +If you make updates to packages containing a soname bump, you also need to update `common/shlibs` and revbump all packages that are dependant. +There should be a commit for each package revbump, and those commits should be part of the same pull request. When you make changes to your pull request, please *do not close and reopen your pull request*. Instead, just forcibly git push, overwriting any old commits. Closing and opening your pull requests repeatedly spams the Void maintainers.