Sync pipelines and docs with Basecore
This commit is contained in:
Родитель
320419c53d
Коммит
00836a175d
|
@ -0,0 +1,50 @@
|
|||
# Azure DevOps Pipelines
|
||||
|
||||
These yml files are used to provide CI builds using the Azure DevOps Pipeline Service.
|
||||
Most of the CI leverages edk2-pytools to support cross platform building and execution.
|
||||
|
||||
## Core CI
|
||||
|
||||
Focused on building and testing all packages in Edk2 without an actual target platform.
|
||||
|
||||
See `.pytools/ReadMe.py` for more details
|
||||
|
||||
## Platform CI
|
||||
|
||||
Focused on building a single target platform and confirming functionality on that platform.
|
||||
|
||||
## Conventions
|
||||
|
||||
* Files extension should be *.yml. *.yaml is also supported but in Edk2 we use those for our package configuration.
|
||||
* Platform CI files should be in the `<PlatformPkg>/.azurepipelines` folder.
|
||||
* Core CI files are in the root folder.
|
||||
* Shared templates are in the `templates` folder.
|
||||
* Top level CI files should be named `<host os>-<tool_chain_tag>.yml`
|
||||
|
||||
## Links
|
||||
|
||||
* Basic Azure Landing Site - https://docs.microsoft.com/en-us/azure/devops/pipelines/?view=azure-devops
|
||||
* Pipeline jobs - https://docs.microsoft.com/en-us/azure/devops/pipelines/process/phases?view=azure-devops&tabs=yaml
|
||||
* Pipeline yml scheme - https://docs.microsoft.com/en-us/azure/devops/pipelines/yaml-schema?view=azure-devops&tabs=schema%2Cparameter-schema
|
||||
* Pipeline expression - https://docs.microsoft.com/en-us/azure/devops/pipelines/process/expressions?view=azure-devops
|
||||
* PyTools - https://github.com/tianocore/edk2-pytool-extensions and https://github.com/tianocore/edk2-pytool-library
|
||||
|
||||
## Lessons Learned
|
||||
|
||||
### Templates and parameters
|
||||
|
||||
They are great but evil. If they are used as part of determining the steps of a build they must resolve before the build starts. They can not use variables set in a yml or determined as part of a matrix. If they are used in a step then they can be bound late.
|
||||
|
||||
### File matching patterns
|
||||
|
||||
On Linux this can hang if there are too many files in the search list.
|
||||
|
||||
### Templates and file splitting
|
||||
|
||||
Suggestion is to do one big yaml file that does what you want for one of your targets. Then do the second one and find the deltas. From that you can start to figure out the right split of files, steps, jobs.
|
||||
|
||||
### Conditional steps
|
||||
|
||||
If you want the step to show up in the log but not run, use a step conditional. This is great when a platform doesn't currently support a feature but you want the builders to know that the features exists and maybe someday it will.
|
||||
|
||||
If you want the step to not show up use a template step conditional wrapper. Beware this will be evaluated early (at build start). This can hide things not needed on a given OS for example.
|
|
@ -0,0 +1,37 @@
|
|||
## @file
|
||||
# Azure Pipeline build file for a build using ubuntu and GCC5
|
||||
#
|
||||
# Copyright (c) Microsoft Corporation.
|
||||
# Copyright (c) 2020, Hewlett Packard Enterprise Development LP. All rights reserved.<BR>
|
||||
# SPDX-License-Identifier: BSD-2-Clause-Patent
|
||||
##
|
||||
# MU_CHANGE [BEGIN]
|
||||
trigger:
|
||||
- dev/*
|
||||
- release/*
|
||||
|
||||
schedules:
|
||||
- cron: "30 9 * * 0,3" # Sun/Wed at 2:30AM Pacific
|
||||
displayName: Sun/Wed Build
|
||||
branches:
|
||||
include:
|
||||
- dev/*
|
||||
- release/*
|
||||
always: true # Always build, even if no changes
|
||||
|
||||
pr:
|
||||
- dev/*
|
||||
- release/*
|
||||
# MU_CHANGE [END]
|
||||
|
||||
jobs:
|
||||
- template: templates/pr-gate-build-job.yml
|
||||
parameters:
|
||||
tool_chain_tag: 'GCC5'
|
||||
vm_image: 'ubuntu-latest'
|
||||
arch_list: "IA32,X64,ARM,AARCH64"
|
||||
# MU_CHANGE
|
||||
extra_steps:
|
||||
- script: sudo apt-get install mingw-w64
|
||||
displayName: Install Windows Resource Compiler for Linux
|
||||
|
|
@ -0,0 +1,31 @@
|
|||
## @file
|
||||
# Azure Pipeline build file for a build using Windows and VS2019
|
||||
#
|
||||
# Copyright (c) Microsoft Corporation.
|
||||
# SPDX-License-Identifier: BSD-2-Clause-Patent
|
||||
##
|
||||
# MU_CHANGE [BEGIN]
|
||||
trigger:
|
||||
- dev/*
|
||||
- release/*
|
||||
|
||||
schedules:
|
||||
- cron: "0 8 * * 0,3" # Sun/Wed at 1AM Pacific
|
||||
displayName: Sun/Wed Build
|
||||
branches:
|
||||
include:
|
||||
- dev/*
|
||||
- release/*
|
||||
always: true # Always build, even if no changes
|
||||
|
||||
pr:
|
||||
- dev/*
|
||||
- release/*
|
||||
# MU_CHANGE [END]
|
||||
|
||||
jobs:
|
||||
- template: templates/pr-gate-build-job.yml
|
||||
parameters:
|
||||
tool_chain_tag: 'VS2019'
|
||||
vm_image: 'windows-latest'
|
||||
arch_list: "IA32,X64"
|
|
@ -0,0 +1,59 @@
|
|||
# CI Templates
|
||||
|
||||
This folder contains azure pipeline yml templates for "Core" and "Platform" Continuous Integration and PR validation.
|
||||
|
||||
## Common CI templates
|
||||
|
||||
### basetools-build-steps.yml
|
||||
|
||||
This template compiles the Edk2 basetools from source. The steps in this template are
|
||||
conditional and will only run if variable `pkg_count` is greater than 0.
|
||||
|
||||
It also has two conditional steps only used when the toolchain contains GCC. These two steps
|
||||
use `apt` to update the system packages and add those necessary for Edk2 builds.
|
||||
|
||||
## Core CI templates
|
||||
|
||||
### pr-gate-build-job.yml
|
||||
|
||||
This templates contains the jobs and most importantly the matrix of which packages and
|
||||
targets to run for Core CI.
|
||||
|
||||
### pr-gate-steps.yml
|
||||
|
||||
This template is the main Core CI template. It controls all the steps run and is responsible for most functionality of the Core CI process. This template sets
|
||||
the `pkg_count` variable using the `stuart_pr_eval` tool when the
|
||||
build type is "pull request"
|
||||
|
||||
### spell-check-prereq-steps.yml
|
||||
|
||||
This template installs the node based tools used by the spell checker plugin. The steps
|
||||
in this template are conditional and will only run if variable `pkg_count` is greater than 0.
|
||||
|
||||
## Platform CI templates
|
||||
|
||||
### platform-build-run-steps.yml
|
||||
|
||||
This template makes heavy use of pytools to build and run a platform in the Edk2 repo
|
||||
|
||||
Also uses basetools-build-steps.yml to compile basetools
|
||||
|
||||
#### Special Notes
|
||||
|
||||
* For a build type of pull request it will conditionally build if the patches change files that impact the platform.
|
||||
* uses `stuart_pr_eval` to determine impact
|
||||
* For manual builds or CI builds it will always build the platform
|
||||
* It compiles basetools from source
|
||||
* Will use `stuart_build --FlashOnly` to attempt to run the built image if the `Run` parameter is set.
|
||||
* See the parameters block for expected configuration options
|
||||
* Parameter `extra_install_step` allows the caller to insert extra steps. This is useful if additional dependencies, tools, or other things need to be installed. Here is an example of installing qemu on Windows.
|
||||
|
||||
``` yaml
|
||||
steps:
|
||||
- template: ../../.azurepipelines/templates/build-run-steps.yml
|
||||
parameters:
|
||||
extra_install_step:
|
||||
- powershell: choco install qemu; Write-Host "##vso[task.prependpath]c:\Program Files\qemu"
|
||||
displayName: Install QEMU and Set QEMU on path # friendly name displayed in the UI
|
||||
condition: and(gt(variables.pkg_count, 0), succeeded())
|
||||
```
|
|
@ -0,0 +1,18 @@
|
|||
## @file
|
||||
# File templates/markdownlint-check-prereq-steps.yml
|
||||
#
|
||||
# template file used to install markdownlint checking prerequisite
|
||||
# depends on spell-check-prereq-steps to run first to set the node version
|
||||
#
|
||||
# Copyright (c) Microsoft Corporation.
|
||||
# SPDX-License-Identifier: BSD-2-Clause-Patent
|
||||
##
|
||||
|
||||
parameters:
|
||||
none: ''
|
||||
|
||||
steps:
|
||||
|
||||
- script: npm install -g markdownlint-cli@0.31.0
|
||||
displayName: "Install markdown linter"
|
||||
condition: and(gt(variables.pkg_count, 0), succeeded())
|
|
@ -0,0 +1,42 @@
|
|||
## @file
|
||||
# File templates/pr-gate-build-job.yml
|
||||
#
|
||||
# template file used to build supported packages.
|
||||
#
|
||||
# Copyright (c) Microsoft Corporation.
|
||||
# Copyright (c) 2020 - 2021, ARM Limited. All rights reserved.<BR>
|
||||
# SPDX-License-Identifier: BSD-2-Clause-Patent
|
||||
##
|
||||
|
||||
parameters:
|
||||
tool_chain_tag: ''
|
||||
vm_image: ''
|
||||
arch_list: ''
|
||||
extra_steps: [] # MU_CHANGE
|
||||
|
||||
# Build step
|
||||
jobs:
|
||||
|
||||
- job: Build_${{ parameters.tool_chain_tag }}
|
||||
|
||||
#Use matrix to speed up the build process
|
||||
strategy:
|
||||
matrix:
|
||||
TARGET_MinPlatform:
|
||||
Build.Pkgs: 'MinPlatformPkg'
|
||||
Build.Targets: 'DEBUG,RELEASE,NO-TARGET,NOOPT'
|
||||
|
||||
workspace:
|
||||
clean: all
|
||||
|
||||
pool:
|
||||
vmImage: ${{ parameters.vm_image }}
|
||||
|
||||
steps:
|
||||
- ${{ parameters.extra_steps }} # MU_CHANGE
|
||||
- template: pr-gate-steps.yml
|
||||
parameters:
|
||||
tool_chain_tag: ${{ parameters.tool_chain_tag }}
|
||||
build_pkgs: $(Build.Pkgs)
|
||||
build_targets: $(Build.Targets)
|
||||
build_archs: ${{ parameters.arch_list }}
|
|
@ -0,0 +1,165 @@
|
|||
## @file
|
||||
# File templates/pr-gate-steps.yml
|
||||
#
|
||||
# template file containing the steps to build
|
||||
#
|
||||
# Copyright (c) Microsoft Corporation.
|
||||
# SPDX-License-Identifier: BSD-2-Clause-Patent
|
||||
##
|
||||
|
||||
parameters:
|
||||
tool_chain_tag: ''
|
||||
build_pkgs: ''
|
||||
build_targets: ''
|
||||
build_archs: ''
|
||||
|
||||
steps:
|
||||
- checkout: self
|
||||
clean: true
|
||||
# fetchDepth: 1 # MU_CHANGE
|
||||
|
||||
- task: UsePythonVersion@0
|
||||
inputs:
|
||||
versionSpec: '3.9.x' # MU_CHANGE
|
||||
architecture: 'x64'
|
||||
|
||||
- script: pip install -r pip-requirements.txt --upgrade
|
||||
displayName: 'Install/Upgrade pip modules'
|
||||
|
||||
# Set default
|
||||
- bash: |
|
||||
echo "##vso[task.setvariable variable=pkgs_to_build]${{ parameters.build_pkgs }}"
|
||||
echo "##vso[task.setvariable variable=pkg_count]${{ 1 }}"
|
||||
|
||||
# MU_CHANGE [BEGIN] - this doesn't work on devops repos
|
||||
# Fetch the target branch so that pr_eval can diff them.
|
||||
# Seems like azure pipelines/github changed checkout process in nov 2020.
|
||||
#- script: git fetch origin $(System.PullRequest.targetBranch)
|
||||
# displayName: fetch target branch
|
||||
# MU_CHANGE [END]
|
||||
|
||||
# MU_CHANGE [BEGIN] - Workaround an azure pipelines bug.
|
||||
# $System.PullRequest.targetBranch looks like "dev/whatever" on GitHub,
|
||||
# but looks like "refs/heads/dev/whatever" on DevOps. The DevOps version
|
||||
# can't be used for comparison for the PR Eval.
|
||||
- powershell:
|
||||
$TargetBranch = "$(System.PullRequest.targetBranch)".replace('refs/heads/', '');
|
||||
Write-Host "##vso[task.setvariable variable=pr_compare_branch]origin/$TargetBranch";
|
||||
displayName: Workaround for Branch Names
|
||||
condition: eq(variables['Build.Reason'], 'PullRequest')
|
||||
# MU_CHANGE [END]
|
||||
|
||||
# trim the package list if this is a PR
|
||||
- task: CmdLine@1
|
||||
displayName: Check if ${{ parameters.build_pkgs }} need testing
|
||||
inputs:
|
||||
filename: stuart_pr_eval
|
||||
# MU_CHANGE - Workaround an azure pipelines bug.
|
||||
arguments: -c .pytool/CISettings.py -p ${{ parameters.build_pkgs }} --pr-target $(pr_compare_branch) --output-csv-format-string "##vso[task.setvariable variable=pkgs_to_build;isOutpout=true]{pkgcsv}" --output-count-format-string "##vso[task.setvariable variable=pkg_count;isOutpout=true]{pkgcount}"
|
||||
condition: eq(variables['Build.Reason'], 'PullRequest')
|
||||
|
||||
# install spell check prereqs
|
||||
- template: spell-check-prereq-steps.yml
|
||||
|
||||
# MU_CHANGE - Add MarkdownLint
|
||||
# install markdownlint check prereqs
|
||||
- template: markdownlint-check-prereq-steps.yml
|
||||
|
||||
# Build repo
|
||||
# MU_CHANGE - We use CI dependencies as well as submodules.
|
||||
- task: CmdLine@1
|
||||
displayName: Setup ${{ parameters.build_pkgs }} ${{ parameters.build_archs}}
|
||||
inputs:
|
||||
filename: stuart_ci_setup
|
||||
arguments: -c .pytool/CISettings.py -p $(pkgs_to_build) --force-git -t ${{ parameters.build_targets}} -a ${{ parameters.build_archs}} TOOL_CHAIN_TAG=${{ parameters.tool_chain_tag}}
|
||||
condition: and(gt(variables.pkg_count, 0), succeeded())
|
||||
|
||||
- task: CmdLine@1
|
||||
displayName: Setup ${{ parameters.build_pkgs }} ${{ parameters.build_archs}}
|
||||
inputs:
|
||||
filename: stuart_setup
|
||||
arguments: -c .pytool/CISettings.py -p $(pkgs_to_build) -t ${{ parameters.build_targets}} -a ${{ parameters.build_archs}} TOOL_CHAIN_TAG=${{ parameters.tool_chain_tag}}
|
||||
condition: and(gt(variables.pkg_count, 0), succeeded())
|
||||
|
||||
- task: CmdLine@1
|
||||
displayName: Update ${{ parameters.build_pkgs }} ${{ parameters.build_archs}}
|
||||
inputs:
|
||||
filename: stuart_update
|
||||
arguments: -c .pytool/CISettings.py -p $(pkgs_to_build) -t ${{ parameters.build_targets}} -a ${{ parameters.build_archs}} TOOL_CHAIN_TAG=${{ parameters.tool_chain_tag}}
|
||||
condition: and(gt(variables.pkg_count, 0), succeeded())
|
||||
|
||||
# MU_CHANGE [BEGIN] - We use binary BaseTools
|
||||
# build basetools
|
||||
# do this after setup and update so that code base dependencies
|
||||
# are all resolved.
|
||||
# - template: basetools-build-steps.yml
|
||||
# parameters:
|
||||
# tool_chain_tag: ${{ parameters.tool_chain_tag }}
|
||||
# MU_CHANGE [END]
|
||||
|
||||
- task: CmdLine@1
|
||||
displayName: Build and Test ${{ parameters.build_pkgs }} ${{ parameters.build_archs}}
|
||||
inputs:
|
||||
filename: stuart_ci_build
|
||||
arguments: -c .pytool/CISettings.py -p $(pkgs_to_build) -t ${{ parameters.build_targets}} -a ${{ parameters.build_archs}} TOOL_CHAIN_TAG=${{ parameters.tool_chain_tag}}
|
||||
condition: and(gt(variables.pkg_count, 0), succeeded())
|
||||
|
||||
# Publish Test Results to Azure Pipelines/TFS
|
||||
- task: PublishTestResults@2
|
||||
displayName: 'Publish junit test results'
|
||||
continueOnError: true
|
||||
condition: and( succeededOrFailed(),gt(variables.pkg_count, 0))
|
||||
inputs:
|
||||
testResultsFormat: 'JUnit' # Options: JUnit, NUnit, VSTest, xUnit
|
||||
testResultsFiles: 'Build/TestSuites.xml'
|
||||
#searchFolder: '$(System.DefaultWorkingDirectory)' # Optional
|
||||
mergeTestResults: true # Optional
|
||||
testRunTitle: $(System.JobName) # Optional
|
||||
#buildPlatform: # Optional
|
||||
#buildConfiguration: # Optional
|
||||
publishRunAttachments: true # Optional
|
||||
|
||||
# Publish Test Results to Azure Pipelines/TFS
|
||||
- task: PublishTestResults@2
|
||||
displayName: 'Publish host based test results for $(System.JobName)'
|
||||
continueOnError: true
|
||||
condition: and( succeededOrFailed(), gt(variables.pkg_count, 0))
|
||||
inputs:
|
||||
testResultsFormat: 'JUnit' # Options: JUnit, NUnit, VSTest, xUnit
|
||||
testResultsFiles: 'Build/**/*.result.xml'
|
||||
#searchFolder: '$(System.DefaultWorkingDirectory)' # Optional
|
||||
mergeTestResults: false # Optional
|
||||
testRunTitle: ${{ parameters.build_pkgs }} # Optional
|
||||
#buildPlatform: # Optional
|
||||
#buildConfiguration: # Optional
|
||||
publishRunAttachments: true # Optional
|
||||
|
||||
# Copy the build logs to the artifact staging directory
|
||||
- task: CopyFiles@2
|
||||
displayName: "Copy build logs"
|
||||
inputs:
|
||||
targetFolder: '$(Build.ArtifactStagingDirectory)'
|
||||
SourceFolder: 'Build'
|
||||
contents: |
|
||||
BUILDLOG_*.txt
|
||||
BUILDLOG_*.md
|
||||
CI_*.txt
|
||||
CI_*.md
|
||||
CISETUP.txt
|
||||
SETUPLOG.txt
|
||||
UPDATE_LOG.txt
|
||||
PREVALLOG.txt
|
||||
TestSuites.xml
|
||||
**/BUILD_TOOLS_REPORT.html
|
||||
**/OVERRIDELOG.TXT
|
||||
flattenFolders: true
|
||||
condition: succeededOrFailed()
|
||||
|
||||
# Publish build artifacts to Azure Artifacts/TFS or a file share
|
||||
- task: PublishBuildArtifacts@1
|
||||
continueOnError: true
|
||||
displayName: "Publish build logs"
|
||||
inputs:
|
||||
pathtoPublish: '$(Build.ArtifactStagingDirectory)'
|
||||
artifactName: 'Build Logs $(System.JobName)'
|
||||
condition: succeededOrFailed()
|
|
@ -0,0 +1,22 @@
|
|||
## @file
|
||||
# File templates/spell-check-prereq-steps.yml
|
||||
#
|
||||
# template file used to install spell checking prerequisits
|
||||
#
|
||||
# Copyright (c) Microsoft Corporation.
|
||||
# SPDX-License-Identifier: BSD-2-Clause-Patent
|
||||
##
|
||||
|
||||
parameters:
|
||||
none: ''
|
||||
|
||||
steps:
|
||||
- task: NodeTool@0
|
||||
inputs:
|
||||
versionSpec: '17.x' # MU_CHANGE
|
||||
#checkLatest: false # Optional
|
||||
condition: and(gt(variables.pkg_count, 0), succeeded())
|
||||
|
||||
- script: npm install -g cspell@5.18.4
|
||||
displayName: 'Install cspell npm'
|
||||
condition: and(gt(variables.pkg_count, 0), succeeded())
|
|
@ -0,0 +1,17 @@
|
|||
/Build/
|
||||
.DS_Store
|
||||
*_extdep/
|
||||
*.pyc
|
||||
__pycache__/
|
||||
tags/
|
||||
.vscode/
|
||||
*.bak
|
||||
BuildConfig.conf
|
||||
|
||||
# Ignore cloned dependencies
|
||||
/Common/MU_TIANO
|
||||
/MU_BASECORE
|
||||
/Silicon/Intel/MU_TIANO
|
||||
|
||||
# Ignore unused UDK PKGs.
|
||||
/Conf/
|
|
@ -0,0 +1,14 @@
|
|||
## @file
|
||||
# markdownlint configuration
|
||||
#
|
||||
# Copyright (c) Microsoft Corporation
|
||||
# SPDX-License-Identifier: BSD-2-Clause-Patent
|
||||
##
|
||||
|
||||
# Rules can be found here: https://github.com/DavidAnson/markdownlint/blob/main/doc/Rules.md
|
||||
# Config info: https://github.com/DavidAnson/markdownlint#configuration
|
||||
{
|
||||
"default": true,
|
||||
"MD013": {"line_length": 120, "code_blocks": false, "tables": false},
|
||||
"MD033": {"allowed_elements": ["br"]}
|
||||
}
|
|
@ -0,0 +1,10 @@
|
|||
# Ignore build directory
|
||||
/Build/
|
||||
|
||||
# Ignore external dependencies
|
||||
*_extdep/
|
||||
|
||||
# Ignore cloned dependencies
|
||||
/Common/MU_TIANO
|
||||
/MU_BASECORE
|
||||
/Silicon/Intel/MU_TIANO
|
|
@ -0,0 +1,210 @@
|
|||
# @file
|
||||
#
|
||||
# Copyright (c) Microsoft Corporation.
|
||||
# Copyright (c) 2020, Hewlett Packard Enterprise Development LP. All rights reserved.<BR>
|
||||
# Copyright (c) 2020, ARM Limited. All rights reserved.<BR>
|
||||
# SPDX-License-Identifier: BSD-2-Clause-Patent
|
||||
##
|
||||
import os
|
||||
import logging
|
||||
from edk2toolext.environment import shell_environment
|
||||
from edk2toolext.invocables.edk2_ci_build import CiBuildSettingsManager
|
||||
from edk2toolext.invocables.edk2_ci_setup import CiSetupSettingsManager
|
||||
from edk2toolext.invocables.edk2_setup import SetupSettingsManager, RequiredSubmodule
|
||||
from edk2toolext.invocables.edk2_update import UpdateSettingsManager
|
||||
from edk2toolext.invocables.edk2_pr_eval import PrEvalSettingsManager
|
||||
from edk2toollib.utility_functions import GetHostInfo
|
||||
|
||||
|
||||
class Settings(CiSetupSettingsManager, CiBuildSettingsManager, UpdateSettingsManager, SetupSettingsManager, PrEvalSettingsManager):
|
||||
|
||||
def __init__(self):
|
||||
self.ActualPackages = []
|
||||
self.ActualTargets = []
|
||||
self.ActualArchitectures = []
|
||||
self.ActualToolChainTag = ""
|
||||
self.UseBuiltInBaseTools = None
|
||||
self.ActualScopes = None
|
||||
|
||||
# ####################################################################################### #
|
||||
# Extra CmdLine configuration #
|
||||
# ####################################################################################### #
|
||||
|
||||
def AddCommandLineOptions(self, parserObj):
|
||||
group = parserObj.add_mutually_exclusive_group()
|
||||
group.add_argument("-force_piptools", "--fpt", dest="force_piptools", action="store_true", default=False, help="Force the system to use pip tools")
|
||||
group.add_argument("-no_piptools", "--npt", dest="no_piptools", action="store_true", default=False, help="Force the system to not use pip tools")
|
||||
|
||||
def RetrieveCommandLineOptions(self, args):
|
||||
super().RetrieveCommandLineOptions(args)
|
||||
if args.force_piptools:
|
||||
self.UseBuiltInBaseTools = True
|
||||
if args.no_piptools:
|
||||
self.UseBuiltInBaseTools = False
|
||||
|
||||
# ####################################################################################### #
|
||||
# Default Support for this Ci Build #
|
||||
# ####################################################################################### #
|
||||
|
||||
def GetPackagesSupported(self):
|
||||
''' return iterable of edk2 packages supported by this build.
|
||||
These should be edk2 workspace relative paths '''
|
||||
|
||||
return ("MinPlatformPkg", )
|
||||
|
||||
def GetArchitecturesSupported(self):
|
||||
''' return iterable of edk2 architectures supported by this build '''
|
||||
return (
|
||||
"IA32",
|
||||
"X64",
|
||||
"ARM",
|
||||
"AARCH64")
|
||||
|
||||
def GetTargetsSupported(self):
|
||||
''' return iterable of edk2 target tags supported by this build '''
|
||||
return ("DEBUG", "RELEASE", "NO-TARGET", "NOOPT")
|
||||
|
||||
# ####################################################################################### #
|
||||
# Verify and Save requested Ci Build Config #
|
||||
# ####################################################################################### #
|
||||
|
||||
def SetPackages(self, list_of_requested_packages):
|
||||
''' Confirm the requested package list is valid and configure SettingsManager
|
||||
to build the requested packages.
|
||||
|
||||
Raise UnsupportedException if a requested_package is not supported
|
||||
'''
|
||||
unsupported = set(list_of_requested_packages) - \
|
||||
set(self.GetPackagesSupported())
|
||||
if(len(unsupported) > 0):
|
||||
logging.critical(
|
||||
"Unsupported Package Requested: " + " ".join(unsupported))
|
||||
raise Exception("Unsupported Package Requested: " +
|
||||
" ".join(unsupported))
|
||||
self.ActualPackages = list_of_requested_packages
|
||||
|
||||
def SetArchitectures(self, list_of_requested_architectures):
|
||||
''' Confirm the requests architecture list is valid and configure SettingsManager
|
||||
to run only the requested architectures.
|
||||
|
||||
Raise Exception if a list_of_requested_architectures is not supported
|
||||
'''
|
||||
unsupported = set(list_of_requested_architectures) - \
|
||||
set(self.GetArchitecturesSupported())
|
||||
if(len(unsupported) > 0):
|
||||
logging.critical(
|
||||
"Unsupported Architecture Requested: " + " ".join(unsupported))
|
||||
raise Exception(
|
||||
"Unsupported Architecture Requested: " + " ".join(unsupported))
|
||||
self.ActualArchitectures = list_of_requested_architectures
|
||||
|
||||
def SetTargets(self, list_of_requested_target):
|
||||
''' Confirm the request target list is valid and configure SettingsManager
|
||||
to run only the requested targets.
|
||||
|
||||
Raise UnsupportedException if a requested_target is not supported
|
||||
'''
|
||||
unsupported = set(list_of_requested_target) - \
|
||||
set(self.GetTargetsSupported())
|
||||
if(len(unsupported) > 0):
|
||||
logging.critical(
|
||||
"Unsupported Targets Requested: " + " ".join(unsupported))
|
||||
raise Exception("Unsupported Targets Requested: " +
|
||||
" ".join(unsupported))
|
||||
self.ActualTargets = list_of_requested_target
|
||||
|
||||
# ####################################################################################### #
|
||||
# Actual Configuration for Ci Build #
|
||||
# ####################################################################################### #
|
||||
|
||||
def GetActiveScopes(self):
|
||||
''' return tuple containing scopes that should be active for this process '''
|
||||
if self.ActualScopes is None:
|
||||
scopes = ("cibuild", "edk2-build", "host-based-test")
|
||||
|
||||
self.ActualToolChainTag = shell_environment.GetBuildVars().GetValue("TOOL_CHAIN_TAG", "")
|
||||
|
||||
is_linux = GetHostInfo().os.upper() == "LINUX"
|
||||
|
||||
if self.UseBuiltInBaseTools is None:
|
||||
# MU_CHANGE - redundant is_linux = GetHostInfo().os.upper() == "LINUX"
|
||||
# try and import the pip module for basetools
|
||||
try:
|
||||
import edk2basetools
|
||||
self.UseBuiltInBaseTools = True
|
||||
except ImportError:
|
||||
self.UseBuiltInBaseTools = False
|
||||
pass
|
||||
|
||||
if self.UseBuiltInBaseTools == True:
|
||||
scopes += ('pipbuild-unix',) if is_linux else ('pipbuild-win',)
|
||||
logging.warning("Using Pip Tools based BaseTools")
|
||||
else:
|
||||
logging.warning("Falling back to using in-tree BaseTools")
|
||||
|
||||
if is_linux and self.ActualToolChainTag.upper().startswith("GCC"):
|
||||
if "AARCH64" in self.ActualArchitectures:
|
||||
scopes += ("gcc_aarch64_linux",)
|
||||
if "ARM" in self.ActualArchitectures:
|
||||
scopes += ("gcc_arm_linux",)
|
||||
if "RISCV64" in self.ActualArchitectures:
|
||||
scopes += ("gcc_riscv64_unknown",)
|
||||
self.ActualScopes = scopes
|
||||
return self.ActualScopes
|
||||
|
||||
def GetRequiredSubmodules(self):
|
||||
''' return iterable containing RequiredSubmodule objects.
|
||||
If no RequiredSubmodules return an empty iterable
|
||||
'''
|
||||
rs = []
|
||||
return rs
|
||||
|
||||
def GetName(self):
|
||||
return "MuCommonIntelMinPlatform"
|
||||
|
||||
def GetDependencies(self):
|
||||
''' Return Git Repository Dependencies
|
||||
|
||||
Return an iterable of dictionary objects with the following fields
|
||||
{
|
||||
Path: <required> Workspace relative path
|
||||
Url: <required> Url of git repo
|
||||
Commit: <optional> Commit to checkout of repo
|
||||
Branch: <optional> Branch to checkout (will checkout most recent commit in branch)
|
||||
Full: <optional> Boolean to do shallow or Full checkout. (default is False)
|
||||
ReferencePath: <optional> Workspace relative path to git repo to use as "reference"
|
||||
}
|
||||
'''
|
||||
return [
|
||||
{
|
||||
"Path": "Common/MU_TIANO",
|
||||
"Url": "https://github.com/microsoft/mu_tiano_plus.git",
|
||||
"Branch": "release/202111"
|
||||
},
|
||||
{
|
||||
"Path": "MU_BASECORE",
|
||||
"Url": "https://github.com/microsoft/mu_basecore.git",
|
||||
"Branch": "release/202111"
|
||||
},
|
||||
{
|
||||
"Path": "Silicon/Intel/MU_TIANO",
|
||||
"Url": "https://github.com/microsoft/mu_silicon_intel_tiano.git",
|
||||
"Branch": "release/202111"
|
||||
}
|
||||
]
|
||||
|
||||
|
||||
def GetPackagesPath(self):
|
||||
''' Return a list of workspace relative paths that should be mapped as edk2 PackagesPath '''
|
||||
result = []
|
||||
for a in self.GetDependencies():
|
||||
result.append(a["Path"])
|
||||
return result
|
||||
|
||||
def GetWorkspaceRoot(self):
|
||||
''' get WorkspacePath '''
|
||||
return os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
|
||||
|
||||
def FilterPackagesToTest(self, changedFilesList: list, potentialPackagesList: list) -> list:
|
||||
''' Filter potential packages to test based on changed files. '''
|
||||
return []
|
|
@ -0,0 +1,542 @@
|
|||
License-History.txt
|
||||
===================
|
||||
|
||||
This file contains the history of license change and contributor's agreement
|
||||
changes.
|
||||
|
||||
Unless otherwise noted in a specific file, the EDK2 project is now licensed
|
||||
under the terms listed in the License.txt file. Terms under which Contributions
|
||||
made prior to the move to the License.txt formulation are shown below. Those
|
||||
terms require notice of the terms themselves be preserved and presented with the
|
||||
contributions. This file serves that preservation purpose as a matter of
|
||||
documenting the history of the project.
|
||||
|
||||
Key Dates
|
||||
----------
|
||||
* August 3, 2017
|
||||
|
||||
Update the TianoCore Contribution Agreement from Version 1.0
|
||||
to Version 1.1 to cover open source documentation associated
|
||||
with the TianoCore project.
|
||||
|
||||
Version 1.0 covers source code files. Version 1.1 is a
|
||||
backwards compatible extension that adds support for document
|
||||
files in both source form and compiled form.
|
||||
|
||||
References:
|
||||
https://opensource.org/licenses/BSD-2-Clause
|
||||
Complete text of TianoCore Contribution Agreement 1.0 included below
|
||||
Complete text of TianoCore Contribution Agreement 1.1 included below
|
||||
|
||||
Proposals (RFCs):
|
||||
https://lists.01.org/pipermail/edk2-devel/2017-March/008654.html
|
||||
|
||||
TianoCore Bugzilla:
|
||||
https://bugzilla.tianocore.org/show_bug.cgi?id=629
|
||||
|
||||
* April 9, 2019
|
||||
|
||||
Replace BSD 2-Clause License with BSD + Patent License removing the need for
|
||||
the TianoCore Contribution Agreement.
|
||||
|
||||
References:
|
||||
https://opensource.org/licenses/BSD-2-Clause
|
||||
Complete text of TianoCore Contribution Agreement 1.0 included below
|
||||
Complete text of TianoCore Contribution Agreement 1.1 included below
|
||||
https://opensource.org/licenses/BSDplusPatent
|
||||
|
||||
Proposals (RFCs):
|
||||
https://lists.01.org/pipermail/edk2-devel/2019-February/036260.html
|
||||
https://lists.01.org/pipermail/edk2-devel/2019-March/037500.html
|
||||
|
||||
TianoCore Bugzilla:
|
||||
https://bugzilla.tianocore.org/show_bug.cgi?id=1373
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
License.txt: BSD 2-Clause License
|
||||
--------------------------------------------------------------------------------
|
||||
Redistribution and use in source and binary forms, with or without
|
||||
modification, are permitted provided that the following conditions
|
||||
are met:
|
||||
|
||||
* Redistributions of source code must retain the above copyright
|
||||
notice, this list of conditions and the following disclaimer.
|
||||
* Redistributions in binary form must reproduce the above copyright
|
||||
notice, this list of conditions and the following disclaimer in
|
||||
the documentation and/or other materials provided with the
|
||||
distribution.
|
||||
|
||||
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
||||
"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
||||
LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
|
||||
FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
|
||||
COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
|
||||
INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
|
||||
BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
|
||||
LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
|
||||
CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
|
||||
LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
|
||||
ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
||||
POSSIBILITY OF SUCH DAMAGE.
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
Contributions.txt: TianoCore Contribution Agreement 1.1
|
||||
--------------------------------------------------------------------------------
|
||||
======================
|
||||
= Code Contributions =
|
||||
======================
|
||||
|
||||
To make a contribution to a TianoCore project, follow these steps.
|
||||
1. Create a change description in the format specified below to
|
||||
use in the source control commit log.
|
||||
2. Your commit message must include your "Signed-off-by" signature,
|
||||
and "Contributed-under" message.
|
||||
3. Your "Contributed-under" message explicitly states that the
|
||||
contribution is made under the terms of the specified
|
||||
contribution agreement. Your "Contributed-under" message
|
||||
must include the name of contribution agreement and version.
|
||||
For example: Contributed-under: TianoCore Contribution Agreement 1.1
|
||||
The "TianoCore Contribution Agreement" is included below in
|
||||
this document.
|
||||
4. Submit your code to the TianoCore project using the process
|
||||
that the project documents on its web page. If the process is
|
||||
not documented, then submit the code on development email list
|
||||
for the project.
|
||||
5. It is preferred that contributions are submitted using the same
|
||||
copyright license as the base project. When that is not possible,
|
||||
then contributions using the following licenses can be accepted:
|
||||
* BSD (2-clause): http://opensource.org/licenses/BSD-2-Clause
|
||||
* BSD (3-clause): http://opensource.org/licenses/BSD-3-Clause
|
||||
* MIT: http://opensource.org/licenses/MIT
|
||||
* Python-2.0: http://opensource.org/licenses/Python-2.0
|
||||
* Zlib: http://opensource.org/licenses/Zlib
|
||||
|
||||
For documentation:
|
||||
* FreeBSD Documentation License
|
||||
https://www.freebsd.org/copyright/freebsd-doc-license.html
|
||||
|
||||
Contributions of code put into the public domain can also be
|
||||
accepted.
|
||||
|
||||
Contributions using other licenses might be accepted, but further
|
||||
review will be required.
|
||||
|
||||
=====================================================
|
||||
= Change Description / Commit Message / Patch Email =
|
||||
=====================================================
|
||||
|
||||
Your change description should use the standard format for a
|
||||
commit message, and must include your "Signed-off-by" signature
|
||||
and the "Contributed-under" message.
|
||||
|
||||
== Sample Change Description / Commit Message =
|
||||
|
||||
=== Start of sample patch email message ===
|
||||
|
||||
From: Contributor Name <contributor@example.com>
|
||||
Subject: [Repository/Branch PATCH] Module: Brief-single-line-summary
|
||||
|
||||
Full-commit-message
|
||||
|
||||
Contributed-under: TianoCore Contribution Agreement 1.1
|
||||
Signed-off-by: Contributor Name <contributor@example.com>
|
||||
---
|
||||
|
||||
An extra message for the patch email which will not be considered part
|
||||
of the commit message can be added here.
|
||||
|
||||
Patch content inline or attached
|
||||
|
||||
=== End of sample patch email message ===
|
||||
|
||||
=== Notes for sample patch email ===
|
||||
|
||||
* The first line of commit message is taken from the email's subject
|
||||
line following [Repository/Branch PATCH]. The remaining portion of the
|
||||
commit message is the email's content until the '---' line.
|
||||
* git format-patch is one way to create this format
|
||||
|
||||
=== Definitions for sample patch email ===
|
||||
|
||||
* "Repository" is the identifier of the repository the patch applies.
|
||||
This identifier should only be provided for repositories other than
|
||||
'edk2'. For example 'edk2-BuildSpecification' or 'staging'.
|
||||
* "Branch" is the identifier of the branch the patch applies. This
|
||||
identifier should only be provided for branches other than 'edk2/master'.
|
||||
For example 'edk2/UDK2015', 'edk2-BuildSpecification/release/1.27', or
|
||||
'staging/edk2-test'.
|
||||
* "Module" is a short identifier for the affected code or documentation. For
|
||||
example 'MdePkg', 'MdeModulePkg/UsbBusDxe', 'Introduction', or
|
||||
'EDK II INF File Format'.
|
||||
* "Brief-single-line-summary" is a short summary of the change.
|
||||
* The entire first line should be less than ~70 characters.
|
||||
* "Full-commit-message" a verbose multiple line comment describing
|
||||
the change. Each line should be less than ~70 characters.
|
||||
* "Contributed-under" explicitly states that the contribution is
|
||||
made under the terms of the contribution agreement. This
|
||||
agreement is included below in this document.
|
||||
* "Signed-off-by" is the contributor's signature identifying them
|
||||
by their real/legal name and their email address.
|
||||
|
||||
========================================
|
||||
= TianoCore Contribution Agreement 1.1 =
|
||||
========================================
|
||||
|
||||
INTEL CORPORATION ("INTEL") MAKES AVAILABLE SOFTWARE, DOCUMENTATION
|
||||
("DOCUMENTATION"), INFORMATION AND/OR OTHER MATERIALS FOR USE IN THE
|
||||
TIANOCORE OPEN SOURCE PROJECT (COLLECTIVELY "CONTENT"). USE OF THE CONTENT
|
||||
IS GOVERNED BY THE TERMS AND CONDITIONS OF THIS AGREEMENT BETWEEN YOU AND
|
||||
INTEL AND/OR THE TERMS AND CONDITIONS OF LICENSE AGREEMENTS OR NOTICES
|
||||
INDICATED OR REFERENCED BELOW. BY USING THE CONTENT, YOU AGREE THAT YOUR
|
||||
USE OF THE CONTENT IS GOVERNED BY THIS AGREEMENT AND/OR THE TERMS AND
|
||||
CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR
|
||||
REFERENCED BELOW. IF YOU DO NOT AGREE TO THE TERMS AND CONDITIONS OF THIS
|
||||
AGREEMENT AND THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE
|
||||
AGREEMENTS OR NOTICES INDICATED OR REFERENCED BELOW, THEN YOU MAY NOT
|
||||
USE THE CONTENT.
|
||||
|
||||
Unless otherwise indicated, all Content (except Documentation) made available
|
||||
on the TianoCore site is provided to you under the terms and conditions of the
|
||||
BSD License ("BSD"). A copy of the BSD License is available at
|
||||
http://opensource.org/licenses/bsd-license.php
|
||||
or when applicable, in the associated License.txt file.
|
||||
|
||||
Unless otherwise indicated, all Documentation made available on the
|
||||
TianoCore site is provided to you under the terms and conditions of the
|
||||
FreeBSD Documentation License ("FreeBSD"). A copy of the license is
|
||||
available at https://www.freebsd.org/copyright/freebsd-doc-license.html or,
|
||||
when applicable, in the associated License.txt file.
|
||||
|
||||
Certain other content may be made available under other licenses as
|
||||
indicated in or with such Content (for example, in a License.txt file).
|
||||
|
||||
You accept and agree to the following terms and conditions for Your
|
||||
present and future Contributions submitted to TianoCore site. Except
|
||||
for the license granted to Intel hereunder, You reserve all right,
|
||||
title, and interest in and to Your Contributions.
|
||||
|
||||
== SECTION 1: Definitions ==
|
||||
* "You" or "Contributor" shall mean the copyright owner or legal
|
||||
entity authorized by the copyright owner that is making a
|
||||
Contribution hereunder. All other entities that control, are
|
||||
controlled by, or are under common control with that entity are
|
||||
considered to be a single Contributor. For the purposes of this
|
||||
definition, "control" means (i) the power, direct or indirect, to
|
||||
cause the direction or management of such entity, whether by
|
||||
contract or otherwise, or (ii) ownership of fifty percent (50%)
|
||||
or more of the outstanding shares, or (iii) beneficial ownership
|
||||
of such entity.
|
||||
* "Contribution" shall mean any original work of authorship,
|
||||
including any modifications or additions to an existing work,
|
||||
that is intentionally submitted by You to the TianoCore site for
|
||||
inclusion in, or documentation of, any of the Content. For the
|
||||
purposes of this definition, "submitted" means any form of
|
||||
electronic, verbal, or written communication sent to the
|
||||
TianoCore site or its representatives, including but not limited
|
||||
to communication on electronic mailing lists, source code
|
||||
control systems, and issue tracking systems that are managed by,
|
||||
or on behalf of, the TianoCore site for the purpose of
|
||||
discussing and improving the Content, but excluding
|
||||
communication that is conspicuously marked or otherwise
|
||||
designated in writing by You as "Not a Contribution."
|
||||
|
||||
== SECTION 2: License for Contributions ==
|
||||
* Contributor hereby agrees that redistribution and use of the
|
||||
Contribution in source and binary forms, with or without
|
||||
modification, are permitted provided that the following
|
||||
conditions are met:
|
||||
** Redistributions of source code must retain the Contributor's
|
||||
copyright notice, this list of conditions and the following
|
||||
disclaimer.
|
||||
** Redistributions in binary form must reproduce the Contributor's
|
||||
copyright notice, this list of conditions and the following
|
||||
disclaimer in the documentation and/or other materials provided
|
||||
with the distribution.
|
||||
* Disclaimer. None of the names of Contributor, Intel, or the names
|
||||
of their respective contributors may be used to endorse or
|
||||
promote products derived from this software without specific
|
||||
prior written permission.
|
||||
* Contributor grants a license (with the right to sublicense) under
|
||||
claims of Contributor's patents that Contributor can license that
|
||||
are infringed by the Contribution (as delivered by Contributor) to
|
||||
make, use, distribute, sell, offer for sale, and import the
|
||||
Contribution and derivative works thereof solely to the minimum
|
||||
extent necessary for licensee to exercise the granted copyright
|
||||
license; this patent license applies solely to those portions of
|
||||
the Contribution that are unmodified. No hardware per se is
|
||||
licensed.
|
||||
* EXCEPT AS EXPRESSLY SET FORTH IN SECTION 3 BELOW, THE
|
||||
CONTRIBUTION IS PROVIDED BY THE CONTRIBUTOR "AS IS" AND ANY
|
||||
EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
|
||||
THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
|
||||
PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
|
||||
CONTRIBUTOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
||||
SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
|
||||
NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
|
||||
LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
|
||||
HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
|
||||
CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
|
||||
OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THE
|
||||
CONTRIBUTION, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH
|
||||
DAMAGE.
|
||||
|
||||
== SECTION 3: Representations ==
|
||||
* You represent that You are legally entitled to grant the above
|
||||
license. If your employer(s) has rights to intellectual property
|
||||
that You create that includes Your Contributions, You represent
|
||||
that You have received permission to make Contributions on behalf
|
||||
of that employer, that Your employer has waived such rights for
|
||||
Your Contributions.
|
||||
* You represent that each of Your Contributions is Your original
|
||||
creation (see Section 4 for submissions on behalf of others).
|
||||
You represent that Your Contribution submissions include complete
|
||||
details of any third-party license or other restriction
|
||||
(including, but not limited to, related patents and trademarks)
|
||||
of which You are personally aware and which are associated with
|
||||
any part of Your Contributions.
|
||||
|
||||
== SECTION 4: Third Party Contributions ==
|
||||
* Should You wish to submit work that is not Your original creation,
|
||||
You may submit it to TianoCore site separately from any
|
||||
Contribution, identifying the complete details of its source
|
||||
and of any license or other restriction (including, but not
|
||||
limited to, related patents, trademarks, and license agreements)
|
||||
of which You are personally aware, and conspicuously marking the
|
||||
work as "Submitted on behalf of a third-party: [named here]".
|
||||
|
||||
== SECTION 5: Miscellaneous ==
|
||||
* Applicable Laws. Any claims arising under or relating to this
|
||||
Agreement shall be governed by the internal substantive laws of
|
||||
the State of Delaware or federal courts located in Delaware,
|
||||
without regard to principles of conflict of laws.
|
||||
* Language. This Agreement is in the English language only, which
|
||||
language shall be controlling in all respects, and all versions
|
||||
of this Agreement in any other language shall be for accommodation
|
||||
only and shall not be binding. All communications and notices made
|
||||
or given pursuant to this Agreement, and all documentation and
|
||||
support to be provided, unless otherwise noted, shall be in the
|
||||
English language.
|
||||
--------------------------------------------------------------------------------
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
Contributions.txt: TianoCore Contribution Agreement 1.0
|
||||
--------------------------------------------------------------------------------
|
||||
======================
|
||||
= Code Contributions =
|
||||
======================
|
||||
|
||||
To make a contribution to a TianoCore project, follow these steps.
|
||||
1. Create a change description in the format specified below to
|
||||
use in the source control commit log.
|
||||
2. Your commit message must include your "Signed-off-by" signature,
|
||||
and "Contributed-under" message.
|
||||
3. Your "Contributed-under" message explicitly states that the
|
||||
contribution is made under the terms of the specified
|
||||
contribution agreement. Your "Contributed-under" message
|
||||
must include the name of contribution agreement and version.
|
||||
For example: Contributed-under: TianoCore Contribution Agreement 1.0
|
||||
The "TianoCore Contribution Agreement" is included below in
|
||||
this document.
|
||||
4. Submit your code to the TianoCore project using the process
|
||||
that the project documents on its web page. If the process is
|
||||
not documented, then submit the code on development email list
|
||||
for the project.
|
||||
5. It is preferred that contributions are submitted using the same
|
||||
copyright license as the base project. When that is not possible,
|
||||
then contributions using the following licenses can be accepted:
|
||||
* BSD (2-clause): http://opensource.org/licenses/BSD-2-Clause
|
||||
* BSD (3-clause): http://opensource.org/licenses/BSD-3-Clause
|
||||
* MIT: http://opensource.org/licenses/MIT
|
||||
* Python-2.0: http://opensource.org/licenses/Python-2.0
|
||||
* Zlib: http://opensource.org/licenses/Zlib
|
||||
|
||||
Contributions of code put into the public domain can also be
|
||||
accepted.
|
||||
|
||||
Contributions using other licenses might be accepted, but further
|
||||
review will be required.
|
||||
|
||||
=====================================================
|
||||
= Change Description / Commit Message / Patch Email =
|
||||
=====================================================
|
||||
|
||||
Your change description should use the standard format for a
|
||||
commit message, and must include your "Signed-off-by" signature
|
||||
and the "Contributed-under" message.
|
||||
|
||||
== Sample Change Description / Commit Message =
|
||||
|
||||
=== Start of sample patch email message ===
|
||||
|
||||
From: Contributor Name <contributor@example.com>
|
||||
Subject: [PATCH] CodeModule: Brief-single-line-summary
|
||||
|
||||
Full-commit-message
|
||||
|
||||
Contributed-under: TianoCore Contribution Agreement 1.0
|
||||
Signed-off-by: Contributor Name <contributor@example.com>
|
||||
---
|
||||
|
||||
An extra message for the patch email which will not be considered part
|
||||
of the commit message can be added here.
|
||||
|
||||
Patch content inline or attached
|
||||
|
||||
=== End of sample patch email message ===
|
||||
|
||||
=== Notes for sample patch email ===
|
||||
|
||||
* The first line of commit message is taken from the email's subject
|
||||
line following [PATCH]. The remaining portion of the commit message
|
||||
is the email's content until the '---' line.
|
||||
* git format-patch is one way to create this format
|
||||
|
||||
=== Definitions for sample patch email ===
|
||||
|
||||
* "CodeModule" is a short idenfier for the affected code. For
|
||||
example MdePkg, or MdeModulePkg UsbBusDxe.
|
||||
* "Brief-single-line-summary" is a short summary of the change.
|
||||
* The entire first line should be less than ~70 characters.
|
||||
* "Full-commit-message" a verbose multiple line comment describing
|
||||
the change. Each line should be less than ~70 characters.
|
||||
* "Contributed-under" explicitely states that the contribution is
|
||||
made under the terms of the contribtion agreement. This
|
||||
agreement is included below in this document.
|
||||
* "Signed-off-by" is the contributor's signature identifying them
|
||||
by their real/legal name and their email address.
|
||||
|
||||
========================================
|
||||
= TianoCore Contribution Agreement 1.0 =
|
||||
========================================
|
||||
|
||||
INTEL CORPORATION ("INTEL") MAKES AVAILABLE SOFTWARE, DOCUMENTATION,
|
||||
INFORMATION AND/OR OTHER MATERIALS FOR USE IN THE TIANOCORE OPEN SOURCE
|
||||
PROJECT (COLLECTIVELY "CONTENT"). USE OF THE CONTENT IS GOVERNED BY THE
|
||||
TERMS AND CONDITIONS OF THIS AGREEMENT BETWEEN YOU AND INTEL AND/OR THE
|
||||
TERMS AND CONDITIONS OF LICENSE AGREEMENTS OR NOTICES INDICATED OR
|
||||
REFERENCED BELOW. BY USING THE CONTENT, YOU AGREE THAT YOUR USE OF THE
|
||||
CONTENT IS GOVERNED BY THIS AGREEMENT AND/OR THE TERMS AND CONDITIONS
|
||||
OF ANY APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED
|
||||
BELOW. IF YOU DO NOT AGREE TO THE TERMS AND CONDITIONS OF THIS
|
||||
AGREEMENT AND THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE
|
||||
AGREEMENTS OR NOTICES INDICATED OR REFERENCED BELOW, THEN YOU MAY NOT
|
||||
USE THE CONTENT.
|
||||
|
||||
Unless otherwise indicated, all Content made available on the TianoCore
|
||||
site is provided to you under the terms and conditions of the BSD
|
||||
License ("BSD"). A copy of the BSD License is available at
|
||||
http://opensource.org/licenses/bsd-license.php
|
||||
or when applicable, in the associated License.txt file.
|
||||
|
||||
Certain other content may be made available under other licenses as
|
||||
indicated in or with such Content. (For example, in a License.txt file.)
|
||||
|
||||
You accept and agree to the following terms and conditions for Your
|
||||
present and future Contributions submitted to TianoCore site. Except
|
||||
for the license granted to Intel hereunder, You reserve all right,
|
||||
title, and interest in and to Your Contributions.
|
||||
|
||||
== SECTION 1: Definitions ==
|
||||
* "You" or "Contributor" shall mean the copyright owner or legal
|
||||
entity authorized by the copyright owner that is making a
|
||||
Contribution hereunder. All other entities that control, are
|
||||
controlled by, or are under common control with that entity are
|
||||
considered to be a single Contributor. For the purposes of this
|
||||
definition, "control" means (i) the power, direct or indirect, to
|
||||
cause the direction or management of such entity, whether by
|
||||
contract or otherwise, or (ii) ownership of fifty percent (50%)
|
||||
or more of the outstanding shares, or (iii) beneficial ownership
|
||||
of such entity.
|
||||
* "Contribution" shall mean any original work of authorship,
|
||||
including any modifications or additions to an existing work,
|
||||
that is intentionally submitted by You to the TinaoCore site for
|
||||
inclusion in, or documentation of, any of the Content. For the
|
||||
purposes of this definition, "submitted" means any form of
|
||||
electronic, verbal, or written communication sent to the
|
||||
TianoCore site or its representatives, including but not limited
|
||||
to communication on electronic mailing lists, source code
|
||||
control systems, and issue tracking systems that are managed by,
|
||||
or on behalf of, the TianoCore site for the purpose of
|
||||
discussing and improving the Content, but excluding
|
||||
communication that is conspicuously marked or otherwise
|
||||
designated in writing by You as "Not a Contribution."
|
||||
|
||||
== SECTION 2: License for Contributions ==
|
||||
* Contributor hereby agrees that redistribution and use of the
|
||||
Contribution in source and binary forms, with or without
|
||||
modification, are permitted provided that the following
|
||||
conditions are met:
|
||||
** Redistributions of source code must retain the Contributor's
|
||||
copyright notice, this list of conditions and the following
|
||||
disclaimer.
|
||||
** Redistributions in binary form must reproduce the Contributor's
|
||||
copyright notice, this list of conditions and the following
|
||||
disclaimer in the documentation and/or other materials provided
|
||||
with the distribution.
|
||||
* Disclaimer. None of the names of Contributor, Intel, or the names
|
||||
of their respective contributors may be used to endorse or
|
||||
promote products derived from this software without specific
|
||||
prior written permission.
|
||||
* Contributor grants a license (with the right to sublicense) under
|
||||
claims of Contributor's patents that Contributor can license that
|
||||
are infringed by the Contribution (as delivered by Contributor) to
|
||||
make, use, distribute, sell, offer for sale, and import the
|
||||
Contribution and derivative works thereof solely to the minimum
|
||||
extent necessary for licensee to exercise the granted copyright
|
||||
license; this patent license applies solely to those portions of
|
||||
the Contribution that are unmodified. No hardware per se is
|
||||
licensed.
|
||||
* EXCEPT AS EXPRESSLY SET FORTH IN SECTION 3 BELOW, THE
|
||||
CONTRIBUTION IS PROVIDED BY THE CONTRIBUTOR "AS IS" AND ANY
|
||||
EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
|
||||
THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
|
||||
PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
|
||||
CONTRIBUTOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
||||
SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
|
||||
NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
|
||||
LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
|
||||
HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
|
||||
CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
|
||||
OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THE
|
||||
CONTRIBUTION, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH
|
||||
DAMAGE.
|
||||
|
||||
== SECTION 3: Representations ==
|
||||
* You represent that You are legally entitled to grant the above
|
||||
license. If your employer(s) has rights to intellectual property
|
||||
that You create that includes Your Contributions, You represent
|
||||
that You have received permission to make Contributions on behalf
|
||||
of that employer, that Your employer has waived such rights for
|
||||
Your Contributions.
|
||||
* You represent that each of Your Contributions is Your original
|
||||
creation (see Section 4 for submissions on behalf of others).
|
||||
You represent that Your Contribution submissions include complete
|
||||
details of any third-party license or other restriction
|
||||
(including, but not limited to, related patents and trademarks)
|
||||
of which You are personally aware and which are associated with
|
||||
any part of Your Contributions.
|
||||
|
||||
== SECTION 4: Third Party Contributions ==
|
||||
* Should You wish to submit work that is not Your original creation,
|
||||
You may submit it to TianoCore site separately from any
|
||||
Contribution, identifying the complete details of its source
|
||||
and of any license or other restriction (including, but not
|
||||
limited to, related patents, trademarks, and license agreements)
|
||||
of which You are personally aware, and conspicuously marking the
|
||||
work as "Submitted on behalf of a third-party: [named here]".
|
||||
|
||||
== SECTION 5: Miscellaneous ==
|
||||
* Applicable Laws. Any claims arising under or relating to this
|
||||
Agreement shall be governed by the internal substantive laws of
|
||||
the State of Delaware or federal courts located in Delaware,
|
||||
without regard to principles of conflict of laws.
|
||||
* Language. This Agreement is in the English language only, which
|
||||
language shall be controlling in all respects, and all versions
|
||||
of this Agreement in any other language shall be for accommodation
|
||||
only and shall not be binding. All communications and notices made
|
||||
or given pursuant to this Agreement, and all documentation and
|
||||
support to be provided, unless otherwise noted, shall be in the
|
||||
English language.
|
||||
--------------------------------------------------------------------------------
|
||||
|
|
@ -0,0 +1,51 @@
|
|||
Copyright (c) 2019, TianoCore and contributors. All rights reserved.
|
||||
|
||||
SPDX-License-Identifier: BSD-2-Clause-Patent
|
||||
|
||||
Redistribution and use in source and binary forms, with or without
|
||||
modification, are permitted provided that the following conditions are met:
|
||||
|
||||
1. Redistributions of source code must retain the above copyright notice,
|
||||
this list of conditions and the following disclaimer.
|
||||
|
||||
2. Redistributions in binary form must reproduce the above copyright notice,
|
||||
this list of conditions and the following disclaimer in the documentation
|
||||
and/or other materials provided with the distribution.
|
||||
|
||||
Subject to the terms and conditions of this license, each copyright holder
|
||||
and contributor hereby grants to those receiving rights under this license
|
||||
a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable
|
||||
(except for failure to satisfy the conditions of this license) patent
|
||||
license to make, have made, use, offer to sell, sell, import, and otherwise
|
||||
transfer this software, where such license applies only to those patent
|
||||
claims, already acquired or hereafter acquired, licensable by such copyright
|
||||
holder or contributor that are necessarily infringed by:
|
||||
|
||||
(a) their Contribution(s) (the licensed copyrights of copyright holders and
|
||||
non-copyrightable additions of contributors, in source or binary form)
|
||||
alone; or
|
||||
|
||||
(b) combination of their Contribution(s) with the work of authorship to
|
||||
which such Contribution(s) was added by such copyright holder or
|
||||
contributor, if, at the time the Contribution is added, such addition
|
||||
causes such combination to be necessarily infringed. The patent license
|
||||
shall not apply to any other combinations which include the
|
||||
Contribution.
|
||||
|
||||
Except as expressly stated above, no rights or licenses from any copyright
|
||||
holder or contributor is granted under this license, whether expressly, by
|
||||
implication, estoppel or otherwise.
|
||||
|
||||
DISCLAIMER
|
||||
|
||||
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
||||
AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
||||
ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDERS OR CONTRIBUTORS BE
|
||||
LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
|
||||
CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
|
||||
SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
|
||||
INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
|
||||
CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
||||
ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
||||
POSSIBILITY OF SUCH DAMAGE.
|
|
@ -0,0 +1,183 @@
|
|||
========================================
|
||||
Project Mu Intel Common MinPlatform Repo
|
||||
========================================
|
||||
|
||||
============================= ================= =============== ===================
|
||||
Host Type & Toolchain Build Status Test Status Code Coverage
|
||||
============================= ================= =============== ===================
|
||||
Windows_VS2019_ |WindowsCiBuild| |WindowsCiTest| |WindowsCiCoverage|
|
||||
Ubuntu_GCC5_ |UbuntuCiBuild| |UbuntuCiTest| |UbuntuCiCoverage|
|
||||
============================= ================= =============== ===================
|
||||
|
||||
This repository is a restructuring of open packages contributed by Intel.
|
||||
|
||||
It is organized so that common code can be made available to any platform with minimal difficulty.
|
||||
|
||||
This repository is part of Project Mu. Please see Project Mu for details https://microsoft.github.io/mu
|
||||
|
||||
Branch Status - release/202108
|
||||
==============================
|
||||
|
||||
:Status:
|
||||
In Development
|
||||
|
||||
:Entered Development:
|
||||
September 2021
|
||||
|
||||
:Anticipated Stabilization:
|
||||
November 2021
|
||||
|
||||
Branch Changes - release/202108
|
||||
===============================
|
||||
|
||||
Breaking Changes-dev
|
||||
--------------------
|
||||
|
||||
- None
|
||||
|
||||
Main Changes-dev
|
||||
----------------
|
||||
|
||||
- None
|
||||
|
||||
Bug Fixes-dev
|
||||
-------------
|
||||
|
||||
- None
|
||||
|
||||
2108_RefBoot Changes
|
||||
--------------------
|
||||
|
||||
- Incomplete
|
||||
|
||||
2108_CIBuild Changes
|
||||
--------------------
|
||||
|
||||
- Incomplete
|
||||
|
||||
2108_Rebase Changes
|
||||
-------------------
|
||||
|
||||
| Starting commit: f36963a8 ("MinPlatformPkg/TpmPlatformHierarchyLib: Add disable support", 2021-06-07)
|
||||
| Destination commit: c962051c ("MinPlatformPkg: Move TpmPlatformHierarchyLib definition", 2021-08-04)
|
||||
|
||||
- Incomplete
|
||||
|
||||
Repo Maintenance
|
||||
================
|
||||
|
||||
Upstream Sync Details
|
||||
---------------------
|
||||
|
||||
- edk2_platforms - ff31f8f683 ("Platform/SiFive: Add VariablePolicyHelperLib to the dsc files", 2021-08-23)
|
||||
|
||||
Instructions
|
||||
------------
|
||||
|
||||
This repo is a composite repo of packages from 'edk2-platforms'. To maintain it simply, we have established an 'upstream' branch to track the current state of things. To take a new integration, follow the steps below:
|
||||
|
||||
First go to a local copy of edk2-platforms and dump all patches since the last upstream sync (see `Upstream Sync Details`_)::
|
||||
|
||||
# In edk2-platforms...
|
||||
git format-patch <last_sync_commit>..<new_sync_commit> -- Platform/Intel/MinPlatformPkg
|
||||
|
||||
Then apply them to the 'upstream' branch in this repo while modifying the path length (to bring things to the top level)::
|
||||
|
||||
# -p 3 will drop 3 path elements, including 'a' or 'b' off the diff path.
|
||||
git am -p 3 ../../edk2-platforms/*.patch
|
||||
|
||||
Make sure to update the `Upstream Sync Details`_ once done.
|
||||
|
||||
To perform an integration, simply set your XXXX_Upstream tag to the top of 'upstream' and rebase as normal. Make sure to push 'upstream' to the server after integration, along with new release branch.
|
||||
|
||||
Code of Conduct
|
||||
===============
|
||||
|
||||
This project has adopted the Microsoft Open Source Code of Conduct https://opensource.microsoft.com/codeofconduct/
|
||||
|
||||
For more information see the Code of Conduct FAQ https://opensource.microsoft.com/codeofconduct/faq/
|
||||
or contact `opencode@microsoft.com <mailto:opencode@microsoft.com>`_. with any additional questions or comments.
|
||||
|
||||
Contributions
|
||||
=============
|
||||
|
||||
Contributions are always welcome and encouraged!
|
||||
Please open any issues in the Project Mu GitHub tracker and read https://microsoft.github.io/mu/How/contributing/
|
||||
|
||||
|
||||
Copyright & License
|
||||
===================
|
||||
|
||||
| Copyright (C) Microsoft Corporation
|
||||
| SPDX-License-Identifier: BSD-2-Clause-Patent
|
||||
|
||||
Upstream License (TianoCore)
|
||||
============================
|
||||
|
||||
Copyright (c) 2019, TianoCore and contributors. All rights reserved.
|
||||
|
||||
SPDX-License-Identifier: BSD-2-Clause-Patent
|
||||
|
||||
Redistribution and use in source and binary forms, with or without
|
||||
modification, are permitted provided that the following conditions are met:
|
||||
|
||||
1. Redistributions of source code must retain the above copyright notice,
|
||||
this list of conditions and the following disclaimer.
|
||||
|
||||
2. Redistributions in binary form must reproduce the above copyright notice,
|
||||
this list of conditions and the following disclaimer in the documentation
|
||||
and/or other materials provided with the distribution.
|
||||
|
||||
Subject to the terms and conditions of this license, each copyright holder
|
||||
and contributor hereby grants to those receiving rights under this license
|
||||
a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable
|
||||
(except for failure to satisfy the conditions of this license) patent
|
||||
license to make, have made, use, offer to sell, sell, import, and otherwise
|
||||
transfer this software, where such license applies only to those patent
|
||||
claims, already acquired or hereafter acquired, licensable by such copyright
|
||||
holder or contributor that are necessarily infringed by:
|
||||
|
||||
(a) their Contribution(s) (the licensed copyrights of copyright holders and
|
||||
non-copyrightable additions of contributors, in source or binary form)
|
||||
alone; or
|
||||
|
||||
(b) combination of their Contribution(s) with the work of authorship to
|
||||
which such Contribution(s) was added by such copyright holder or
|
||||
contributor, if, at the time the Contribution is added, such addition
|
||||
causes such combination to be necessarily infringed. The patent license
|
||||
shall not apply to any other combinations which include the
|
||||
Contribution.
|
||||
|
||||
Except as expressly stated above, no rights or licenses from any copyright
|
||||
holder or contributor is granted under this license, whether expressly, by
|
||||
implication, estoppel or otherwise.
|
||||
|
||||
DISCLAIMER
|
||||
|
||||
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
||||
AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
||||
ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDERS OR CONTRIBUTORS BE
|
||||
LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
|
||||
CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
|
||||
SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
|
||||
INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
|
||||
CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
||||
ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
||||
POSSIBILITY OF SUCH DAMAGE.
|
||||
|
||||
.. ===================================================================
|
||||
.. This is a bunch of directives to make the README file more readable
|
||||
.. ===================================================================
|
||||
|
||||
.. CoreCI
|
||||
|
||||
.. _Windows_VS2019: https://dev.azure.com/projectmu/mu/_build/latest?definitionId=71&&branchName=release%2F202108
|
||||
.. |WindowsCiBuild| image:: https://dev.azure.com/projectmu/mu/_apis/build/status/CI/Mu%20Common%20Intel%20MinPlatform%20CI%20VS2019?branchName=release%2F202108
|
||||
.. |WindowsCiTest| image:: https://img.shields.io/azure-devops/tests/projectmu/mu/71.svg
|
||||
.. |WindowsCiCoverage| image:: https://img.shields.io/badge/coverage-coming_soon-blue
|
||||
|
||||
.. _Ubuntu_GCC5: https://dev.azure.com/projectmu/mu/_build/latest?definitionId=72&branchName=release%2F202108
|
||||
.. |UbuntuCiBuild| image:: https://dev.azure.com/projectmu/mu/_apis/build/status/CI/Mu%20Common%20Intel%20MinPlatform%20CI%20Ubuntu%20GCC5?branchName=release%2F202108
|
||||
.. |UbuntuCiTest| image:: https://img.shields.io/azure-devops/tests/projectmu/mu/72.svg
|
||||
.. |UbuntuCiCoverage| image:: https://img.shields.io/badge/coverage-coming_soon-blue
|
|
@ -0,0 +1,97 @@
|
|||
# Project Mu Common Intel MinPlatform
|
||||
|
||||
??? info "Git Details"
|
||||
Repository Url: {{mu_common_intel_min_platform.url}}
|
||||
Branch: {{mu_common_intel_min_platform.branch}}
|
||||
Commit: [{{mu_common_intel_min_platform.commit}}]({{mu_common_intel_min_platform.commitlink}})
|
||||
Commit Date: {{mu_common_intel_min_platform.date}}
|
||||
|
||||
This repository contains Project Mu code based on TianoCore edk2 code for Intel MinPlatform.
|
||||
|
||||
## More Info
|
||||
|
||||
Please see the Project Mu docs (<https://github.com/Microsoft/mu>) for more
|
||||
information.
|
||||
|
||||
This project has adopted the [Microsoft Open Source Code of
|
||||
Conduct](https://opensource.microsoft.com/codeofconduct/).
|
||||
|
||||
For more information see the [Code of Conduct
|
||||
FAQ](https://opensource.microsoft.com/codeofconduct/faq/) or contact
|
||||
[opencode@microsoft.com](mailto:opencode@microsoft.com) with any additional
|
||||
questions or comments.
|
||||
|
||||
## Issues
|
||||
|
||||
Please open any issues in the Project Mu GitHub tracker. [More
|
||||
Details](https://microsoft.github.io/mu/How/contributing/)
|
||||
|
||||
## Contributing Code or Docs
|
||||
|
||||
Please follow the general Project Mu Pull Request process. [More
|
||||
Details](https://microsoft.github.io/mu/How/contributing/)
|
||||
|
||||
* [Code Requirements](https://microsoft.github.io/mu/CodeDevelopment/requirements/)
|
||||
* [Doc Requirements](https://microsoft.github.io/mu/DeveloperDocs/requirements/)
|
||||
|
||||
## Builds
|
||||
|
||||
Please follow the steps in the Project Mu docs to build for CI and local
|
||||
testing. [More Details](https://microsoft.github.io/mu/CodeDevelopment/compile/)
|
||||
|
||||
## Copyright & License
|
||||
|
||||
Copyright (C) Microsoft Corporation
|
||||
SPDX-License-Identifier: BSD-2-Clause-Patent
|
||||
|
||||
### Upstream License (TianoCore)
|
||||
|
||||
Copyright (c) 2019, TianoCore and contributors. All rights reserved.
|
||||
|
||||
SPDX-License-Identifier: BSD-2-Clause-Patent
|
||||
|
||||
Redistribution and use in source and binary forms, with or without modification,
|
||||
are permitted provided that the following conditions are met:
|
||||
|
||||
1. Redistributions of source code must retain the above copyright notice, this
|
||||
list of conditions and the following disclaimer.
|
||||
|
||||
2. Redistributions in binary form must reproduce the above copyright notice,
|
||||
this list of conditions and the following disclaimer in the documentation
|
||||
and/or other materials provided with the distribution.
|
||||
|
||||
Subject to the terms and conditions of this license, each copyright holder and
|
||||
contributor hereby grants to those receiving rights under this license a
|
||||
perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable
|
||||
(except for failure to satisfy the conditions of this license) patent license to
|
||||
make, have made, use, offer to sell, sell, import, and otherwise transfer this
|
||||
software, where such license applies only to those patent claims, already
|
||||
acquired or hereafter acquired, licensable by such copyright holder or
|
||||
contributor that are necessarily infringed by:
|
||||
|
||||
(a) their Contribution(s) (the licensed copyrights of copyright holders and
|
||||
non-copyrightable additions of contributors, in source or binary form)
|
||||
alone; or
|
||||
|
||||
(b) combination of their Contribution(s) with the work of authorship to which
|
||||
such Contribution(s) was added by such copyright holder or contributor, if,
|
||||
at the time the Contribution is added, such addition causes such combination
|
||||
to be necessarily infringed. The patent license shall not apply to any other
|
||||
combinations which include the Contribution.
|
||||
|
||||
Except as expressly stated above, no rights or licenses from any copyright
|
||||
holder or contributor is granted under this license, whether expressly, by
|
||||
implication, estoppel or otherwise.
|
||||
|
||||
DISCLAIMER
|
||||
|
||||
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
|
||||
ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
|
||||
WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
||||
DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE
|
||||
FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
|
||||
DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
|
||||
SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
|
||||
CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR
|
||||
TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
|
||||
THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
|
@ -0,0 +1,18 @@
|
|||
## @file
|
||||
# EDK II Python PIP requirements file
|
||||
#
|
||||
# This file provides the list of python components to install using PIP.
|
||||
#
|
||||
# Copyright (c) Microsoft Corporation.
|
||||
# SPDX-License-Identifier: BSD-2-Clause-Patent
|
||||
#
|
||||
# https://pypi.org/project/pip/
|
||||
# https://pip.pypa.io/en/stable/user_guide/#requirements-files
|
||||
# https://pip.pypa.io/en/stable/reference/pip_install/#requirements-file-format
|
||||
# https://www.python.org/dev/peps/pep-0440/#version-specifiers
|
||||
##
|
||||
|
||||
edk2-pytool-library~=0.11.0 # MU_CHANGE - update to 0.11.0 or later
|
||||
edk2-pytool-extensions~=0.15.0 # MU_CHANGE - update to 0.15.0 or later
|
||||
edk2-basetools==0.1.6 # MU_CHANGE - update to 0.1.6 or later
|
||||
antlr4-python3-runtime==4.7.1
|
Загрузка…
Ссылка в новой задаче