Skip to content

Releases: microsoft/mu_devops

v1.4.1

05 Jan 22:37
d469777
Compare
Choose a tag to compare

What's Changed

Read more

v1.4.0

05 Jan 19:37
109e86b
Compare
Choose a tag to compare

What's Changed

  • GitHub Action: Bump stefanbuck/github-issue-parser from 2 to 3 [Rebase \& FF] @dependabot (#69)
    Change Details
      Bumps [stefanbuck/github-issue-parser](https://github.com/stefanbuck/github-issue-parser) from 2 to 3.
    Release notes

    Sourced from stefanbuck/github-issue-parser's releases.

    v3.0.0

    3.0.0 (2022-10-19)

    Bug Fixes

    • deps: bump @​actions/core from 1.9.1 to 1.10.0 (284e5eb)
    • Ensure releases can be pinned to SHAs #23 (#39) (428eec3)

    Features

    • mitigating script injection attacks by passing issue body as env var (#42) (0b27d4a)

    BREAKING CHANGES

    • Add issue-body argument which is required from v3 onwards

    To mitigate script injection attacks, github-issue-parser v3 will require workflow authors to pass the issue body as an argument. By doing so you will follow GitHub's Good practices for mitigating script injection attacks

    - uses: stefanbuck/github-issue-parser@v3
      id: issue-parser
      with:
        issue-body: ${{ github.event.issue.body }} # required
        template-path: .github/ISSUE_TEMPLATE/bug-report.yml # optional but recommended

    The previous checkbox output produced this:

     {
        "laravel": true,
        "svelte": true,
     }

    whereas the new output will be an array like this

    {
        "fav_frameworks": ["Laravel", "Svelte"]
    }

    ... (truncated)

    Commits
    • 2e4d854 build
    • 55281d1 build(deps-dev): bump jest from 29.2.2 to 29.3.1
    • 3c9c1c3 build(deps-dev): bump jest from 29.1.2 to 29.2.2 (#49)
    • 741688b feat: add issue-body default (#47)
    • de423fc docs: Add migration section
    • 0b27d4a feat: mitigating script injection attacks by passing issue body as env var (#42)
    • 1d341cb feat: parse checkboxes (#21)
    • 284e5eb fix(deps): bump @​actions/core from 1.9.1 to 1.10.0
    • See full diff in compare view

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)

🚀 Features & ✨ Enhancements

  • Add auto approval for auto merge @makubacki (#68)
    Change Details
      The auto merge process needs two reviews to meet Project Mu branch protection policy requirements. This change auto approves dependency update pull requests so they can be auto merged.

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




Full Changelog: v1.3.1...v1.4.0

v1.3.1

19 Dec 20:26
665e97e
Compare
Choose a tag to compare

What's Changed

  • .sync/workflows: Add file sync notice to some files @makubacki (#67)
    Change Details
      These files were added without the notice in the copyright area that states the files should be updated in mu_devops.

    This change adds the notice.

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




  • .sync: Set recent workflows to a fixed version of mu\_devops @makubacki (#66)
    Change Details
      When some workflows were added recently, the reusable workflow file that the leaf files depend on in mu_devops did not exist yet.

    Therefore, those leaf files depended on the main branch instead
    of a mu_devops release tag as the files would be in the main
    branch as soon as the PR was merged.

    Now that all of the reusable workflows are in a tagged release
    (as of the v1.3.0 release), this change sets them to a fixed version
    of Mu DevOps as well.

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




📖 Documentation Updates

  • Add pull-request best practices guide @Erich-McMillan (#70)
    Change Details
      # Description

    Adds pull request best practices to CONTRIBUTING.md and references this document + pull request best practices in the pull_request_template.md so all contributors are confronted with this guide before they open a pull request rather than afterward by the bot.

    TODO:

    • ensure the relative path to CONTRIBUTING.md in pull_request_template.md is correct since dependent repos have different layout


Full Changelog: v1.3.0...v1.3.1

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