Check Actions for Updates with actions-up and report out-of-date actions in Pull Requests, Workflow Outputs, or via the Job Status.
Generates a customizable table of available updates. Post the table to a comment on a Pull Request. Keep the table up-to-date on the comment as you update make changes. Set a boolean output indicating if updates are available. Sets a JSON output for actions scanned and available updates. Sets a string output with the generated Markdown table.
- name: 'Actions Up'
uses: cssnr/actions-up-action@masterScanned 8 workflows, checked 12 actions and found 6 updates.
Results
| Name | File | Breaking | Latest |
|---|---|---|---|
| cssnr/check-build-action | check-build.yaml | - | v1.1.0 |
| cssnr/label-creator-action | labeler.yaml | - | v1.0.2 |
| cssnr/mirror-repository-action | mirror.yaml | - | v1.2.0 |
| cssnr/update-version-tags-action | release.yaml | - | v1.3.1 |
| cssnr/package-changelog-action | release.yaml | v2.0.0 | |
| cssnr/update-version-tags-action | tags.yaml | - | v1.3.1 |
Note
This action is under active development.
Please request any features
you would like to see and report any issues you find.
- Report actions with updates.
- Exclude action names by regex.
- Sets outputs with results.
- Comment on PR with results table.
- Customize table columns and order.
- Post results open or collapsed.
- Set the comment heading text.
- Exclude action files by name.
If you would like to see a new feature, please submit a feature request.
Want to check outdated npm packages on a pull? cssnr/npm-outdated-action
Want to show package changes on release notes? cssnr/package-changelog-action
Want to automatically updated tags on release? cssnr/update-version-tags-action
| Input | Default Value | Description of Input Value |
|---|---|---|
| path | . |
Actions Scan Path |
| heading | ### Actions Up |
Comment Heading |
| open | true |
Details Open by Default |
| columns | n,f,b,l |
Results Table Columns |
| exclude | - | List of Action Regex to Exclude |
| files | - | List of File Names to Exclude |
| fail | false |
Fail Job if Updates are Found |
| summary | true |
Add Workflow Job Summary |
| token | github.token |
For use with a PAT |
Path to scan for actions. The default path should find everything checked out.
Default: .
Set the heading of the PR comment.
Default: ### Actions Up
The results are wrapped in a details/summary. Set this to true to have the details open by default.
Default: true
Results Columns and Order. Available Columns.
| Key | Column | Description |
|---|---|---|
n |
action.name | Action Name |
f |
action.file | Action File |
b |
isBreaking | Is Breaking |
c |
currentVersion | Current Version |
l |
latestVersion | Latest Version |
s |
latestSha | Latest SHA Hash |
Default: n,f,b,l
CSV or Newline List of Action Regex to Exclude. See azat-io/actions-up#cli-excludes for more details.
View CSV and Newline Examples
CSV. You can use quotes on single-line inputs because YAML removes the quotes around the string.
exclude: 'actions/.*, docker/.*'Multi-Line. You can NOT use quotes on multi-line inputs because YAML does NOT remove the quotes.
exclude: |
actions/.*
docker/.*CSV or Newline List of File Names to Exclude. All actions in these files will be excluded.
View CSV and Newline Examples
CSV. You can use quotes on single-line inputs because YAML removes the quotes around the string.
files: 'lint.yaml, release.yaml'Multi-Line. You can NOT use quotes on multi-line inputs because YAML does NOT remove the quotes.
files: |
lint.yaml
release.yamlSet this to true to fail the job if updates are found.
Default: ### Actions Up
Add a Job Summary to the Workflow Run. Set to false to disable this.
Default: true
Allows optionally setting a PAT. The workflow token is automatically passed.
Default: github.token
You can also view more Examples below.
This action requires the following permissions to add pull request comments:
permissions:
pull-requests: writePermissions documentation for Workflows and Actions.
| Output | Description of the Output |
|---|---|
| hasUpdates | If Updates true else false |
| actions | Actions Checked JSON |
| updates | Actions Up Results JSON |
| table | Resulting Markdown Table String |
| markdown | Full Markdown Comment Output String |
View Data Structure: actions
[
{
"type": "external",
"name": "actions/checkout",
"version": "v5",
"file": "/home/runner/work/actions-up-action/actions-up-action/.github/workflows/check-build.yaml",
"line": 33
}
]View Data Structure: updates
[
{
"currentVersion": "v1",
"latestVersion": "v1.15.4",
"isBreaking": false,
"latestSha": "11a0bfe3b50977e38aa2bd4a4ebd296415e83c19",
"hasUpdate": true,
"action": {
"type": "external",
"name": "sarisia/actions-status-discord",
"version": "v1",
"file": "/home/runner/work/actions-up-action/actions-up-action/.github/workflows/release.yaml",
"line": 40
}
}
]💡 Click on an example heading to expand or collapse the example.
Basic
- name: 'Actions Up'
uses: cssnr/actions-up-action@masterWith Excludes
- name: 'Actions Up'
uses: cssnr/actions-up-action@master
with:
excludes: |
actions/.*
docker/.*Custom Columns
- name: 'Actions Up'
uses: cssnr/actions-up-action@master
with:
excludes: 'actions/.*,docker/.*'
columns: 'n,l,s'Pull Request Target Workflow
name: 'Pull'
on:
pull_request_target:
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
jobs:
pull:
name: 'Pull'
runs-on: ubuntu-latest
timeout-minutes: 5
permissions:
pull-requests: write
issues: write
steps:
- name: 'Checkout Pull'
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
with:
ref: ${{ github.event.pull_request.head.sha }}
- name: 'Actions Up'
uses: cssnr/actions-up-action@masterThe following rolling tags are maintained.
| Version Tag | Rolling | Bugs | Feat. | Name | Target | Example |
|---|---|---|---|---|---|---|
| ✅ | ✅ | ✅ | Major | vN.x.x |
vN |
|
| ✅ | ✅ | ❌ | Minor | vN.N.x |
vN.N |
|
| ❌ | ❌ | ❌ | Micro | vN.N.N |
vN.N.N |
You can view the release notes for each version on the releases page.
The Major tag is recommended. It is the most up-to-date and always backwards compatible. Breaking changes would result in a Major version bump. At a minimum you should use a Minor tag.
For general help or to request a feature, see:
- Q&A Discussion: https://github.com/cssnr/actions-up-action/discussions/categories/q-a
- Request a Feature: https://github.com/cssnr/actions-up-action/discussions/categories/feature-requests
If you are experiencing an issue/bug or getting unexpected results, you can:
- Report an Issue: https://github.com/cssnr/actions-up-action/issues
- Chat with us on Discord: https://discord.gg/wXy6m2X8wY
- Provide General Feedback: https://cssnr.github.io/feedback/
For more information, see the CSSNR SUPPORT.md.
If you would like to submit a PR, please review the CONTRIBUTING.md.
Please consider making a donation to support the development of this project and additional open source projects.
Additionally, you can support other GitHub Actions I have published:
- Stack Deploy Action
- Portainer Stack Deploy Action
- Docker Context Action
- VirusTotal Action
- Mirror Repository Action
- Update Version Tags Action
- Docker Tags Action
- Update JSON Value Action
- JSON Key Value Check Action
- Parse Issue Form Action
- Cloudflare Purge Cache Action
- Mozilla Addon Update Action
- Package Changelog Action
- NPM Outdated Check Action
- Label Creator Action
- Algolia Crawler Action
- Upload Release Action
- Check Build Action
- Web Request Action
- Get Commit Action
❔ Unpublished Actions
These actions are not published on the Marketplace, but may be useful.
- cssnr/draft-release-action - Keep a draft release ready to publish.
- cssnr/env-json-action - Convert env file to json or vice versa.
- cssnr/push-artifacts-action - Sync files to a remote host with rsync.
- smashedr/update-release-notes-action - Update release notes.
- smashedr/combine-release-notes-action - Combine release notes.
📝 Template Actions
These are basic action templates that I use for creating new actions.
- js-test-action - JavaScript
- py-test-action - Python
- ts-test-action - TypeScript
- docker-test-action - Docker Image
Note: The docker-test-action builds, runs and pushes images to GitHub Container Registry.
For a full list of current projects to support visit: https://cssnr.github.io/