summaryrefslogtreecommitdiff
path: root/.github
AgeCommit message (Collapse)AuthorFilesLines
2026-07-27GitHub Action: Bump actions/setup-python from 6 to 7dependabot/github_actions/actions/setup-python-7dependabot[bot]4-4/+4
Bumps [actions/setup-python](https://github.com/actions/setup-python) from 6 to 7. - [Release notes](https://github.com/actions/setup-python/releases) - [Commits](https://github.com/actions/setup-python/compare/v6...v7) --- updated-dependencies: - dependency-name: actions/setup-python dependency-version: '7' dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] <support@github.com>
2026-07-11.github: Add RFC 0003 Breaking Change and Release Process filesMichael Kubacki4-0/+115
Adds the GitHub issue template files for the EDK II Breaking Change and Release Process, as well as a link to the process in the pull request template. Signed-off-by: Michael Kubacki <michael.kubacki@microsoft.com>
2026-06-23.github: Bump actions/checkout from 6 to 7Michael Kubacki6-6/+6
Bumps [actions/checkout](https://github.com/actions/checkout) from 6 to 7. - [Release notes](https://github.com/actions/checkout/releases) - [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md) - [Commits](https://github.com/actions/checkout/compare/v6...v7) updated-dependencies: - dependency-name: actions/checkout dependency-version: '7' dependency-type: direct:production update-type: version-update:semver-major Signed-off-by: Michael Kubacki <michael.kubacki@microsoft.com>
2026-06-16.github: Use windows-2022 for UPL buildMichael Kubacki1-1/+1
Currently, the UPL fails on Windows hosts because it specifies the `windows-latest` image which has moved on to Visual Studio 2026 while the build uses VS2022. The decision to move the actual build to a later Visual Studio version can be made independently, but for now, this change allows the UPL build to succeed on GitHub hosted runner Windows hosts. Signed-off-by: Michael Kubacki <michael.kubacki@microsoft.com>
2026-06-12.github: Update GitHub Actions dependenciesMichael Kubacki6-20/+20
Update GitHub Actions to their latest major versions across all workflows: - actions/checkout: v4 -> v6 - actions/setup-python: v2/v5 -> v6 - actions/upload-artifact: v4 -> v7 - actions/cache: v4 -> v5 - actions/create-github-app-token: v2 -> v3 - actions/github-script: v7 -> v9 This consolidates several dependabot PRs into a single commit. Signed-off-by: Michael Kubacki <michael.kubacki@microsoft.com>
2026-05-02.github: Remove SignedCapsulePkgMichael D Kinney3-4/+0
Remove SignedCapsulePkg from the following GitHub configuration files: - ISSUE_TEMPLATE/bug_report.yml: Remove SignedCapsulePkg from the affected package drop-down list. - ISSUE_TEMPLATE/feature_request.yml: Remove SignedCapsulePkg from the affected package drop-down list. - advanced-issue-labeler.yml: Remove the package:signedcapsulepkg label rule and its associated key. SignedCapsulePkg is no longer used. The features provided by this package have been superseded by FmpDevicePkg. Signed-off-by: Michael D Kinney <michael.d.kinney@intel.com>
2026-04-27.github/workflows: Enable CodeQL on ManageabilityPkgAbner Chang1-0/+2
This commit enables the code quality check on ManageabilityPkg. Signed-off-by: Abner Chang <abner.chang@amd.com>
2026-04-27.github: Add ManageabilityPkg to git issue and bug reportAbner Chang3-0/+4
This commit adds ManageabilityPkg to bug report, issue, and feature request. Signed-off-by: Abner Chang <abner.chang@amd.com>
2026-02-10.github: Update wiki linksMichael Kubacki3-4/+6
The wiki has moved and this change updates links in the edk2 .github directory to the new page location. - New location: https://github.com/tianocore/tianocore-wiki.github.io - Rendered version: https://www.tianocore.org/tianocore-wiki.github.io/ - Old location: https://github.com/tianocore/tianocore.github.io/wiki More details: https://github.com/tianocore/edk2/discussions/11969 Signed-off-by: Michael Kubacki <michael.kubacki@microsoft.com>
2025-12-10Global: Make additional upgrades from GCC5 to GCCMike Beaton1-1/+1
Following on from the previous commit upgrading the CI from GCC5 to GCC, in this commit we make the same upgrade in additional locations where it appears appropriate. Potential candidates discovered by simple `grep -r GCC5` in the project. Continuous-integration-options: PatchCheck.ignore-multi-package Signed-off-by: Mike Beaton <mjsbeaton@gmail.com>
2025-12-02.github: Use valid Fedora 43 image for BuildPlatform workflowJoey Vagedes1-1/+1
commit 96158b3 had a typo that updated fedora to an invalid container. This was not caught in the workflows pre-CI as this particular workflow only runs post-merge. Signed-off-by: Joey Vagedes <joey.vagedes@gmail.com>
2025-12-02.github/scripts: Make reviewer filtering case insensitiveMichael Kubacki1-2/+7
The `add_reviewers_to_pr()` function in GitHub.py did not compare all usernames without case sensitivity which could cause a reviewer that has already reviewed a pull request to be re-requested. The occurred under the following conditions: - GetMaintainer.py returns usernames from Maintainers.txt (e.g. "user") - GitHub API returns usernames in their actual case (e.g. "User") - The exclusion filter used case-sensitive comparison so the match is not detected Fixed by converting the exclusion set to lowercase and performing case-insensitive comparison when filtering for new reviewers. Signed-off-by: Michael Kubacki <michael.kubacki@microsoft.com>
2025-11-21.github: Use Fedora 43 image for BuildPlatform workflowOliver Steffen1-1/+1
Fedora 40, which is currently in use for the GitHub workflows, is EOL. With the fixes for the C23 standard we can use GCC 15 and switch over to the latest Fedora image. Signed-off-by: Oliver Steffen <osteffen@redhat.com>
2025-10-02.github/workflows: Add PR formatting validatorMichael Kubacki2-0/+425
This workflow runs when GitHub PRs are modified (edited, opened, reopened, and synchronized) to perform basic validation of the PR title and description. Right now, this includes: - Checking that the PR title is not empty - Checking that the PR body is not empty - Checking that the PR body meets the minimum text length. Where the minimum text length is defined to be the number of characters in the PR template with empty sections - Checking that PR template placeholder do not remain in the PR description If a check fails, a GitHub comment will be left on the PR and a PR status check failure will be present on the PR until the issue is resolved. Upon future runs of the workflow, existing PR validation message contents are hashed and compared to a new message that may potentially be posted. If the same comment is already posted in the PR, it is not posted again. Signed-off-by: Michael Kubacki <michael.kubacki@microsoft.com>
2025-10-02.github/GitHub.py: Add output and env helpersMichael Kubacki1-0/+33
Adds GitHub helper functions so other Python code can more cleanly set output and environment variables. Signed-off-by: Michael Kubacki <michael.kubacki@microsoft.com>
2025-09-26.azurepipelines,.github,.pytool: Disable ARM32 at Top Level/PipelinesOliver Smith-Denny1-1/+1
edk2 is dropping support for the ARM32 architecture. As such, this commit drops ARM32 from running in CI and removes the references to it in the readme and Maintainers.txt. Continuous-integration-options: PatchCheck.ignore-multi-package Signed-off-by: Oliver Smith-Denny <osde@microsoft.com>
2025-05-13.github: Compare collaborator GitHub ID's in single caseMichael Kubacki1-2/+2
Since case of a GitHub user name may by specified differently in the `Maintainers.txt` file versus what is actually returned by the GitHub API (actual case), convert both to lowercase for comparison. Other GitHub user name inputs are directly from APIs and maintain consistent casing. Signed-off-by: Michael Kubacki <michael.kubacki@microsoft.com>
2025-04-07GitHub Action: Bump actions/create-github-app-token from 1 to 2dependabot[bot]1-1/+1
Bumps [actions/create-github-app-token](https://github.com/actions/create-github-app-token) from 1 to 2. - [Release notes](https://github.com/actions/create-github-app-token/releases) - [Commits](https://github.com/actions/create-github-app-token/compare/v1...v2) --- updated-dependencies: - dependency-name: actions/create-github-app-token dependency-version: '2' dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] <support@github.com>
2025-03-08workflows: Add UniversalPayload in to git work flowGua Guo2-0/+174
Add UPL fit binary build Add UPL elf binary build Signed-off-by: Gua Guo <gua.guo@intel.com>
2025-03-07.github/stale.yml: Exempt type:code-first changesMichael Kubacki1-0/+3
Does not apply stale labels to code first issues and pull requests since those need to stay open until spec changes are published and that might be a long time. Signed-off-by: Michael Kubacki <michael.kubacki@microsoft.com>
2025-03-07.github: Add EDK II Code First formMichael Kubacki5-34/+122
The EDK II Code First process is being revised to align with GitHub. The actual process changes will be made to the process page on the TianoCore wiki: https://github.com/tianocore/tianocore.github.io/wiki/EDK-II-Code-First-Process These changes: - Remove the "code first" checkbox from existing forms. - Add a "code first" issue form that is used to submit issues tracking code first changes. The primary template filled in for code first changes is included with no change from the prior template. Signed-off-by: Michael Kubacki <michael.kubacki@microsoft.com>
2025-01-31.github/codeql.yml: Drop ArmPkg IA32 and X64 from build matrixMichael Kubacki1-2/+0
These archs are not supported by ArmPkg so we can save agent resources by not attempting to schedule their CodeQL build. Signed-off-by: Michael Kubacki <michael.kubacki@microsoft.com>
2024-12-21.github: Add issue automation workflowsMichael Kubacki4-0/+280
REF: https://github.com/tianocore/edk2/discussions/5926 Adds workflows to manage labels on issues based on issue content. Workflows: - `issue-assignment` - Performs actions when an issue is assigned. - Currently, removed the `state:needs-owner` label. - `issue-triage` - Assigns initial labels to the issue based on data entered when the issue was created. - The policies for applying labels are defined in - `advanced-issue-labeler.yml` - Note: Based on https://github.com/marketplace/actions/advanced-issue-labeler - `scheduled-maintenance` - Runs every hour to perform clean up work need on issues. - Currently, closes issues that have had the `state:wont-fix` label applied. Signed-off-by: Michael Kubacki <michael.kubacki@microsoft.com>
2024-12-20.github: Add GitHub issue templatesMichael Kubacki4-5/+468
REF:https://github.com/tianocore/edk2/discussions/5926 Adds GitHub form isssue templates for bugs, documentation requests, and feature requests. These files define the form structure in YAML to be rendered by GitHub in the edk2 repo issues area. See the referenced RFC for additional details. Future changes will add automation tasks described in the RFC. Signed-off-by: Michael Kubacki <michael.kubacki@microsoft.com>
2024-12-11Update CI to VS2022Oliver Smith-Denny1-7/+7
This PR updates the CI pipelines to use VS2022 instead of VS2019 as that is the latest supported VS toolchain on edk2. Continuous-integration-options: PatchCheck.ignore-multi-package Signed-off-by: Oliver Smith-Denny <osde@microsoft.com>
2024-11-26.github: Handle deleted GitHub accountsMichael Kubacki1-5/+8
If a GitHub account has been deleted entirely, a `None` user will be returrned from the GitHub API. This change accounts for a `None` user when querying GitHub APIs for user information. Signed-off-by: Michael Kubacki <michael.kubacki@microsoft.com>
2024-10-01.github/GitHub.py: Update bot in redundant comment checkMichael Kubacki1-1/+1
The project moved from using the `github-actions[bot]` bot account to the `tianocore-assign-reviewers[bot]` account. A check is in place to prevent the "`WARNING: Cannot add some reviewers`" from appearing more than once if nothing has changed in the content it would post. This change updates the bot account to the current one so the check can work again. Signed-off-by: Michael Kubacki <michael.kubacki@microsoft.com>
2024-08-27GitHub Action: Bump github/issue-labeler from 3.1 to 3.4dependabot[bot]1-1/+1
Bumps [github/issue-labeler](https://github.com/github/issue-labeler) from 3.1 to 3.4. - [Release notes](https://github.com/github/issue-labeler/releases) - [Commits](https://github.com/github/issue-labeler/compare/v3.1...v3.4) --- updated-dependencies: - dependency-name: github/issue-labeler dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <support@github.com>
2024-08-06.github/request-reviews.yml: Use GitHub App authenticationMichael Kubacki1-1/+8
Since the edk2 repository is owned by an organization, the default GitHub token will not be able to access the collaborator list. Therefore, a GitHub App with `metadata:read` permission will be used to grant access to that REST API. This is used in GitHub.py when it makes the `repo_gh.get_collaborators()` call that resolves to the `/repos/{owner}/{repo}/collaborators` GitHub REST API. Signed-off-by: Michael Kubacki <michael.kubacki@microsoft.com>
2024-08-05.github/request-reviews.yml: Move workflow Py code to fileMichael Kubacki2-63/+99
To make the Python code used within the action more mantainable over time, it is moved to a standalone script in .github/scripts. No functional changes are made to the workflow itself. Signed-off-by: Michael Kubacki <michael.kubacki@microsoft.com>
2024-08-05.github/request-reviews.yml: Formatting (non-functional)Michael Kubacki2-10/+26
Updates code for PEP8 formatting by using the Black code formatter. Signed-off-by: Michael Kubacki <michael.kubacki@microsoft.com>
2024-08-05.github/request-reviews.yml: Improve doc and dbg messagesMichael Kubacki2-6/+25
Adds additional documentation and cleans up debug messages printed to GitHub workflow output (available in the GitHub Actions pane). Signed-off-by: Michael Kubacki <michael.kubacki@microsoft.com>
2024-08-05.github/request-reviews.yml: Only post non-collab message onceMichael Kubacki1-24/+34
Enhances the flow that adds a comment on a PR if a non-collaborator is in the reviewer list by checking if a comment was previously left on the PR. If it was for the same set of non-collaborators, another comment is not created. If a new non-collaborator is discovered, the message will be left identifying that new user account. Signed-off-by: Michael Kubacki <michael.kubacki@microsoft.com>
2024-08-05.github/request-reviews.yml: Add non-collab admin notificationMichael Kubacki1-5/+18
If a non-collaborator is part of the reviewer list, an admin needs to be notified so they can be removed. This change finds the list of admins for the repo and notifies them in the comment left on the PR describing the list of non-collaborator users. The message itself is cleaned up to show only the non-collaborator users for ease of identification. Signed-off-by: Michael Kubacki <michael.kubacki@microsoft.com>
2024-08-05.github/request-reviews.yml: Update PR reviewer exclusionMichael Kubacki2-10/+43
Updates logic to: - Not request reviews from reviewers that have already left a review on the PR. Previously, the reviewers review (e.g. approval) would remain on the PR, but they would be notified on each change to the PR. This approach follows the expected notification process for requesting reviews which is one time. Maintainers and reviewers can set up their own notifications for more granular updates on PR activity separately. - Add the collaborator reviewers if a reviewer(s) is found to not be a collaborator. This is an improvement to today's behavior which is to not add any reviewers if a single reviewer is not a collaborator of the repo. Signed-off-by: Michael Kubacki <michael.kubacki@microsoft.com>
2024-08-05.github/request-reviews.yml: Removed unused functionalityMichael Kubacki2-28/+0
Removed the `download_gh_file()` function which is no longer needed with sparse checkout. Signed-off-by: Michael Kubacki <michael.kubacki@microsoft.com>
2024-08-05.github/request-reviews.yml: Switch to PyGithubMichael Kubacki3-75/+106
Uses PyGithub for GitHub interactions instead of the GitHub REST API directly. This simplifies the code, improves error handling and robustness, and lets the PyGithub project abstract GitHub REST API changes that may occur over time. Signed-off-by: Michael Kubacki <michael.kubacki@microsoft.com>
2024-08-05.github/request-reviews.yml: Switch to GitPythonMichael Kubacki3-31/+10
Uses `GitPython` instead of invoking the git executable directly. This has the benefit of improving code readability and less support code for binary interaction. Signed-off-by: Michael Kubacki <michael.kubacki@microsoft.com>
2024-08-05.github/request-reviews.yml: Cache PIP modulesMichael Kubacki2-2/+16
- Optimizes and makes the PIP module installation process for the workflow more robust by caching the pip modules used so the only time the workflow needs to reach to PyPi is when new PIP modules are published. - Improves long term stability by locking the major versions for PIP modules in the workflow. This is to reduce overall maintenance over time to automatically pick up new versions while also not being broken in the process. - Removes edk2-pytool-extensions as it is not used. The new "requirements.txt" file is used to lock versions and support the caching step which depends on a requirements file. Signed-off-by: Michael Kubacki <michael.kubacki@microsoft.com>
2024-08-05.github/request-reviews.yml: Use sparse checkoutMichael Kubacki1-1/+9
Optimizes the repository checkout step from an average time of 21 to 1 second by performing a sparse checkout of only the file paths needed for the workflow run at a fetch depth of 1. Signed-off-by: Michael Kubacki <michael.kubacki@microsoft.com>
2024-07-27.github/request-reviews.yml: Switch to pull_request_targetMichael Kubacki2-19/+90
This change simply moves the trigger to `pull_request_target`. The rest of this message contains verbose details related to that. `pull_request_target` is used instead of `pull_request` since the default GitHub token cannot pick up write permissions with the `pull_request` type on PRs from public forks. Write permission is needed to add reviewrs. This was previously tested on an edk2 fork where PRs were not from other public forks into the fork being used for testing but directly on the fork itself. Because `pull_request_target` runs the pull request in the context of the base branch (not the PR branch) some logic needs slightly modified. The main change is that the GitHub context will no longer give the PR branch HEAD as the PR commit SHA (i.e. `github.event.pull_request.head.sha`). The SHA will be the base branch (`master`) SHA as that is what is checked out for the workflow run. SO, the actual PR SHA is now fetched separately. Signed-off-by: Michael Kubacki <michael.kubacki@microsoft.com>
2024-07-25.github/workflows/request-reviews.yml: Add workflowMichael Kubacki1-0/+73
Adds a new GitHub workflow to automatically add reviewers to pull requests when they are opened, reopened, synchronized, and if a draft pull request is marked as ready for review. The workflow will not run on draft pull requests. The workflow is meant to be simple to understand and modify, relying on existing logic in GetMaintainer.py to determine the relevant reviewers and using simple Python GitHub REST API wrappers with the default GitHub token for authentication. Future changes may optimize the workflow. Signed-off-by: Michael Kubacki <michael.kubacki@microsoft.com>
2024-07-25.github: Add GitHub helper python scriptMichael Kubacki1-0/+187
Adds a script that provides GitHub API helpers for workflows and other GitHub automation in the repository. Signed-off-by: Michael Kubacki <michael.kubacki@microsoft.com>
2024-07-10.github: Update pull_request_template.mdLeif Lindholm1-4/+4
Slightly reword the template to be more specific and use active language. Signed-off-by: Leif Lindholm <quic_llindhol@quicinc.com>
2024-05-29.github: Add PR templateMichael Kubacki3-0/+79
Adds a pull request template with important information to note in the PR description and guidance on how to classify the PR. A simple GitHub action is present that applies three labels based on the boxes checked in the PR template: - `impact:breaking-change` - `impact:security` - `impact:testing` These provide several purposes. 1. Bring attention to the impact of the PR both for reviewers and consumers that reference the PR in the future during debug or integration. 2. Allow automated tools like those that create release notes to be able to highlight important changes. 3. Similarly, to allow PR searches to conditionalize the search on PRs with these tags present. Signed-off-by: Michael Kubacki <michael.kubacki@microsoft.com>
2024-03-04.github/workflows/codeql.yml: Update actions being deprecatedMichael Kubacki1-13/+24
Currently CodeQL runs have the following warnings: Node.js 16 actions are deprecated. Please update the following actions to use Node.js 20: actions/setup-python@v4, actions/upload-artifact@v3, actions/cache@v3. For more information see: https://github.blog/changelog/2023-09-22-github-actions-transitioning-from-node-16-to-node-20/. And: CodeQL Action v2 will be deprecated on December 5th, 2024. Please update all occurrences of the CodeQL Action in your workflow files to v3. For more information, see: https://github.blog/changelog/2024-01-12-code-scanning-deprecation-of-codeql-action-v2/ The first is resolved by updating the actions to the latest versions that were released to use Node.js 20. The second is specifically referring to the codeql-action/upload-sarif action which is at v2. This change updates all of the actions to the latest releases to prevent deprecated versions from continuing to be used. --- The following breaking change was noted in actions/upload-artifact that caused some related changes in the workflow: "Due to how Artifacts are created in this new version, it is no longer possible to upload to the same named Artifact multiple times. You must either split the uploads into multiple Artifacts with different names, or only upload once. Otherwise you will encounter an error." This workflow depended on that behavior previously to append multiple logs (e.g. setup log, update log, build log) to the same named artifact (named per package). These were appended after each operation so they are readily available if the operation failed and no further actions are run. Now the artifacts must be unique in name. The hyphenation comes in because edk2 further builds some packages with both architectures in a single build vs separate builds (e.g. IA32 and X64 vs IA32,X64). To uniquely name artifacts resulting from those builds, the architecture is also placed in the artifact name. For builds with multiple architectures the artifact name captures each architecture separated by a hyphen. Cc: Sean Brogan <sean.brogan@microsoft.com> Cc: Joey Vagedes <joey.vagedes@gmail.com> Cc: Michael D Kinney <michael.d.kinney@intel.com> Signed-off-by: Michael Kubacki <michael.kubacki@microsoft.com> Reviewed-by: Michael D Kinney <michael.d.kinney@intel.com>
2023-11-30.github/workflows/codeql.yml: Add emacs outputMichael Kubacki1-4/+16
Updates the workflow to also output files that can be loaded in emacs to show CodeQL issues (in addition to the existing SARIF output for standard SARIF viewers). The emacs files are in the SARIF zip file attached to each "CodeQL" run (https://github.com/tianocore/edk2/actions/workflows/codeql.yml). The file name ends with "-emacs.txt". An MdePkg example: "codeql-db-mdepkg-debug-0-emacs.txt". Cc: Joey Vagedes <joey.vagedes@gmail.com> Cc: Laszlo Ersek <lersek@redhat.com> Cc: Michael D Kinney <michael.d.kinney@intel.com> Cc: Sean Brogan <sean.brogan@microsoft.com> Signed-off-by: Michael Kubacki <michael.kubacki@microsoft.com> Acked-by: Michael D Kinney <michael.d.kinney@intel.com> Reviewed-by: Joey Vagedes <joey.vagedes@gmail.com>
2023-11-07.github/workflows/codeql.yml: Add CodeQL workflowMichael Kubacki1-0/+338
Adds a workflow to run CodeQL against all packages built in .pytool/CISettings.py. The following is done: 1. Determine which packages to build against. Those that support are managed by .pytool/CISettings.py will be selected. For each package: 2. Determine how to interact with the package. Such as whether `stuart_ci_setup` or `stuart_setup` should be used. 3. Perform supported Stuart steps for setup and update. 4. Discover the CodeQL plugin directory in the repo. 5. Attempt to load the CodeQL CLI specific to the host OS from a GitHub cache. 6. Perform the build. 7. Clean up some files after build to improve robustness. 8. Upload the CodeQL results (generated SARIF file) to GitHub Code Scanning. The results will be associated with the trigger of the workflow. After each step that can upload logs such as the setup, update, and build steps the logs are uploaded as an artifact to the workflow run. This allows easy debugging in case there's an error in the step. The SARIF file is also uploaded to the workflow run so it can be downloaded and analyzed. Cc: Sean Brogan <sean.brogan@microsoft.com> Cc: Michael D Kinney <michael.d.kinney@intel.com> Signed-off-by: Michael Kubacki <michael.kubacki@microsoft.com> Reviewed-by: Sean Brogan <sean.brogan@microsoft.com> Acked-by: Laszlo Ersek <lersek@redhat.com> Acked-by: Michael D Kinney <michael.d.kinney@intel.com>
2023-11-07Remove existing CodeQL infrastructureMichael Kubacki3-171/+0
CodeQL currently runs via the codeql-analysis.yml GitHub workflow which uses the `github/codeql-action/init@v2` action (pre-build) and the `github/codeql-action/analyze@v2` action (post-build) to setup the CodeQL environment and extract results. This infrastructure is removed in preparation for a new design that will directly run the CodeQL CLI as part of the build. This will allow CodeQL to be run locally as part of the normal build process with results that match 1:1 with CI builds. Cc: Sean Brogan <sean.brogan@microsoft.com> Cc: Michael D Kinney <michael.d.kinney@intel.com> Signed-off-by: Michael Kubacki <michael.kubacki@microsoft.com> Reviewed-by: Sean Brogan <sean.brogan@microsoft.com> Acked-by: Laszlo Ersek <lersek@redhat.com> Acked-by: Michael D Kinney <michael.d.kinney@intel.com>
2023-10-31.github/workflows: Add Stale CheckMichael Kubacki1-0/+44
Adds a GitHub workflow that uses the actions/stale GitHub action to automatically leave notifications on and close PRs that have had no activity for a long time. Note: Modifications to a PR reset the staleness counter. This includes pushing to the PR, adding a label to the PR, commenting on the PR, etc. If a PR has been marked "stale", simply leaving a comment will reset the counter. Configuration choices: 1. Do not attempt to close edk2 GitHub issues. 2. Mark edk2 PRs as stale if no activity in the last 60 days. Close PRs marked stale if no further activity in 7 days. 3. Do not exempt PRs with a "push" label. 4. Run the check once daily. Allow manual runs from those that have permission to run GitHub workflows. 5. Add the label "stale" to the PR when it enters the stale state. Rationale: 1. We do not use issues often enough. The limited usage of GitHub issues in Tianocore org GitHub projects are in another repo not impacted by this workflow and expected to track long term tasks. 2. This is the default value. In non-edk2 projects, I've seen these times work fairly well to identify PRs that have fallen stale. 3. Adding a "push" label resets the stale timer. If a PR has had a "push" label for 60+ days and has not been fixed for submission, then it is has very likely been abandoned. 4. This is sufficient to update PRs on the day granularity the configuration settings are applied against. 5. The label makes it easy to filter stale PRs in the PR list and write automation around PRs that are stale. It's also an obvious visual identifier that a PR needs attention in the PR list. Cc: Sean Brogan <sean.brogan@microsoft.com> Cc: Michael Kubacki <mikuback@linux.microsoft.com> Cc: Michael D Kinney <michael.d.kinney@intel.com> Cc: Laszlo Ersek <lersek@redhat.com> Signed-off-by: Michael Kubacki <michael.kubacki@microsoft.com> Message-Id: <20231031014120.917-1-mikuback@linux.microsoft.com> Reviewed-by: Michael D Kinney <michael.d.kinney@intel.com> Acked-by: Laszlo Ersek <lersek@redhat.com>