From: "Laszlo Ersek" <lersek@redhat.com>
To: devel@edk2.groups.io, mikuback@linux.microsoft.com
Cc: Sean Brogan <sean.brogan@microsoft.com>,
Michael D Kinney <michael.d.kinney@intel.com>
Subject: Re: [edk2-devel] [PATCH v1 1/1] .github/workflows: Add Stale Check
Date: Tue, 31 Oct 2023 16:22:18 +0100 [thread overview]
Message-ID: <74a4b602-0336-af2a-69d6-b1869e1c53f6@redhat.com> (raw)
In-Reply-To: <1bba4f0f-823e-d6ce-7139-34a79012d733@redhat.com>
On 10/31/23 14:44, Laszlo Ersek wrote:
> On 10/31/23 02:41, Michael Kubacki wrote:
>> From: Michael Kubacki <michael.kubacki@microsoft.com>
>>
>> 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>
>> ---
>>
>> Notes:
>> I tested this workflow on my edk2 fork:
>>
>> https://github.com/makubacki/edk2/actions/runs/6700887619
>>
>> Here's an example of a PR it did not mark stale there:
>>
>> https://github.com/makubacki/edk2/pull/136
>>
>> Here's an example of a PR it did mark stale there:
>>
>> https://github.com/makubacki/edk2/pull/4
>>
>> .github/workflows/stale.yml | 44 ++++++++++++++++++++
>> 1 file changed, 44 insertions(+)
>>
>> diff --git a/.github/workflows/stale.yml b/.github/workflows/stale.yml
>> new file mode 100644
>> index 000000000000..b9160b548ab3
>> --- /dev/null
>> +++ b/.github/workflows/stale.yml
>> @@ -0,0 +1,44 @@
>> +# This workflow warns and then closes issues and PRs that have had no activity
>> +# for a specified amount of time.
>> +#
>> +# For more information, see:
>> +# https://github.com/actions/stale
>> +#
>> +# Copyright (c) Microsoft Corporation.
>> +# SPDX-License-Identifier: BSD-2-Clause-Patent
>> +#
>> +
>> +name: Stale Check
>> +
>> +on:
>> + schedule:
>> + # At 23:35 on every day-of-week from Sunday through Saturday
>> + # https://crontab.guru/#35_23_*_*_0-6
>> + - cron: '35 23 * * 0-6'
>> + workflow_dispatch:
>> +
>> +jobs:
>> + stale:
>> + name: Stale
>> + runs-on: ubuntu-latest
>> + permissions:
>> + issues: write
>> + pull-requests: write
>> +
>> + steps:
>> + - name: Check for Stale Items
>> + uses: actions/stale@v8
>> + with:
>> + days-before-issue-close: -1
>> + days-before-issue-stale: -1
>> + days-before-pr-stale: 60
>> + days-before-pr-close: 7
>> + stale-pr-message: >
>> + This PR has been automatically marked as stale because it has not had
>> + activity in 60 days. It will be closed if no further activity occurs within
>> + 7 days. Thank you for your contributions.
>> + close-pr-message: >
>> + This pull request has been automatically been closed because it did not have any
>> + activity in 60 days and no follow up within 7 days after being marked stale.
>> + Thank you for your contributions.
>> + stale-pr-label: stale
>
> Queued via <https://github.com/tianocore/edk2/pull/4984>.
Merged as commit 36812d6c3e0c4402ea90e20566ac80de634d210b.
Laszlo
-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.
View/Reply Online (#110422): https://edk2.groups.io/g/devel/message/110422
Mute This Topic: https://groups.io/mt/102289677/7686176
Group Owner: devel+owner@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/leave/12367111/7686176/1913456212/xyzzy [rebecca@openfw.io]
-=-=-=-=-=-=-=-=-=-=-=-
prev parent reply other threads:[~2023-10-31 15:22 UTC|newest]
Thread overview: 5+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-10-31 1:41 [edk2-devel] [PATCH v1 1/1] .github/workflows: Add Stale Check Michael Kubacki
2023-10-31 3:37 ` Michael D Kinney
2023-10-31 10:33 ` Laszlo Ersek
2023-10-31 13:44 ` Laszlo Ersek
2023-10-31 15:22 ` Laszlo Ersek [this message]
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-list from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=74a4b602-0336-af2a-69d6-b1869e1c53f6@redhat.com \
--to=devel@edk2.groups.io \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox