The src-module argument can be used to select the module in which west patch searches for patch definitions. This commit also allows the use of module names instead of the path. Signed-off-by: Gerhard Jörges <joerges@metratec.com>
116 lines
3.5 KiB
YAML
116 lines
3.5 KiB
YAML
# Copyright (c) 2024 Tenstorrent AI ULC
|
|
#
|
|
# SPDX-License-Identifier: Apache-2.0
|
|
|
|
# A pykwalify schema for basic validation of the patches.yml format.
|
|
|
|
# The schema for individual patch objects
|
|
schema;patch-schema:
|
|
type: seq
|
|
sequence:
|
|
- type: map
|
|
mapping:
|
|
|
|
# The path to the patch file, relative to patch-base
|
|
# E.g. zephyr/kernel-pipe-fix-not-k-no-wait-and-ge-min-xfer-bytes.patch
|
|
path:
|
|
required: true
|
|
type: str
|
|
|
|
# The SHA-256 checksum of the patch file
|
|
# e.g. e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855
|
|
sha256sum:
|
|
required: true
|
|
type: str
|
|
pattern: "^[0-9a-f]{64}$"
|
|
|
|
# The path of the module the patch is for, relative to the west workspace
|
|
# e.g. zephyr, or bootloader/mcuboot
|
|
module:
|
|
required: true
|
|
type: str
|
|
|
|
# The name of the primary author of the patch, e.g. Kermit D. Frog
|
|
author:
|
|
required: true
|
|
type: str
|
|
|
|
# The email address of the primary author of the patch, e.g. itsnoteasy@being.gr
|
|
email:
|
|
required: true
|
|
type: str
|
|
pattern: ".+@.+"
|
|
|
|
# The date the patch was created, in ISO 8601 date format YYYY-MM-DD
|
|
date:
|
|
required: true
|
|
type: date
|
|
format: "%Y-%m-%d"
|
|
|
|
# Whether the patch should be submitted upstream
|
|
upstreamable:
|
|
type: bool
|
|
default: true
|
|
|
|
# The URL of the upstream pull request to merge the patch
|
|
# e.g. https://github.com/zephyrproject-rtos/zephyr/pull/24486
|
|
merge-pr:
|
|
type: str
|
|
pattern: "^https?://"
|
|
|
|
# The URL of the upstream issue associated with the patch, such as an enhancement issue
|
|
# or bug report, e.g. https://github.com/zephyrproject-rtos/zephyr/issues/24485
|
|
issue:
|
|
type: str
|
|
pattern: "^https?://"
|
|
|
|
# Whether the associated merge-pr has been merged
|
|
merge-status:
|
|
type: bool
|
|
|
|
# The SHA-1 hash of the upstream git commit incorporating the associated merge-pr
|
|
# e.g. af926ae728c78affa89cbc1de811ab4211ed0f69
|
|
merge-commit:
|
|
type: str
|
|
pattern: "^[0-9a-f]{40}"
|
|
|
|
# The date the associated merge-pr was merged, in ISO 8601 date format YYYY-MM-DD
|
|
merge-date:
|
|
type: date
|
|
format: "%Y-%m-%d"
|
|
|
|
# The command used to apply the change represented by the patch
|
|
apply-command:
|
|
type: str
|
|
default: "git apply"
|
|
|
|
# Comments useful to other developers about the patch,
|
|
# e.g. "This is a workaround for xyz and probably should not go upstream"
|
|
comments:
|
|
type: str
|
|
|
|
# Custom field that may be used for any purpose. For example, if the chosen apply-patch
|
|
# command is able to filter based on semantic versioning and a particular patch file
|
|
# only applies to version 1.2.3, one could specify e.g. custom: [1, 2, 3].
|
|
# This field may be of any type and is not validated.
|
|
custom:
|
|
type: any
|
|
|
|
# The top-level schema for patches.yml files
|
|
type: map
|
|
mapping:
|
|
|
|
# The list of patch objects
|
|
patches:
|
|
include: patch-schema
|
|
|
|
# The command used to undo local changes to each module when "west patch clean" is run
|
|
checkout-command:
|
|
type: str
|
|
default: "git checkout ."
|
|
|
|
# The command used to clean each module when "west patch clean" is run
|
|
clean-command:
|
|
type: str
|
|
default: "git clean -d -f -x"
|