You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
115 lines
3.5 KiB
115 lines
3.5 KiB
# 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"
|
|
|