Skip to content

Releases: microsoft/mu_devops

v8.0.0

15 Nov 23:55
eed62e8
Compare
Choose a tag to compare

What's Changed

⚠️ Breaking Changes

  • Jobs/PrGate.yml: Update Code Coverage commands @Javagedes (#273)
    Change Details
      Updates the Code coverage command to also use the following flags:

    CC_FLATTEN=TRUE - de-duplicates source file coverage due to the same source file being used by multiple INFs.

    CC_FULL=TRUE - inserts coverage data (correct code line count, but zero lines covered) for all source files in the package that are not present in the original coverage report.

    Integration Instructions

    Pipelines consuming this change must add pygount to their pip-requirements file.




🚀 Features & ✨ Enhancements

  • Jobs/PrGate.yml: Update Code Coverage commands @Javagedes (#273)
    Change Details
      Updates the Code coverage command to also use the following flags:

    CC_FLATTEN=TRUE - de-duplicates source file coverage due to the same source file being used by multiple INFs.

    CC_FULL=TRUE - inserts coverage data (correct code line count, but zero lines covered) for all source files in the package that are not present in the original coverage report.

    Integration Instructions

    Pipelines consuming this change must add pygount to their pip-requirements file.




Full Changelog: v7.3.0...v8.0.0

v7.3.0

15 Nov 23:21
Compare
Choose a tag to compare

What's Changed

🚀 Features & ✨ Enhancements

  • Steps/UploadCodeCoverage.yml: Remove dependency and conditionalize [Rebase \& FF] @makubacki (#274)
    Change Details
      Contains two changes related to uploading code coverage:
    1. Remove edk2toollib dependency

      Some repos (like pure Rust repos) are expected not to depend on
      pytools. Since the codecov application can simply be run without
      RunCmd(), do that and prevent the need for those repos to depend
      on edk2toollib or unnecessary logic in the pipelines to bring it in.

    2. Conditionalize coverage upload steps on codecov token presence

      Some repos may not upload to codecov for various reasons. Those repos
      won't set the code coverage token so conditionalize the upload steps
      on the token.


    Will unblock microsoft/mu_rust_hid#12




Full Changelog: v7.2.0...v7.3.0

v7.2.0

13 Nov 18:49
17c213b
Compare
Choose a tag to compare

What's Changed

  • .sync/Version.njk: Update Mu repos to Mu DevOps v7.1.0 @makubacki (#268)
    Change Details
      Changes since last release: https://github.com/microsoft/mu_devops/compare/v7.0.1...v7.1.0

    General release info: https://github.com/microsoft/mu_devops/releases


    This change is necessary when integrating 649a4ba to prevent the following failure:

    /.azurepipelines/MuDevOpsWrapper.yml (Line: 92, Col: 30): Unexpected
      parameter 'calculate_code_coverage'
    
      </blockquote>
      <hr>
    </details>
    

🚀 Features & ✨ Enhancements

  • MuDevOpsWrapper: Allow coverage uploads to ado or codecov.io @Javagedes (#270)
    Change Details
      ## Description

    This change reverts the changes made in #266 in favor of performing the reformatting in the HostBasedUnitTestRunner plugin. From there it allows the consumer of MuDevOpsWrapper to configure where code coverage data is uploaded to, either ado (The azure devops pipeline that is running) or codecov (The codecov account associated with the repository).

    • Uploading to ado remains the same - A final job runs that merges coverage data and uploads it to azure pipelines
    • Due to the advanced capabilities, uploading to codecov runs per matrix job and uploads using flags to separate code coverage data between packages.

    Integration Instructions

    The previous logic remains the default, that is to say code coverage is uploaded to the azure devops pipeline that is running. Should a consumer set coverage_publish_target to 'codecov', they must ensure that CODECOV_TOKEN is set as a private variable in the pipeline.

      </blockquote>
      <hr>
    </details>
    

Full Changelog: v7.1.0...v7.2.0

v7.1.0

03 Nov 17:11
649a4ba
Compare
Choose a tag to compare

What's Changed

✨ Enhancements

Integration Instructions

Code Coverage is now disabled by default for MuDevOpsWrapper.yml. To enable CodeCoverage, set the calculate_code_coverage: parameter to true for MuDevOpsWrapper. Code Coverage now requires that your build_file (typically CISetting.py) subclasses ParseSettingsManager, which was introduced in edk2-pytool-extensions v0.26.0

Full Changelog: v7.0.2...v7.1.0

v7.0.2

26 Oct 00:29
eb94dce
Compare
Choose a tag to compare

What's Changed

  • .sync/Version.njk: Update Mu repos to Mu DevOps v7.0.1 @makubacki (#262)
    Change Details
      Changes since last release: https://github.com/microsoft/mu_devops/compare/v7.0.0...v7.0.1

    Also updates the container to the latest version 1082f35.

    General release info: https://github.com/microsoft/mu_devops/releases




Full Changelog: v7.0.1...v7.0.2

v7.0.1

14 Oct 00:03
1082f35
Compare
Choose a tag to compare

What's Changed

Full Changelog: v7.0.0...v7.0.1

v7.0.0

09 Oct 17:56
d7907bf
Compare
Choose a tag to compare

What's Changed

⚠️ Breaking Changes

  • Fix Python minor version and update to Python 3.12 [Rebase \& FF] @makubacki (#259)
    Change Details
      Because of the way the Python version was managed, pipelines already started picking up [Python 3.12](https://www.python.org/downloads/release/python-3120/).

    Also, tool like pytools are releasing 3.12 support. This change fixes
    the minor version to prevent unintentional minor version updates in
    the future and explicitly sets the minor version to 12.

    This files synced from this PR should merged into repos after the pytools
    release is out with 3.12 support and this mu_basecore change is completed
    (microsoft/mu_basecore#586). Though since pipelines
    already moved to 3.12 as-is, it won't make much of a practical difference.

    Three commits:


    Fix Python minor version

    Set to Python 3.11 (current) but do not allow newer minor versions to
    be picked up unless explicitly specified.


    Update to Python 3.12

    Repos had already started picking up 3.12 because the minor version
    was previously not fixed. This change update the Python version to
    3.12 to accelerate adoption and ensure compatibility.


    .sync/Version.njk: Update Mu repos to Mu DevOps v7.0.0

    Changes since last release:
    v6.5.1...v7.0.0

    General release info: https://github.com/microsoft/mu_devops/releases




Full Changelog: v6.5.2...v7.0.0

v6.5.2

30 Sep 00:07
88d04c3
Compare
Choose a tag to compare

What's Changed

  • Add UploadCodeCoverage Template @Javagedes (#258)
    Change Details
      Add a new template, UploadCodeCoverage, that can be used to upload a code coverage document (such as cobertura) to codecov.io.

    Uses the -Z flag, which will cause the step to fail if uploading fails for any reason.

    See: https://dev.azure.com/projectmu/mu/_build/results?buildId=55185&view=results for a working example.

    Closed #257 but this should be usable in non-rust environments. I will start uploading all code coverage (such as for mu_basecore) once I have stuart_report merged and being used to clean up the code coverage data.




Full Changelog: v6.5.1...v6.5.2

v6.5.1

23 Sep 02:19
2318750
Compare
Choose a tag to compare

What's Changed

  • MuDevOpsWrapper.yml: Set container\_build parameter @makubacki (#253)
    Change Details
      Sets the parameter to true since this usage of the template is always using a container.

Full Changelog: v6.5.0...v6.5.1

v6.5.0

22 Sep 23:38
e2f5540
Compare
Choose a tag to compare

What's Changed

  • .sync/Files.yml: Drop Makefile.toml sync to mu\_rust\_hid @makubacki (#251)
    Change Details
      Do not sync the file since the repo is not planned to host UEFI rust code at this time which the makefile helps cater to.

🚀 Features & ✨ Enhancements

  • Steps/RustCargoSteps.yml: Parameterize commands @makubacki (#252)
    Change Details
      Allows the format, test, and build commands to be customized by a caller. The default values remain the same as the previous commands for backward compatibility.

    Repos that only contain pure Rust code may choose to pass conventional
    cargo commands or custom wrapper commands.




Full Changelog: v6.4.1...v6.5.0