Skip to content

github-action/max-jobs-per-action

Enforce maximum jobs per action file.

📖 Rule Details

This rule reports when action jobs count exceed limit.

yaml
name: CI

jobs:
  checkout:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
correct
yaml
name: CI

jobs:
  job1:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
  job2:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
  job3:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
  job4:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
incorrect

🔧 Options

Default limit is set to 3.

ts
type MaxJobsPerActionOptions = ['error' | 'warn' | 'off' | 2 | 1 | 0, number]

3 (default)

Examples of correct code for this rule with default option:

yaml
name: CI

jobs:
  checkout:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
correct

Examples of incorrect code for this rule with default option:

yaml
name: CI

jobs:
  job1:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
  job2:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
  job3:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
  job4:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
incorrect

1

Examples of correct code for this rule with 1 option:

yaml
name: CI

jobs:
  checkout:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
correct

Examples of incorrect code for this rule with 1 option:

yaml
name: CI

jobs:
  job1:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
  job2:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
incorrect

🚀 Version

This rule was introduced in eslint-plugin-github-action v0.0.2

🔍 Implementation