Skip to content

Releases: microsoft/mu_devops

v9.1.0

24 Jan 19:55
45598bc
Compare
Choose a tag to compare

What's Changed

  • .sync/workflows/codeql: Always remove plugins in .pytools @kenlautner (#302)
    Change Details
      With the CodeQL plugin moving to BaseTools (from .pytool) starting in release/202311, update the workflow to always remove unnecessary plugins (that slow down the workflow) in .pytools as opposed to relative the CodeQL plugin path.

  • .sync/workflows/codeql: Update sync action to v4 @makubacki (#301)
    Change Details
      Matches the latest version being propagated by dependabot.

🚀 Features & ✨ Enhancements

  • .sync/workflows/leaf/codeql.yml: Update CodeQL plugin from .pytool to BaseTools @makubacki (#299)
    Change Details
      The CodeQL plugin moved from .pytool to BaseTools in the Mu Basecore 202311 update. This change first looks for the plugin in BaseTools and falls back to the prior .pytool location if it is not found for backward compatibility with some earlier release branches that have not picked up the change.

    Eventually, the .pytool fallback can be removed.


    Issue to track removal of the fallback: #300




🐛 Bug Fixes

  • Fix issue with .pytool/Plugin removal which was introduced with the latest codeql.yml change. @kenlautner (#303)
    Change Details
      The latest codeql.yml change updated the cleanup step to find .pytool/Plugin folder directly instead of using a relevant path form the CodeQL plugin directory.

    That change didn't take into account how all branches from release/202302 and older have the .pytool/Plugin version of CodeQL and was deleting all plugins in .pytool besides CompilerPlugin. This change excludes the CodeQL plugin if it exists as well.




Full Changelog: v9.0.6...v9.1.0

v9.0.6

19 Jan 00:33
dc54ac0
Compare
Choose a tag to compare

What's Changed

  • Rust: Makefile.toml: Add Feature flag support @Javagedes (#298)
    Change Details
      Adds additional environment variables to the Makefile.toml to set features when building.

    setting the variable FEATURES will translate to passing --features <features> to the underlying build command.




Full Changelog: v9.0.5...v9.0.6

v9.0.5

19 Dec 16:27
0daa8c1
Compare
Choose a tag to compare

What's Changed

  • .sync/workflows/leaf: CodeQL workflow changes for upload-artifact v4 @makubacki (#291)
    Change Details
      Two key new restrictions:
    1. No more than 10 artifacts per job in a workflow run.
    2. It is no longer possible to upload to the same named artifact
      multiple times.

    These workflows can easily split their artifacts up under the 10
    artifact limit while also not uploading to the same named artifact
    in the process.

    Full Changelog: v9.0.4...v9.0.5

v9.0.4

13 Dec 20:55
74862f7
Compare
Choose a tag to compare

What's Changed

  • Bump setup-python action from v4 to v5 in sync files @makubacki (#288)
    Change Details
      Updates the sync files to use v5 so they will match the latest files updated by dependabot in the synced repo. Also updates the version in the file in the submodule-release-updater action.

Full Changelog: v9.0.3...v9.0.4

v9.0.3

11 Dec 18:19
1298d0c
Compare
Choose a tag to compare

What's Changed

  • Start file sync for secureboot\_objects repo @apop5 (#285)
    Change Details
      Adding a first pass of filesync for the secureboot_objects repo.

    @makubacki @Flickdm
    Please verify that all necessary files are being sycned in this PR.




Full Changelog: v9.0.2...v9.0.3

v9.0.2

06 Dec 16:44
8236b74
Compare
Choose a tag to compare

What's Changed

  • Add secureboot objects repo to notebook queries @apop5 (#282)
    Change Details
      Adding secureboot_objects repo to the queries for issues and pull requests.

  • pull-request-formatting-validator: Use github-script v7 @makubacki (#281)
    Change Details
      Ensure that the latest version of the action is synced to other repos (v7).

  • .sync/Version.njk: Update Mu repos to Mu DevOps v9.0.1 @Javagedes (#280)
    Change Details
      Updates the version.njk file to 9.0.1

Full Changelog: v9.0.1...v9.0.2

v9.0.1

20 Nov 21:39
1c63254
Compare
Choose a tag to compare

What's Changed

  • MuDevOpsWrapper.yml: Bugfix bad value options @Javagedes (#279)
    Change Details
      the `values` config does not work as variables are not evaluated until the step runs, so what actually gets passed and verified against the `values` config ends up being the string `$(variable_name)`, which always fails as we were saying the value could only be "ado" or "codecov" or ""

    This PR updates all yaml files to no longer pass the environment variable as a parameter from MuDevOpsWrapper -> Jobs/PrGate -> Steps/PrGate -> UploadCodeCoverage and instead uses the environment variable directly in UploadCodeCoverage All aforementioned yaml files have been updated with documentation on how to generate code coverage.




Full Changelog: v9.0.0...v9.0.1

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