Submit Release¶
The vdc ingredient-release submit
command (alias: vdc submit
) submits new ingredient releases to VDC. This is one of the most commonly used commands for publishing builds, firmware updates, and other component releases.
Command Syntax¶
Required Parameters¶
--project <project>
(-p
): Target project name--name <name>
(-n
): Ingredient name--version <version>
(-v
): Release version--packageFile <packageFile>
: Package file(s) to upload (can be specified multiple times)
Optional Parameters¶
--feed <feed>
(-f
): Target feed name--metadata <metadata>
(-m
): JSON metadata file path--wait
(-w
): Wait for submission processing to complete--verbose
: Enable detailed logging for debugging--token <token>
: Authentication token
Options Reference¶
Option | Shortcut | Description | Required | Example |
---|---|---|---|---|
--project <project> |
-p | The project name in VDC | Yes | --project validation-team |
--feed <feed> |
-f | Name of feed in project | No | --feed main |
--name |
-n | Name of the ingredient | Yes | |
--version |
-v | Version of the specific ingredient release to submit | Yes | |
--packageFile <packageFile> |
Package file with the ingredient release | Yes | ||
--metadata <metadata> |
-m | A JSON file with additional metadata, such as a baseline, dependencies, description, release data, and milestones. Some ingredient schemas may contain additional data, such as an IFWI contains list of knobs and straps. If set, the CLI will wait until the server completed processing the | No | |
--wait |
-w | Enable CLI to print additional logs for debugging [default: False] | ||
--token <token> |
Authentication token | Yes | --token $VDC_TOKEN |
Usage Examples¶
Basic Submission¶
# Using alias (recommended)
vdc submit -p validation-team -f main -n IFWI_NVL -v 2024WW15.1 --packageFile ./build/ifwi-nvl.zip --token $VDC_TOKEN
# Using full command name
vdc ingredient-release submit -p validation-team -f main -n IFWI_NVL -v 2024WW15.1 --packageFile ./build/ifwi-nvl.zip --token $VDC_TOKEN
# With mixed short and long parameters
vdc submit --project validation-team -f main -n IFWI_NVL --version 2024WW15.1 --packageFile ./build/ifwi-nvl.zip --token $VDC_TOKEN
Wait for Processing¶
# Submit and wait for processing to complete
vdc submit -p validation-team -f main -n IFWI_NVL -v 2024WW15.1 --packageFile ./build/ifwi-nvl.zip --wait --token $VDC_TOKEN
Multiple Package Files¶
# Submit release with multiple packages
vdc submit -p validation-team -f main -n UNIFIED_PATCH -v 1.2.3 \
--packageFile ./patches/core.inc \
--packageFile ./patches/security.inc \
--packageFile ./patches/performance.inc \
--token $VDC_TOKEN
Verbose Logging¶
# Detailed logging for debugging
vdc submit -p validation-team -f main -n BIOS_DMR -v A0_drop4 --packageFile ./bios-dmr-a0-drop4.bin --verbose --token $VDC_TOKEN
Metadata File Format¶
The metadata file is a JSON document that describes release properties, dependencies, and associated information.
Complete Metadata Example¶
{
"Description": "Initial release candidate",
"BaseLine": {
"ProjectName": "12345",
"FeedName": "12345",
"Name": "12345",
"Version": "12345"
},
"ReleaseDate": "2023-10-01T12:00:00Z", //This is optional. Default value is current time. Use this for legacy versions.
"Dependencies": [
{
"ProjectName": "ProjectA",
"FeedName": "FeedA",
"Name": "DependencyA",
"Version": "1.0.0"
},
{
"ProjectName": "ProjectB",
"FeedName": "FeedB",
"Name": "DependencyB",
"Version": "2.0.0"
}
],
"Milestones" : ["A", "B"],
//IFWI custom metadata
"Straps": [
{
"name": "strapName1",
"value": "strapValue1"
},
{
"name": "strapName2",
"value": "strapValue2"
}
],
"Knobs": {
"valueAsString": true,
"data": [
{
"Name": "knobValue1",
"Value": "knobValue2"
}
]
},
"FitToolId": {
"name": "FifTool",
"version": "1.0.0"
}
}
Metadata Fields Reference¶
Field | Type | Required | Description |
---|---|---|---|
Description |
string | No | Human-readable release description |
BaseLine |
object | No | Reference to baseline release |
ReleaseDate |
string (ISO 8601) | No | Release timestamp (defaults to current time) |
Dependencies |
array | No | List of dependent ingredient releases |
Milestones |
array | No | Associated silicon milestones |
Error Handling¶
Common Error Scenarios¶
Ingredient Not Found¶
# Error: Ingredient doesn't exist
# Solution: Create ingredient first or verify project/feed/name
vdc ingredient get -p myproject -f main -n myingredient --token $VDC_TOKEN
Version Already Exists¶
# Error: Release version already submitted
# Solution: Use different version or check existing releases
vdc ingredient get -p myproject -f main -n myingredient --token $VDC_TOKEN
Package File Not Found¶
# Error: Package file doesn't exist
# Solution: Verify file path and ensure build completed
ls -la ./build/package.zip
Invalid Metadata Format¶
# Error: JSON syntax error in metadata file
# Solution: Validate JSON format
cat metadata.json | jq '.' # Should not error
Related Commands¶
- Download release - Download release packages
- Get release details - View submitted release information
- Bulk submit releases - Submit multiple releases
Next Steps¶
After Submission¶
- Verify release - Check submission was successful
- Download for testing - Get the submitted package
Advanced Usage¶
- Bulk operation - Submit multiple releases
- Release commands overview - All release operations
Integration and Automation¶
- Main CLI overview - Complete CLI capabilities
- Getting Started - Essential commands reference