Skip to content
Latchkey

Mark stale issues/PR workflow (clientIO/joint)

The Mark stale issues/PR workflow from clientIO/joint, explained and optimized by Latchkey.

A

CI health: A - excellent

Point runs-on at Latchkey and get 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: clientIO/joint.github/workflows/stale.ymlLicense MPL-2.0View source

What it does

This is the Mark stale issues/PR workflow from the clientIO/joint repository, a real project running GitHub Actions. It is shown here with attribution under its MPL-2.0 license.

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

The workflow

workflow (.yml)
# This workflow warns and then closes issues and PRs that have had no activity for a specified amount of time.
#
# You can adjust the behavior by modifying this file.
# For more information, see:
# https://github.com/actions/stale
name: Mark stale issues/PR

on:
  workflow_dispatch:
  schedule:
  - cron: '0 0 * * *'

jobs:
  stale:
    if: ${{ github.repository == 'clientIO/joint' }}
    runs-on: ubuntu-latest
    permissions:
      issues: write
      pull-requests: write

    steps:
    - uses: actions/stale@v5
      with:
        repo-token: ${{ secrets.GITHUB_TOKEN }}
        stale-issue-message: 'This issue is stale because it has been open 60 days with no activity. Please remove stale label or comment or this will be closed in 14 days.'
        stale-pr-message: 'This PR is stale because it has been open 60 days with no activity. Please remove stale label or comment or this will be closed in 14 days.'
        stale-issue-label: 'stale'
        stale-pr-label: 'stale'
        days-before-stale: 60
        days-before-close: 14
        exempt-issue-labels: 'bug,candidate feature,enhancement,technical debt'
        exempt-draft-pr: true
        operations-per-run: 999

The same workflow, on Latchkey

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

# This workflow warns and then closes issues and PRs that have had no activity for a specified amount of time.
#
# You can adjust the behavior by modifying this file.
# For more information, see:
# https://github.com/actions/stale
name: Mark stale issues/PR
 
on:
  workflow_dispatch:
  schedule:
  - cron: '0 0 * * *'
 
jobs:
  stale:
    timeout-minutes: 30
    if: ${{ github.repository == 'clientIO/joint' }}
    runs-on: latchkey-small
    permissions:
      issues: write
      pull-requests: write
 
    steps:
    - uses: actions/stale@v5
      with:
        repo-token: ${{ secrets.GITHUB_TOKEN }}
        stale-issue-message: 'This issue is stale because it has been open 60 days with no activity. Please remove stale label or comment or this will be closed in 14 days.'
        stale-pr-message: 'This PR is stale because it has been open 60 days with no activity. Please remove stale label or comment or this will be closed in 14 days.'
        stale-issue-label: 'stale'
        stale-pr-label: 'stale'
        days-before-stale: 60
        days-before-close: 14
        exempt-issue-labels: 'bug,candidate feature,enhancement,technical debt'
        exempt-draft-pr: true
        operations-per-run: 999
 

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