Skip to content
Latchkey

Stale-bot workflow (Clooos/Bubble-Card)

The Stale-bot workflow from Clooos/Bubble-Card, explained and optimized by Latchkey.

C

CI health: C - fair

Point runs-on at Latchkey and get run de-duplication, job timeouts, self-healing for flaky steps, and up to 58% lower cost, applied automatically.

Grade your own workflow free or run it on Latchkey →
Source: Clooos/Bubble-Card.github/workflows/stale.yamlLicense MITView source

What it does

This is the Stale-bot workflow from the Clooos/Bubble-Card repository, a real project running GitHub Actions. It is shown here with attribution under its MIT license.

Below, Latchkey shows a faster, safer version produced by its optimization engine.

The workflow

workflow (.yml)
name: Stale-bot

# yamllint disable-line rule:truthy
on:
  push:
  pull_request:
  schedule:
    - cron: "*/30 * * * *"
  workflow_dispatch:

jobs:
  stale:
    runs-on: ubuntu-latest
    steps:
      # The 60 day stale policy for PRs
      # Used for:
      # - PRs
      # - No PRs marked as no-stale
      # - No issues (-1)
      - name: 60 days stale PRs policy
        if: github.repository_owner == 'Clooos'
        uses: actions/stale@v9.0.0
        with:
          days-before-stale: 60
          days-before-close: 7
          days-before-issue-stale: -1
          days-before-issue-close: -1
          operations-per-run: 150
          remove-stale-when-updated: true
          stale-pr-label: "stale"
          exempt-pr-labels: "no-stale"
          stale-pr-message: >
            There hasn't been any activity on this pull request recently. This
            pull request has been automatically marked as stale because of that
            and will be closed if no further activity occurs within 7 days.

            If you are the author of this PR, please leave a comment if you want
            to keep it open. Also, please rebase your PR onto the latest dev
            branch to ensure that it's up to date with the latest changes.

            Thank you for your contribution!

      # The 90 day stale policy for issues
      # Used for:
      # - Issues
      # - No issues marked as no-stale or help-wanted
      # - No PRs (-1)
      - name: 90 days stale issues
        if: github.repository_owner == 'Clooos'
        uses: actions/stale@v9.0.0
        with:
          days-before-stale: 90
          days-before-close: 7
          days-before-pr-stale: -1
          days-before-pr-close: -1
          operations-per-run: 250
          remove-stale-when-updated: true
          stale-issue-label: "stale"
          exempt-issue-labels: "no-stale,help-wanted,needs-more-information"
          stale-issue-message: >
            There hasn't been any activity on this issue recently. Due to the
            high number of incoming GitHub notifications, we have to clean some
            of the old issues, as many of them have already been resolved with
            the latest updates.

            Please make sure to update to the latest version and
            check if that solves the issue. Let us know if that works for you by
            adding a comment πŸ‘

            This issue has now been marked as stale and will be closed if no
            further activity occurs. If you want to keep it open, please leave a comment.
            Thank you for your contributions.

      # The 21 day stale policy for issues
      # Used for:
      # - Issues that are pending more information (incomplete issues)
      # - No Issues marked as no-stale or help-wanted
      # - No PRs (-1)
      - name: Needs more information stale issues policy
        if: github.repository_owner == 'Clooos'
        uses: actions/stale@v9.0.0
        with:
          only-labels: "needs-more-information"
          days-before-stale: 14
          days-before-close: 7
          days-before-pr-stale: -1
          days-before-pr-close: -1
          operations-per-run: 250
          remove-stale-when-updated: true
          stale-issue-label: "stale"
          labels-to-remove-when-unstale: "needs-more-information"
          exempt-issue-labels: "no-stale,help-wanted"
          stale-issue-message: >
            There hasn't been any activity on this issue recently. Due to the
            high number of incoming GitHub notifications, we have to clean some
            of the old issues, as many of them have already been resolved with
            the latest updates.

            Please make sure to update to the latest version and
            check if that solves the issue. Let us know if that works for you by
            adding a comment πŸ‘

            This issue has now been marked as stale and will be closed if no
            further activity occurs. Thank you for your contributions.

      # Remove "needs-more-information" after update
      # Used for:
      # - Issues that are pending more information (incomplete issues)
      # - No Issues marked as no-stale or help-wanted
      # - No PRs (-1)
      - name: Remove needs-more-information label
        if: github.repository_owner == 'Clooos'
        uses: actions/stale@v9.0.0
        with:
          only-labels: "needs-more-information"
          days-before-stale: -1
          days-before-close: 100
          days-before-pr-stale: -1
          days-before-pr-close: -1
          operations-per-run: 250
          remove-stale-when-updated: true
          stale-issue-label: "needs-more-information"
          exempt-issue-labels: "no-stale,help-wanted"
          stale-issue-message: >
            There has been a request for more information. 
            The stale bot will monitor the situation and remove the label when answered.

The same workflow, on Latchkey

Removes redundant runs and caps runaway jobs. Added and changed lines are highlighted.

name: Stale-bot
 
# yamllint disable-line rule:truthy
on:
  push:
  pull_request:
  schedule:
    - cron: "*/30 * * * *"
  workflow_dispatch:
 
concurrency:
  group: ${{ github.workflow }}-${{ github.ref }}
  cancel-in-progress: true
 
jobs:
  stale:
    timeout-minutes: 30
    runs-on: latchkey-small
    steps:
      # The 60 day stale policy for PRs
      # Used for:
      # - PRs
      # - No PRs marked as no-stale
      # - No issues (-1)
      - name: 60 days stale PRs policy
        if: github.repository_owner == 'Clooos'
        uses: actions/stale@v9.0.0
        with:
          days-before-stale: 60
          days-before-close: 7
          days-before-issue-stale: -1
          days-before-issue-close: -1
          operations-per-run: 150
          remove-stale-when-updated: true
          stale-pr-label: "stale"
          exempt-pr-labels: "no-stale"
          stale-pr-message: >
            There hasn't been any activity on this pull request recently. This
            pull request has been automatically marked as stale because of that
            and will be closed if no further activity occurs within 7 days.
 
            If you are the author of this PR, please leave a comment if you want
            to keep it open. Also, please rebase your PR onto the latest dev
            branch to ensure that it's up to date with the latest changes.
 
            Thank you for your contribution!
 
      # The 90 day stale policy for issues
      # Used for:
      # - Issues
      # - No issues marked as no-stale or help-wanted
      # - No PRs (-1)
      - name: 90 days stale issues
        if: github.repository_owner == 'Clooos'
        uses: actions/stale@v9.0.0
        with:
          days-before-stale: 90
          days-before-close: 7
          days-before-pr-stale: -1
          days-before-pr-close: -1
          operations-per-run: 250
          remove-stale-when-updated: true
          stale-issue-label: "stale"
          exempt-issue-labels: "no-stale,help-wanted,needs-more-information"
          stale-issue-message: >
            There hasn't been any activity on this issue recently. Due to the
            high number of incoming GitHub notifications, we have to clean some
            of the old issues, as many of them have already been resolved with
            the latest updates.
 
            Please make sure to update to the latest version and
            check if that solves the issue. Let us know if that works for you by
            adding a comment πŸ‘
 
            This issue has now been marked as stale and will be closed if no
            further activity occurs. If you want to keep it open, please leave a comment.
            Thank you for your contributions.
 
      # The 21 day stale policy for issues
      # Used for:
      # - Issues that are pending more information (incomplete issues)
      # - No Issues marked as no-stale or help-wanted
      # - No PRs (-1)
      - name: Needs more information stale issues policy
        if: github.repository_owner == 'Clooos'
        uses: actions/stale@v9.0.0
        with:
          only-labels: "needs-more-information"
          days-before-stale: 14
          days-before-close: 7
          days-before-pr-stale: -1
          days-before-pr-close: -1
          operations-per-run: 250
          remove-stale-when-updated: true
          stale-issue-label: "stale"
          labels-to-remove-when-unstale: "needs-more-information"
          exempt-issue-labels: "no-stale,help-wanted"
          stale-issue-message: >
            There hasn't been any activity on this issue recently. Due to the
            high number of incoming GitHub notifications, we have to clean some
            of the old issues, as many of them have already been resolved with
            the latest updates.
 
            Please make sure to update to the latest version and
            check if that solves the issue. Let us know if that works for you by
            adding a comment πŸ‘
 
            This issue has now been marked as stale and will be closed if no
            further activity occurs. Thank you for your contributions.
 
      # Remove "needs-more-information" after update
      # Used for:
      # - Issues that are pending more information (incomplete issues)
      # - No Issues marked as no-stale or help-wanted
      # - No PRs (-1)
      - name: Remove needs-more-information label
        if: github.repository_owner == 'Clooos'
        uses: actions/stale@v9.0.0
        with:
          only-labels: "needs-more-information"
          days-before-stale: -1
          days-before-close: 100
          days-before-pr-stale: -1
          days-before-pr-close: -1
          operations-per-run: 250
          remove-stale-when-updated: true
          stale-issue-label: "needs-more-information"
          exempt-issue-labels: "no-stale,help-wanted"
          stale-issue-message: >
            There has been a request for more information. 
            The stale bot will monitor the situation and remove the label when answered.
 

What changed

This workflow runs 1 job per trigger. On Latchkey the same minutes cost up to 58% less than GitHub-hosted, with zero queue time.

Actions used in this workflow