Skip to content

digitalservicebund/github-actions-linter

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 Actions Linter


⚠️ This github action is deprecated and will no longer be maintained. ⚠️


CI version

Linting for GitHub Actions workflows:

  • Detects referencing 3rd-party actions by mutable tags/references. The only actions allowed to be referenced in this way are actions created by GitHub itself.
# ❌ Bad
- name: Send status to Slack
  uses: lazy-actions/[email protected]

- name: Send status to Slack
  uses: lazy-actions/slatify@main

# ✅ Good
- name: Send status to Slack
  uses: lazy-actions/slatify@c4847b8c84e3e8076fd3c42cc00517a10426ed65 # == v3.0.0

Usage

Lint workflow files in .github/workflows:

Run locally

npx .

Also available as a Github Action

name: CI

on:
  push:
    branches: [main]

jobs:
  check:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
        with:
          fetch-depth: 0
      - name: validate github workflow files to have pinned versions
        uses: digitalservicebund/github-actions-linter@LATEST_HASH

Releasing

We use 👉 release-it

Checklist:

  • At first login to npmjs.com and make sure you have write access to the package
  • Run npm login and follow the wizard
  • Adapt the future semantic version in this README.md in section Usage
  • Align the node version in .node-version with action.yml (It's recommended to use nodenv)
  • Align the future semantic version in the action.yml
  • Change whatever you like
  • Make sure tests are green, linting is fine and format is checked: npm run test && npm run lint:check && npm run format:check
  • Commit and Push your changes
  • Finally run the interactive wizard npm run release which will automatically increase the semantic versioning in the package.json

About

Linting workflow files of GitHub Actions

Topics

Resources

License

Stars

Watchers

Forks

Contributors 8