Modernize auto-label workflow: replace deprecated action, add error handling and more
- Dominant language
- C
- Stars
- 20.5k
- Forks
- 1.5k
- PR merge metrics
- No merged PRs in 30d
Description
## Problems
The auto-label workflow uses an outdated, unmaintained action (`satackey/action-js-inline`)
that relies on Node.js 20, which GitHub has permanently unsupported. Additionally, the workflow has:
- No error handling
- A hardcoded commit hash (making updates difficult)
- Redundant variable extraction.
- No permission handling
## Solution
- Update the .github/workflows/autolabel.yml to this modified version of the official 'actions/github-script':
name: Auto-Label
on:
issues:
types: [opened]
jobs:
label:
runs-on: ubuntu-latest
permissions:
issues: write
steps:
- uses: actions/github-script@v7
with:
script: |
try {
await github.rest.issues.addLabels({
owner: context.repo.owner,
repo: context.repo.repo,
issue_number: context.issue.number,
labels: ['unconfirmed']
});
} catch (error) {
core.setFailed(`Failed to add label: ${error.message}`);
}
**Note:** The indents may fail to render in your browser so once copied you may have to fix the indents.
Contributor guide
No contributing guide indexed for this repository
Research direction
Start by reading .github/workflows/autolabel.yml and compare its current trigger, action, permissions, and script handling with the issue’s proposed workflow. Validate the workflow syntax and inspect the resulting change to confirm that newly opened issues receive the unconfirmed label and failures are reported.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- github-actions, javascript
- Domain
- ci-cd, devops
- Issue type
- Refactor
- Difficulty
- 2/5
- Estimated time
- 1-3 hours
- Activity status
- Active
- Clarity
- Clearly specified
- Newbie friendliness
- 88/100