Skip to content

Check Actions for Updates with actions-up and report out-of-date actions in Pull Requests, Workflow Outputs, or via the Job Status.

License

Notifications You must be signed in to change notification settings

cssnr/actions-up-action

Use this GitHub action with your project
Add this Action to an existing workflow or create a new one
View on Marketplace

Repository files navigation

GitHub Tag Major GitHub Tag Minor GitHub Release Version GitHub Dist Size Workflow Release Workflow Test Workflow lint Quality Gate Status GitHub Last Commit Codeberg Last Commit GitHub Contributors GitHub Repo Size GitHub Top Language GitHub Forks GitHub Discussions GitHub Repo Stars GitHub Org Stars Discord Ko-fi

Actions Up Action

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@master

Scanned 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.

Features

  • 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.

Planned

  • 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

Inputs

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

Path to scan for actions. The default path should find everything checked out.

Default: .

heading

Set the heading of the PR comment.

Default: ### Actions Up

open

The results are wrapped in a details/summary. Set this to true to have the details open by default.

Default: true

columns

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

exclude

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/.*

files

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.yaml

fail

Set this to true to fail the job if updates are found.

Default: ### Actions Up

summary

Add a Job Summary to the Workflow Run. Set to false to disable this.

Default: true

token

Allows optionally setting a PAT. The workflow token is automatically passed.

Default: github.token


You can also view more Examples below.

Permissions

This action requires the following permissions to add pull request comments:

permissions:
  pull-requests: write

Permissions documentation for Workflows and Actions.

Outputs

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
    }
  }
]

Examples

💡 Click on an example heading to expand or collapse the example.

Basic
- name: 'Actions Up'
  uses: cssnr/actions-up-action@master
With 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@master

Tags

The following rolling tags are maintained.

Version Tag Rolling Bugs Feat. Name Target Example
GitHub Tag Major Major vN.x.x vN
GitHub Tag Minor Minor vN.N.x vN.N
GitHub Release 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.

Support

For general help or to request a feature, see:

If you are experiencing an issue/bug or getting unexpected results, you can:

For more information, see the CSSNR SUPPORT.md.

Contributing

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.

Ko-fi

Additionally, you can support other GitHub Actions I have published:

❔ Unpublished Actions

These actions are not published on the Marketplace, but may be useful.


📝 Template Actions

These are basic action templates that I use for creating new actions.

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/

About

Check Actions for Updates with actions-up and report out-of-date actions in Pull Requests, Workflow Outputs, or via the Job Status.

Topics

Resources

License

Contributing

Stars

Watchers

Forks

Sponsor this project