Skip to content

Actions Freshness Audit #47

Actions Freshness Audit

Actions Freshness Audit #47

name: Actions Freshness Audit
on:
workflow_dispatch:
schedule:
- cron: '20 4 * * *'
permissions:
contents: read
concurrency:
group: actions-freshness-${{ github.ref }}
cancel-in-progress: false
jobs:
audit:
name: Audit pinned GitHub Actions references
runs-on: ubuntu-latest
timeout-minutes: 15
permissions:
contents: write
pull-requests: write
steps:
- name: Checkout repository
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd
with:
persist-credentials: false
- name: Setup Node.js
uses: actions/setup-node@53b83947a5a98c8d113130e565377fae1a50d02f
with:
node-version: '20'
- name: Audit pinned action references and manage tracking pull request
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
run: |
node scripts/audit-actions-freshness.js \
--report actions-freshness-report.md \
--json actions-freshness-report.json \
--manage-pr
- name: Upload freshness report artifact
if: always()
uses: actions/upload-artifact@bbbca2ddaa5d8feaa63e36b76fdaad77386f024f
with:
name: actions-freshness-report
path: |
actions-freshness-report.md
actions-freshness-report.json
if-no-files-found: error
retention-days: 14