Skip to content

Releases: microsoft/mu_devops

v1.3.0

06 Dec 23:43
03a10e5
Compare
Choose a tag to compare

What's Changed

🚀 Features & ✨ Enhancements

  • Add reusable Auto Merge workflow @makubacki (#60)
    Change Details
      Adds a new workflow that automatically merges pull requests in Project Mu repos under certain conditions.

    As automated bots pick up mundane tasks like syncing PIP module
    updates, submodules, files, and so on, an increasing number of
    pull requests can accumulate that essentially update dependencies
    we expect to be updated over time. In most cases, we simply care
    that the new update passes CI checks.

    This workflow is currently configured to automerge dependabot and
    uefibot pull requests.

    Files added:

    • .github/workflows/AutoMerger.yml - Reusable workflow to auto
      merge pull requests that meet given criteria.
    • .sync/workflows/leaf/auto-merge.yml - Leaf workflow file to
      auto merge pull requests in a given repo.

    Signed-off-by: Michael Kubacki [email protected]




  • Add Issue Triage workflow @makubacki (#55)
    Change Details
      Closes #54

    Adds a new workflow and accompanying configuration files that
    apply labels to new issues based on options chosen by the submitter
    in an issue form.

    • .github/IssueTriager.yml - Single reusable workflow to apply
      labels to issues based on user input in issue forms.
    • .sync/workflows/config/triage-issues/advanced-issue-labeler.yml -
      Configures how labels are applied to issues based on issue form
      input.
    • .sync/workflows/leaf/triage-issues.yml - A leaf workflow that can
      be synced to repos to trigger the reusable workflow in Mu DevOps.

    This change also enables file syncing of this action to all repos
    that issue forms are currently being synced to.

    Signed-off-by: Michael Kubacki [email protected]




Full Changelog: v1.2.0...v1.3.0

v1.2.0

06 Dec 23:23
decf21f
Compare
Choose a tag to compare

What's Changed

🚀 Features & ✨ Enhancements

🐛 Bug Fixes

  • Fix incorrect changes to mu\_feature\_config custom Ubuntu-GCC5 pipeline @cfernald (#61)
    Change Details
      Fixes an incorrect change that resulted in an invalid pipeline file.

Full Changelog: v1.1.2...v1.2.0

v1.1.2

06 Dec 18:02
f327f74
Compare
Choose a tag to compare

What's Changed

  • InstallMarkdownLint.yml: Update to markdownlint-cli 0.31.1 @makubacki (#15)
    Change Details
      Updates to the latest markdownlint-cli to stay current. 0.31.1 was released on 2/9/2022 per the version history:

    https://www.npmjs.com/package/markdownlint-cli

    Note: 0.32 introduces new failures in some repos that would need to be
    addressed before moving to 0.32.x. 0.32.2 was specifically tested.

    Signed-off-by: Michael Kubacki [email protected]




🐛 Bug Fixes

  • .sync/azure-pipelines: Swap CLANGPDB VM image name @makubacki (#56)
    Change Details
      After this change: - `Ubuntu-CLANGPDB.yml` - Uses: `tool-chain-clangpdb-ubuntu-vm-image` - `Windows-CLANGPDB.yml` - Uses: `tool-chain-clangpdb-windows-vm-image`

    These were previously reversed.

    Signed-off-by: Michael Kubacki [email protected]




Full Changelog: v1.1.1...v1.1.2

v1.1.1

03 Dec 00:12
729de2b
Compare
Choose a tag to compare

What's Changed

🐛 Bug Fixes

  • label-issues: Invert functional impact label logic @makubacki (#48)
    Change Details
      Fixes #47

    The checkbox exposed to contributors in a PR to determine whether
    the PR has a functional impact states:

    "Impacts functionality?"

    This uses positive logic to simplify understanding by the user.

    Currently the impact:non-functional label is applied if the
    checkbox is checked.

    This change inverts the logic to apply the label as expected.

    Signed-off-by: Michael Kubacki [email protected]




Full Changelog: v1.1.0...v1.1.1

v1.1.0

03 Dec 00:08
960f5c0
Compare
Choose a tag to compare

What's Changed

🚀 Features & ✨ Enhancements

  • Add Semantic Versioning Release workflow [Rebase \& FF] @makubacki (#49)
    Change Details
      Closes #50

    Adds a new workflow and accompanying configuration files that allow
    releases to automatically be drafted in repos as pull requests are
    completed.

    Semantic versioning is automatically determined based on the standard
    set of Project Mu labels associated with the pull request.

    The types of changes (e.g. bug fix, new feature, etc.) are
    automatically categorized in the pull request based on the labels as
    well.

    This makes tracking the new Semantic Version based on the type of
    changes automatic and a release is always ready. In between releases,
    the draft is a nice way to see a high-level delta since the last
    release.

    • .github/ReleaseDrafter.yml - Single reusable workflow to maintain
      a release draft as pull requests complete.
    • .github/ReleaseDraft.yml - Configuration file for the
      ReleaseDrafter workflow. Defines label meanings for releases and
      how releases should be drafted.
    • .sync/workflows/leaf/release-draft.yml - A leaf workflow that can
      be synced to repos to trigger the reusable workflow in Mu DevOps.

    Project Mu repos can easily opt into consistent release drafting by
    including this leaf workflow via file sync.


    I decided to allow dependabot changes into release and just not include
    file sync changes since those are dev ops related and already tracked in
    the mu_devops releases where they're more relevant.




Full Changelog: v1.0.0...v1.1.0

v1.0.0

02 Dec 23:33
ff23052
Compare
Choose a tag to compare

About This Release

This release is incrementing the major version to baseline the version before moving to a model that will update releases as pull requests are submitted.

The main functional change since v0.1.0 in this release was setting the dependencies in Project Mu repos to a fixed version of this repo.

What's Changed

  • ReadMe.rst: Add file sync status badge by @makubacki in #43
  • Fix Mu DevOps Version Used on Release Version [Rebase & FF] by @makubacki in #45
  • Repo File Sync: Synced file(s) with microsoft/mu_devops by @uefibot in #46

Full Changelog: v0.1.0...v1.0.0

v0.1.0

01 Dec 02:41
6df41c4
Compare
Choose a tag to compare

About This Release

This is the first Mu DevOps release 🎉

Currently, Mu DevOps serves common build content across Project Mu repos. The goal is to centralize most of the CI and build related files needed to manage the repos.

One of these components are Azure Pipelines files (see Jobs and Steps). The actual Project Mu repos have very minimal wrappers around these templates and they access the templates via a repository resource.

This is done as follows:

resources:
  repositories:
    - repository: mu_devops
      type: github
      endpoint: microsoft
      name: microsoft/mu_devops
      ref: main

A key reason to label this repo is to control fixed updates by setting ref to the release tag (v0.1.0 for this release) instead of main. Because main is a "floating" dependency, it provides rapid adoption of changes, but we'd prefer to update in fixed increments after the repo absorbing the new mu_devops update can test the change in a pull request (that updates the ref value).

Releases can be useful for other purposes as well. The version follows Semantic Versioning and the plan is to increment the major version on any backward incompatible change to:

  1. An Azure Pipelines template file
    • Files presently in the Jobs or Steps directory of this repo
  2. A GitHub reusable workflow file
    • Files presently in the .github/workflows directory of this repo

These are the two main sources of dependencies on the content of this repo from external files at this time. The cause of major version changes in the future may change as new files and features are introduced to the repo.

What's Changed

  • Add initial content by @makubacki in #1
  • Steps/PrGate.yml: Add pkg_count condition to build steps by @makubacki in #3
  • PrGate.yml: Add do_pr_eval template parameter by @makubacki in #2
  • Jobs/PrGate.yml: Pass do_pr_eval value to step template by @makubacki in #4
  • Add CodeQL reusable GitHub workflow by @makubacki in #5
  • Add Project Mu status notebooks by @makubacki in #6
  • Add initial support for containers in PrGate job by @cfernald in #9
  • ApplyAdoBranchNameWorkaround.yml: Add file by @makubacki in #10
  • Steps/ApplyAdoBranchNameWorkaround.yml: Fix error from conflict resolution by @makubacki in #11
  • Allow additional build artifacts to be upload for platform build by @cfernald in #12
  • Fix PR gates for CI and platform build by @cfernald in #13
  • SetNodeVersion.yml: Use Node.js 19.x by @makubacki in #14
  • Steps/PrGate.yml: Add extra install step parameter by @makubacki in #17
  • PrGate.yml: Add support for publishing code coverage results by @makubacki in #16
  • Simplify job names by @makubacki in #18
  • Fix PR Eval typo (present since 201911) by @makubacki in #19
  • Update code to align with previous isOutput bug behavior by @makubacki in #20
  • Add support for platform build using containers by @cfernald in #21
  • Revert container updates in 5f3c041 by @makubacki in #22
  • Switch to simple boolean for using container build by @cfernald in #24
  • SetupPythonPreReqs.yml: Upgrade pip and install wheel and setuptools by @makubacki in #25
  • Add reusable Stale GitHub workflow by @makubacki in #27
  • Add reusable GitHub Label Sync workflow by @makubacki in #30
  • Update Project Mu GitHub Automation [Rebase & FF] by @makubacki in #32
  • FileSyncer.yml: Add microsoft prefix to review team by @makubacki in #36
  • CONTRIBUTING.md: Fix long line for markdownlint by @makubacki in #37
  • Repo File Sync: Synced file(s) with microsoft/mu_devops by @uefibot in #35
  • .sync/markdownlint.yaml: Templatize allowed HTML elements by @makubacki in #38
  • .sync/markdownlint.yaml: Update brace syntax by @makubacki in #41

New Contributors

Full Changelog: https://github.com/microsoft/mu_devops/commits/v0.1.0