X-Git-Url: http://git.droids-corp.org/?a=blobdiff_plain;f=doc%2Fguides%2Fcontributing%2Fpatches.rst;h=b9cc6e67aec41685462b839cf140909c797e70bf;hb=df39890f0c7ae3d2f5eacebad016aa7be5773c97;hp=425bb874f832b35e3f6b6cbf6cf77edc7a39995b;hpb=b9b10ddb4292f2bc5524ae9f427a2795514eff02;p=dpdk.git diff --git a/doc/guides/contributing/patches.rst b/doc/guides/contributing/patches.rst index 425bb874f8..b9cc6e67ae 100644 --- a/doc/guides/contributing/patches.rst +++ b/doc/guides/contributing/patches.rst @@ -32,9 +32,12 @@ The mailing list for DPDK development is `dev@dpdk.org `_ in order to submit patches. It is also worth registering for the DPDK `Patchwork `_ -If you are using the GitHub service, you can link your repository to -the ``travis-ci.org`` build service. When you push patches to your GitHub -repository, the travis service will automatically build your changes. +If you are using the GitHub service, pushing to a branch will trigger GitHub +Actions to automatically build your changes and run unit tests and ABI checks. + +Additionally, a Travis configuration is available in DPDK but Travis free usage +is limited to a few builds. +You can link your repository to the ``travis-ci.com`` build service. The development process requires some familiarity with the ``git`` version control system. Refer to the `Pro Git Book `_ for further information. @@ -427,13 +430,16 @@ updating the Linux kernel sources. The path to the original Linux script must be set in the environment variable ``DPDK_CHECKPATCH_PATH``. -Spell checking of commonly misspelled words -can be enabled by downloading the codespell dictionary:: +Spell checking of commonly misspelled words is enabled +by default if installed in ``/usr/share/codespell/dictionary.txt``. +A different dictionary path can be specified +in the environment variable ``DPDK_CHECKPATCH_CODESPELL``. - https://raw.githubusercontent.com/codespell-project/codespell/master/codespell_lib/data/dictionary.txt +There is a DPDK script to build an adjusted dictionary +from the multiple codespell dictionaries:: -The path to the downloaded ``dictionary.txt`` must be set -in the environment variable ``DPDK_CHECKPATCH_CODESPELL``. + git clone https://github.com/codespell-project/codespell.git + devtools/build-dict.sh codespell/ > codespell-dpdk.txt Environment variables required by the development tools, are loaded from the following files, in order of preference:: @@ -464,55 +470,6 @@ and the -r option allows the user specify a ``git log`` range. Checking Compilation -------------------- -Makefile System -~~~~~~~~~~~~~~~ - -Compilation of patches and changes should be tested using the ``test-build.sh`` script in the ``devtools`` -directory of the DPDK repo:: - - devtools/test-build.sh x86_64-native-linux-gcc+next+shared - -The script usage is:: - - test-build.sh [-h] [-jX] [-s] [config1 [config2] ...]] - -Where: - -* ``-h``: help, usage. -* ``-jX``: use X parallel jobs in "make". -* ``-s``: short test with only first config and without examples/doc. -* ``config``: default config name plus config switches delimited with a ``+`` sign. - -Examples of configs are:: - - x86_64-native-linux-gcc - x86_64-native-linux-gcc+next+shared - x86_64-native-linux-clang+shared - -The builds can be modified via the following environmental variables: - -* ``DPDK_BUILD_TEST_CONFIGS`` (target1+option1+option2 target2) -* ``DPDK_BUILD_TEST_DIR`` -* ``DPDK_DEP_CFLAGS`` -* ``DPDK_DEP_LDFLAGS`` -* ``DPDK_DEP_PCAP`` (y/[n]) -* ``DPDK_NOTIFY`` (notify-send) - -These can be set from the command line or in the config files shown above in the :ref:`contrib_checkpatch`. - -The recommended configurations and options to test compilation prior to submitting patches are:: - - x86_64-native-linux-gcc+shared+next - x86_64-native-linux-clang+shared - i686-native-linux-gcc - - export DPDK_DEP_ZLIB=y - export DPDK_DEP_PCAP=y - export DPDK_DEP_SSL=y - -Meson System -~~~~~~~~~~~~ - Compilation of patches is to be tested with ``devtools/test-meson-builds.sh`` script. The script internally checks for dependencies, then builds for several @@ -533,14 +490,19 @@ Checking ABI compatibility By default, ABI compatibility checks are disabled. To enable them, a reference version must be selected via the environment -variable ``DPDK_ABI_REF_VERSION``. +variable ``DPDK_ABI_REF_VERSION``. Contributors should ordinarily reference the +git tag of the most recent release of DPDK in ``DPDK_ABI_REF_VERSION``. -The ``devtools/test-build.sh`` and ``devtools/test-meson-builds.sh`` scripts -then build this reference version in a temporary directory and store the -results in a subfolder of the current working directory. +The ``devtools/test-meson-builds.sh`` script then build this reference version +in a temporary directory and store the results in a subfolder of the current +working directory. The environment variable ``DPDK_ABI_REF_DIR`` can be set so that the results go to a different location. +Sample:: + + DPDK_ABI_REF_VERSION=v19.11 DPDK_ABI_REF_DIR=/tmp ./devtools/test-meson-builds.sh + Sending Patches ---------------