.. _scratch-build:

scratch-build
=============

.. program:: scratch-build

Synopsis
--------

::

    sample-rpkg scratch-build [-h] [--arches [ARCHES ...]] [--md5] [--nowait] [--target TARGET] [--background] [--fail-fast] [--skip-remote-rules-validation]
                              [--skip-nvr-check] [--custom-user-metadata CUSTOM_USER_METADATA] [--srpm [SRPM]] [--srpm-mock]

Description
-----------

This command will request a scratch build of the package. Without providing an srpm, it will attempt to build the latest commit, which must have been pushed. By default all appropriate arches will be built.



Options
-------

.. option:: -h --help

   show this help message and exit

.. option:: --arches

   Build for specific arches

.. option:: --md5

   Use md5 checksums (for older rpm hosts)

.. option:: --nowait

   Don't wait on build

.. option:: --target

   Define build target to build into

.. option:: --background

   Run the build at a low priority

.. option:: --fail-fast

   Fail the build immediately if any arch fails

.. option:: --skip-remote-rules-validation

   Don't check if there's a valid gating.yaml file in the repo, where you can define additional policies for Greenwave gating.

.. option:: --skip-nvr-check

   Submit build to buildsystem without check if NVR was already built. NVR is constructed locally and may be different from NVR constructed during build on builder.

.. option:: --custom-user-metadata

   Provide a JSON string of custom metadata to be deserialized and stored under the build's extra.custom_user_metadata field

.. option:: --srpm

   Build from an srpm. If no srpm is provided with this option an srpm will be generated from the current module content.

.. option:: --srpm-mock

   Build from an srpm. Source rpm will be generated in 'mock' instead of 'rpmbuild'.