Skip to content

Conversation

@makubacki
Copy link
Member

Updates this repo to use mu_devops for Azure Pipeline definitions.

In order to centralize definitions and avoid build churn in individual Mu repos, some changes are made to allow build administrators to quickly adjust settings:

  • Toolchain, VM image, and architecture are controlled by build administrators through centralized variable groups

  • CI triggers, CI schedules, and PR triggers are controlled by build administrators within the individual pipeline UI settings

  • Breaking change?

    • Will this change break pre-existing builds or functionality without action being taken? No

Verified in test pipelines.

N/A - No developer integration required

Signed-off-by: Michael Kubacki michael.kubacki@microsoft.com

…08 and release/202202 (microsoft#64)"

Reverts commit cf5db69 to reduce
conflicts when moving to new Mu pipeline design.

Signed-off-by: Michael Kubacki <michael.kubacki@microsoft.com>
@makubacki
Copy link
Member Author

Note: 202208 version of #65

Updates this repo to use mu_devops for Azure Pipeline definitions.

In order to centralize definitions and avoid build churn in individual Mu repos,
some changes are made to allow build administrators to quickly adjust settings:

- Toolchain, VM image, and architecture are controlled by build administrators through centralized
   variable groups
- CI triggers, CI schedules, and PR triggers are controlled by build administrators within the
  individual pipeline UI settings

- [ ] Breaking change?
  - Will this change break pre-existing builds or functionality without action being taken?
  **No**

Verified in test pipelines.

N/A - No developer integration required

Signed-off-by: Michael Kubacki <michael.kubacki@microsoft.com>
@makubacki makubacki force-pushed the use_mu_devops_202208 branch from 75dd7b0 to 8e44b89 Compare October 24, 2022 20:46
@makubacki makubacki merged commit 7c0f533 into microsoft:release/202208 Oct 24, 2022
kenlautner pushed a commit that referenced this pull request May 15, 2023
Updates this repo to use mu_devops for Azure Pipeline definitions.

In order to centralize definitions and avoid build churn in individual
Mu repos, some changes are made to allow build administrators to quickly
adjust settings:

- Toolchain, VM image, and architecture are controlled by build
administrators through centralized variable groups
- CI triggers, CI schedules, and PR triggers are controlled by build
administrators within the individual pipeline UI settings

- [ ] Breaking change?
- Will this change break pre-existing builds or functionality without
action being taken? **No**

Verified in test pipelines.

N/A - No developer integration required

Signed-off-by: Michael Kubacki <michael.kubacki@microsoft.com>

Add logic for container build to Matrix-Build-Job.yml (#80)

Changes the matrix build job to be able to take input for the container
image used in the generic mu_devops file generated.

Will be used by: microsoft/mu_devops#59

- [ ] Impacts functionality?
- [ ] Impacts security?
- [ ] Breaking change?
- [ ] Includes tests?
- [ ] Includes documentation?

Tested on test pipeline with mu_devops changes made locally

N/A

.azurepipelines: Add support for new artifacts_identifier param (#104)

A new identifier can be used to identify published artifacts (as
of mu_devops 2.0.0 release). This change passes the packages and
targets being built to clarify artifact names.

The default value for the identifier is "Artifacts" so that is
what is being used at the moment. For example, build logs are
published under `"Logs Artifacts"`. After this change, the
identifier will be `"Logs <packages> <targets>"`.

- [ ] Impacts functionality?
  - **Functionality** - Does the change ultimately impact how firmware functions?
  - Examples: Add a new library, publish a new PPI, update an algorithm, ...
- [ ] Impacts security?
  - **Security** - Does the change have a direct security impact on an application,
    flow, or firmware?
  - Examples: Crypto algorithm change, buffer overflow fix, parameter
    validation improvement, ...
- [x] Breaking change?
  - **Breaking change** - Will anyone consuming this change experience a break
    in build or boot behavior?
  - Examples: Add a new library class, move a module to a different repo, call
    a function in a new library class in a pre-existing module, ...
- [ ] Includes tests?
  - **Tests** - Does the change include any explicit test code?
  - Examples: Unit tests, integration tests, robot tests, ...
- [ ] Includes documentation?
  - **Documentation** - Does the change contain explicit documentation additions
    outside direct code modifications (and comments)?
  - Examples: Update readme file, add feature readme file, link to documentation
    on an a separate Web page, ...

Verified pipeline artifacts are named as expected.

This is considered a "breaking change" because artifacts are accessible via
ADO APIs and can be identified by the artifact name. While it is unlikely any
process is consuming these artifacts based on name, if they are, they will
need to use the new artifact naming convention introduced in this change.

Signed-off-by: Michael Kubacki <michael.kubacki@microsoft.com>
kenlautner pushed a commit that referenced this pull request Oct 26, 2023
Updates this repo to use mu_devops for Azure Pipeline definitions.

In order to centralize definitions and avoid build churn in individual
Mu repos, some changes are made to allow build administrators to quickly
adjust settings:

- Toolchain, VM image, and architecture are controlled by build
administrators through centralized variable groups
- CI triggers, CI schedules, and PR triggers are controlled by build
administrators within the individual pipeline UI settings

- [ ] Breaking change?
- Will this change break pre-existing builds or functionality without
action being taken? **No**

Verified in test pipelines.

N/A - No developer integration required

Signed-off-by: Michael Kubacki <michael.kubacki@microsoft.com>

Add logic for container build to Matrix-Build-Job.yml (#80)

Changes the matrix build job to be able to take input for the container
image used in the generic mu_devops file generated.

Will be used by: microsoft/mu_devops#59

- [ ] Impacts functionality?
- [ ] Impacts security?
- [ ] Breaking change?
- [ ] Includes tests?
- [ ] Includes documentation?

Tested on test pipeline with mu_devops changes made locally

N/A

.azurepipelines: Add support for new artifacts_identifier param (#104)

A new identifier can be used to identify published artifacts (as
of mu_devops 2.0.0 release). This change passes the packages and
targets being built to clarify artifact names.

The default value for the identifier is "Artifacts" so that is
what is being used at the moment. For example, build logs are
published under `"Logs Artifacts"`. After this change, the
identifier will be `"Logs <packages> <targets>"`.

- [ ] Impacts functionality?
  - **Functionality** - Does the change ultimately impact how firmware functions?
  - Examples: Add a new library, publish a new PPI, update an algorithm, ...
- [ ] Impacts security?
  - **Security** - Does the change have a direct security impact on an application,
    flow, or firmware?
  - Examples: Crypto algorithm change, buffer overflow fix, parameter
    validation improvement, ...
- [x] Breaking change?
  - **Breaking change** - Will anyone consuming this change experience a break
    in build or boot behavior?
  - Examples: Add a new library class, move a module to a different repo, call
    a function in a new library class in a pre-existing module, ...
- [ ] Includes tests?
  - **Tests** - Does the change include any explicit test code?
  - Examples: Unit tests, integration tests, robot tests, ...
- [ ] Includes documentation?
  - **Documentation** - Does the change contain explicit documentation additions
    outside direct code modifications (and comments)?
  - Examples: Update readme file, add feature readme file, link to documentation
    on an a separate Web page, ...

Verified pipeline artifacts are named as expected.

This is considered a "breaking change" because artifacts are accessible via
ADO APIs and can be identified by the artifact name. While it is unlikely any
process is consuming these artifacts based on name, if they are, they will
need to use the new artifact naming convention introduced in this change.

Signed-off-by: Michael Kubacki <michael.kubacki@microsoft.com>
kenlautner pushed a commit that referenced this pull request Dec 20, 2023
Updates this repo to use mu_devops for Azure Pipeline definitions.

In order to centralize definitions and avoid build churn in individual
Mu repos, some changes are made to allow build administrators to quickly
adjust settings:

- Toolchain, VM image, and architecture are controlled by build
administrators through centralized variable groups
- CI triggers, CI schedules, and PR triggers are controlled by build
administrators within the individual pipeline UI settings

- [ ] Breaking change?
- Will this change break pre-existing builds or functionality without
action being taken? **No**

Verified in test pipelines.

N/A - No developer integration required

Signed-off-by: Michael Kubacki <michael.kubacki@microsoft.com>

Add logic for container build to Matrix-Build-Job.yml (#80)

Changes the matrix build job to be able to take input for the container
image used in the generic mu_devops file generated.

Will be used by: microsoft/mu_devops#59

- [ ] Impacts functionality?
- [ ] Impacts security?
- [ ] Breaking change?
- [ ] Includes tests?
- [ ] Includes documentation?

Tested on test pipeline with mu_devops changes made locally

N/A

.azurepipelines: Add support for new artifacts_identifier param (#104)

A new identifier can be used to identify published artifacts (as
of mu_devops 2.0.0 release). This change passes the packages and
targets being built to clarify artifact names.

The default value for the identifier is "Artifacts" so that is
what is being used at the moment. For example, build logs are
published under `"Logs Artifacts"`. After this change, the
identifier will be `"Logs <packages> <targets>"`.

- [ ] Impacts functionality?
  - **Functionality** - Does the change ultimately impact how firmware functions?
  - Examples: Add a new library, publish a new PPI, update an algorithm, ...
- [ ] Impacts security?
  - **Security** - Does the change have a direct security impact on an application,
    flow, or firmware?
  - Examples: Crypto algorithm change, buffer overflow fix, parameter
    validation improvement, ...
- [x] Breaking change?
  - **Breaking change** - Will anyone consuming this change experience a break
    in build or boot behavior?
  - Examples: Add a new library class, move a module to a different repo, call
    a function in a new library class in a pre-existing module, ...
- [ ] Includes tests?
  - **Tests** - Does the change include any explicit test code?
  - Examples: Unit tests, integration tests, robot tests, ...
- [ ] Includes documentation?
  - **Documentation** - Does the change contain explicit documentation additions
    outside direct code modifications (and comments)?
  - Examples: Update readme file, add feature readme file, link to documentation
    on an a separate Web page, ...

Verified pipeline artifacts are named as expected.

This is considered a "breaking change" because artifacts are accessible via
ADO APIs and can be identified by the artifact name. While it is unlikely any
process is consuming these artifacts based on name, if they are, they will
need to use the new artifact naming convention introduced in this change.

Signed-off-by: Michael Kubacki <michael.kubacki@microsoft.com>
kenlautner pushed a commit that referenced this pull request Aug 2, 2024
Updates this repo to use mu_devops for Azure Pipeline definitions.

In order to centralize definitions and avoid build churn in individual
Mu repos, some changes are made to allow build administrators to quickly
adjust settings:

- Toolchain, VM image, and architecture are controlled by build
administrators through centralized variable groups
- CI triggers, CI schedules, and PR triggers are controlled by build
administrators within the individual pipeline UI settings

- [ ] Breaking change?
- Will this change break pre-existing builds or functionality without
action being taken? **No**

Verified in test pipelines.

N/A - No developer integration required

Signed-off-by: Michael Kubacki <michael.kubacki@microsoft.com>

Add logic for container build to Matrix-Build-Job.yml (#80)

Changes the matrix build job to be able to take input for the container
image used in the generic mu_devops file generated.

Will be used by: microsoft/mu_devops#59

- [ ] Impacts functionality?
- [ ] Impacts security?
- [ ] Breaking change?
- [ ] Includes tests?
- [ ] Includes documentation?

Tested on test pipeline with mu_devops changes made locally

N/A

.azurepipelines: Add support for new artifacts_identifier param (#104)

A new identifier can be used to identify published artifacts (as
of mu_devops 2.0.0 release). This change passes the packages and
targets being built to clarify artifact names.

The default value for the identifier is "Artifacts" so that is
what is being used at the moment. For example, build logs are
published under `"Logs Artifacts"`. After this change, the
identifier will be `"Logs <packages> <targets>"`.

- [ ] Impacts functionality?
  - **Functionality** - Does the change ultimately impact how firmware functions?
  - Examples: Add a new library, publish a new PPI, update an algorithm, ...
- [ ] Impacts security?
  - **Security** - Does the change have a direct security impact on an application,
    flow, or firmware?
  - Examples: Crypto algorithm change, buffer overflow fix, parameter
    validation improvement, ...
- [x] Breaking change?
  - **Breaking change** - Will anyone consuming this change experience a break
    in build or boot behavior?
  - Examples: Add a new library class, move a module to a different repo, call
    a function in a new library class in a pre-existing module, ...
- [ ] Includes tests?
  - **Tests** - Does the change include any explicit test code?
  - Examples: Unit tests, integration tests, robot tests, ...
- [ ] Includes documentation?
  - **Documentation** - Does the change contain explicit documentation additions
    outside direct code modifications (and comments)?
  - Examples: Update readme file, add feature readme file, link to documentation
    on an a separate Web page, ...

Verified pipeline artifacts are named as expected.

This is considered a "breaking change" because artifacts are accessible via
ADO APIs and can be identified by the artifact name. While it is unlikely any
process is consuming these artifacts based on name, if they are, they will
need to use the new artifact naming convention introduced in this change.

Signed-off-by: Michael Kubacki <michael.kubacki@microsoft.com>
kenlautner pushed a commit that referenced this pull request Aug 2, 2024
Updates this repo to use mu_devops for Azure Pipeline definitions.

In order to centralize definitions and avoid build churn in individual
Mu repos, some changes are made to allow build administrators to quickly
adjust settings:

- Toolchain, VM image, and architecture are controlled by build
administrators through centralized variable groups
- CI triggers, CI schedules, and PR triggers are controlled by build
administrators within the individual pipeline UI settings

- [ ] Breaking change?
- Will this change break pre-existing builds or functionality without
action being taken? **No**

Verified in test pipelines.

N/A - No developer integration required

Signed-off-by: Michael Kubacki <michael.kubacki@microsoft.com>

Add logic for container build to Matrix-Build-Job.yml (#80)

Changes the matrix build job to be able to take input for the container
image used in the generic mu_devops file generated.

Will be used by: microsoft/mu_devops#59

- [ ] Impacts functionality?
- [ ] Impacts security?
- [ ] Breaking change?
- [ ] Includes tests?
- [ ] Includes documentation?

Tested on test pipeline with mu_devops changes made locally

N/A

.azurepipelines: Add support for new artifacts_identifier param (#104)

A new identifier can be used to identify published artifacts (as
of mu_devops 2.0.0 release). This change passes the packages and
targets being built to clarify artifact names.

The default value for the identifier is "Artifacts" so that is
what is being used at the moment. For example, build logs are
published under `"Logs Artifacts"`. After this change, the
identifier will be `"Logs <packages> <targets>"`.

- [ ] Impacts functionality?
  - **Functionality** - Does the change ultimately impact how firmware functions?
  - Examples: Add a new library, publish a new PPI, update an algorithm, ...
- [ ] Impacts security?
  - **Security** - Does the change have a direct security impact on an application,
    flow, or firmware?
  - Examples: Crypto algorithm change, buffer overflow fix, parameter
    validation improvement, ...
- [x] Breaking change?
  - **Breaking change** - Will anyone consuming this change experience a break
    in build or boot behavior?
  - Examples: Add a new library class, move a module to a different repo, call
    a function in a new library class in a pre-existing module, ...
- [ ] Includes tests?
  - **Tests** - Does the change include any explicit test code?
  - Examples: Unit tests, integration tests, robot tests, ...
- [ ] Includes documentation?
  - **Documentation** - Does the change contain explicit documentation additions
    outside direct code modifications (and comments)?
  - Examples: Update readme file, add feature readme file, link to documentation
    on an a separate Web page, ...

Verified pipeline artifacts are named as expected.

This is considered a "breaking change" because artifacts are accessible via
ADO APIs and can be identified by the artifact name. While it is unlikely any
process is consuming these artifacts based on name, if they are, they will
need to use the new artifact naming convention introduced in this change.

Signed-off-by: Michael Kubacki <michael.kubacki@microsoft.com>
kenlautner pushed a commit that referenced this pull request Aug 2, 2024
Updates this repo to use mu_devops for Azure Pipeline definitions.

In order to centralize definitions and avoid build churn in individual
Mu repos, some changes are made to allow build administrators to quickly
adjust settings:

- Toolchain, VM image, and architecture are controlled by build
administrators through centralized variable groups
- CI triggers, CI schedules, and PR triggers are controlled by build
administrators within the individual pipeline UI settings

- [ ] Breaking change?
- Will this change break pre-existing builds or functionality without
action being taken? **No**

Verified in test pipelines.

N/A - No developer integration required

Signed-off-by: Michael Kubacki <michael.kubacki@microsoft.com>

Add logic for container build to Matrix-Build-Job.yml (#80)

Changes the matrix build job to be able to take input for the container
image used in the generic mu_devops file generated.

Will be used by: microsoft/mu_devops#59

- [ ] Impacts functionality?
- [ ] Impacts security?
- [ ] Breaking change?
- [ ] Includes tests?
- [ ] Includes documentation?

Tested on test pipeline with mu_devops changes made locally

N/A

.azurepipelines: Add support for new artifacts_identifier param (#104)

A new identifier can be used to identify published artifacts (as
of mu_devops 2.0.0 release). This change passes the packages and
targets being built to clarify artifact names.

The default value for the identifier is "Artifacts" so that is
what is being used at the moment. For example, build logs are
published under `"Logs Artifacts"`. After this change, the
identifier will be `"Logs <packages> <targets>"`.

- [ ] Impacts functionality?
  - **Functionality** - Does the change ultimately impact how firmware functions?
  - Examples: Add a new library, publish a new PPI, update an algorithm, ...
- [ ] Impacts security?
  - **Security** - Does the change have a direct security impact on an application,
    flow, or firmware?
  - Examples: Crypto algorithm change, buffer overflow fix, parameter
    validation improvement, ...
- [x] Breaking change?
  - **Breaking change** - Will anyone consuming this change experience a break
    in build or boot behavior?
  - Examples: Add a new library class, move a module to a different repo, call
    a function in a new library class in a pre-existing module, ...
- [ ] Includes tests?
  - **Tests** - Does the change include any explicit test code?
  - Examples: Unit tests, integration tests, robot tests, ...
- [ ] Includes documentation?
  - **Documentation** - Does the change contain explicit documentation additions
    outside direct code modifications (and comments)?
  - Examples: Update readme file, add feature readme file, link to documentation
    on an a separate Web page, ...

Verified pipeline artifacts are named as expected.

This is considered a "breaking change" because artifacts are accessible via
ADO APIs and can be identified by the artifact name. While it is unlikely any
process is consuming these artifacts based on name, if they are, they will
need to use the new artifact naming convention introduced in this change.

Signed-off-by: Michael Kubacki <michael.kubacki@microsoft.com>
kenlautner pushed a commit that referenced this pull request Jan 10, 2025
Updates this repo to use mu_devops for Azure Pipeline definitions.

In order to centralize definitions and avoid build churn in individual
Mu repos, some changes are made to allow build administrators to quickly
adjust settings:

- Toolchain, VM image, and architecture are controlled by build
administrators through centralized variable groups
- CI triggers, CI schedules, and PR triggers are controlled by build
administrators within the individual pipeline UI settings

- [ ] Breaking change?
- Will this change break pre-existing builds or functionality without
action being taken? **No**

Verified in test pipelines.

N/A - No developer integration required

Signed-off-by: Michael Kubacki <michael.kubacki@microsoft.com>

Add logic for container build to Matrix-Build-Job.yml (#80)

Changes the matrix build job to be able to take input for the container
image used in the generic mu_devops file generated.

Will be used by: microsoft/mu_devops#59

- [ ] Impacts functionality?
- [ ] Impacts security?
- [ ] Breaking change?
- [ ] Includes tests?
- [ ] Includes documentation?

Tested on test pipeline with mu_devops changes made locally

N/A

.azurepipelines: Add support for new artifacts_identifier param (#104)

A new identifier can be used to identify published artifacts (as
of mu_devops 2.0.0 release). This change passes the packages and
targets being built to clarify artifact names.

The default value for the identifier is "Artifacts" so that is
what is being used at the moment. For example, build logs are
published under `"Logs Artifacts"`. After this change, the
identifier will be `"Logs <packages> <targets>"`.

- [ ] Impacts functionality?
  - **Functionality** - Does the change ultimately impact how firmware functions?
  - Examples: Add a new library, publish a new PPI, update an algorithm, ...
- [ ] Impacts security?
  - **Security** - Does the change have a direct security impact on an application,
    flow, or firmware?
  - Examples: Crypto algorithm change, buffer overflow fix, parameter
    validation improvement, ...
- [x] Breaking change?
  - **Breaking change** - Will anyone consuming this change experience a break
    in build or boot behavior?
  - Examples: Add a new library class, move a module to a different repo, call
    a function in a new library class in a pre-existing module, ...
- [ ] Includes tests?
  - **Tests** - Does the change include any explicit test code?
  - Examples: Unit tests, integration tests, robot tests, ...
- [ ] Includes documentation?
  - **Documentation** - Does the change contain explicit documentation additions
    outside direct code modifications (and comments)?
  - Examples: Update readme file, add feature readme file, link to documentation
    on an a separate Web page, ...

Verified pipeline artifacts are named as expected.

This is considered a "breaking change" because artifacts are accessible via
ADO APIs and can be identified by the artifact name. While it is unlikely any
process is consuming these artifacts based on name, if they are, they will
need to use the new artifact naming convention introduced in this change.

Signed-off-by: Michael Kubacki <michael.kubacki@microsoft.com>
apop5 pushed a commit that referenced this pull request Feb 11, 2025
Updates this repo to use mu_devops for Azure Pipeline definitions.

In order to centralize definitions and avoid build churn in individual
Mu repos, some changes are made to allow build administrators to quickly
adjust settings:

- Toolchain, VM image, and architecture are controlled by build
administrators through centralized variable groups
- CI triggers, CI schedules, and PR triggers are controlled by build
administrators within the individual pipeline UI settings

- [ ] Breaking change?
- Will this change break pre-existing builds or functionality without
action being taken? **No**

Verified in test pipelines.

N/A - No developer integration required

Signed-off-by: Michael Kubacki <michael.kubacki@microsoft.com>

Add logic for container build to Matrix-Build-Job.yml (#80)

Changes the matrix build job to be able to take input for the container
image used in the generic mu_devops file generated.

Will be used by: microsoft/mu_devops#59

- [ ] Impacts functionality?
- [ ] Impacts security?
- [ ] Breaking change?
- [ ] Includes tests?
- [ ] Includes documentation?

Tested on test pipeline with mu_devops changes made locally

N/A

.azurepipelines: Add support for new artifacts_identifier param (#104)

A new identifier can be used to identify published artifacts (as
of mu_devops 2.0.0 release). This change passes the packages and
targets being built to clarify artifact names.

The default value for the identifier is "Artifacts" so that is
what is being used at the moment. For example, build logs are
published under `"Logs Artifacts"`. After this change, the
identifier will be `"Logs <packages> <targets>"`.

- [ ] Impacts functionality?
  - **Functionality** - Does the change ultimately impact how firmware functions?
  - Examples: Add a new library, publish a new PPI, update an algorithm, ...
- [ ] Impacts security?
  - **Security** - Does the change have a direct security impact on an application,
    flow, or firmware?
  - Examples: Crypto algorithm change, buffer overflow fix, parameter
    validation improvement, ...
- [x] Breaking change?
  - **Breaking change** - Will anyone consuming this change experience a break
    in build or boot behavior?
  - Examples: Add a new library class, move a module to a different repo, call
    a function in a new library class in a pre-existing module, ...
- [ ] Includes tests?
  - **Tests** - Does the change include any explicit test code?
  - Examples: Unit tests, integration tests, robot tests, ...
- [ ] Includes documentation?
  - **Documentation** - Does the change contain explicit documentation additions
    outside direct code modifications (and comments)?
  - Examples: Update readme file, add feature readme file, link to documentation
    on an a separate Web page, ...

Verified pipeline artifacts are named as expected.

This is considered a "breaking change" because artifacts are accessible via
ADO APIs and can be identified by the artifact name. While it is unlikely any
process is consuming these artifacts based on name, if they are, they will
need to use the new artifact naming convention introduced in this change.

Signed-off-by: Michael Kubacki <michael.kubacki@microsoft.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants