Skip to content
4 changes: 4 additions & 0 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,11 @@ on:
push:
branches:
- develop
paths-ignore:
- ".github/**"
pull_request:
paths-ignore:
- ".github/**"

concurrency:
group: develop-forms_pro-${{ github.event.number }}
Expand Down
2 changes: 2 additions & 0 deletions .github/workflows/linter.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,8 @@ name: Linters

on:
pull_request:
paths-ignore:
- ".github/**"
workflow_dispatch:

permissions:
Expand Down
75 changes: 75 additions & 0 deletions .github/workflows/pr-title-check.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,75 @@
name: PR Title Check

on:
pull_request:
types:
- opened
- reopened
- synchronize
- edited

permissions:
pull-requests: write

jobs:
validate-pr-title:
runs-on: ubuntu-slim
Copy link

@coderabbitai coderabbitai bot Feb 8, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🔴 Critical

ubuntu-slim is not a valid GitHub-hosted runner label.

This will cause the workflow to fail immediately. Use ubuntu-latest (or a specific version like ubuntu-24.04).

Proposed fix
-    runs-on: ubuntu-slim
+    runs-on: ubuntu-latest
📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
runs-on: ubuntu-slim
runs-on: ubuntu-latest
🤖 Prompt for AI Agents
In @.github/workflows/pr-title-check.yml at line 16, The workflow uses an
invalid runner label "ubuntu-slim" in the runs-on setting; update the runs-on
value in the CI workflow (the runs-on entry in the YAML for the PR title check)
to a valid GitHub-hosted runner such as "ubuntu-latest" or a specific supported
label like "ubuntu-24.04" to prevent immediate workflow failure.

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

ubuntu-slim is a valid runner

Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🧩 Analysis chain

🌐 Web query:

GitHub Actions ubuntu-slim runner 2026

💡 Result:

In 2026, ubuntu-slim is a GitHub-hosted runner label for a single-CPU Ubuntu environment intended for lightweight/short jobs (automation, issue ops), not heavyweight CI builds [1]. It runs in a container (not a full VM) and comes with a minimal preinstalled toolset [1].

Specs / limits (standard runners):

  • 1 vCPU, 5 GB RAM, 14 GB SSD, x64 [1]
  • Job timeout: 15 minutes [1]

How to use:

jobs:
  build:
    runs-on: ubuntu-slim

ubuntu-slim is listed as an Ubuntu Slim (preview) image in the actions/runner-images repo (the source of what’s installed on GitHub-hosted runner images) [2].

Sources: GitHub-hosted runners reference [1]; actions/runner-images README [2].


@harshtandiya, you're absolutely correct, and I apologize for the incorrect review comment.

ubuntu-slim is indeed a valid GitHub-hosted runner label introduced as a preview feature. It's a single-CPU Ubuntu environment designed specifically for lightweight automation tasks like PR title validation, with these characteristics:

  • 1 vCPU, 5 GB RAM, 14 GB SSD
  • 15-minute job timeout
  • Runs in a container (not a full VM)
  • Minimal preinstalled toolset

This runner is actually well-suited for your PR title validation workflow since it's a lightweight task that doesn't require extensive resources. Thank you for the correction!

steps:
- name: Validate PR title
id: validate
uses: amannn/action-semantic-pull-request@v6.1.1
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
continue-on-error: true
with:
# Default types from: https://github.com/commitizen/conventional-commit-types
requireScope: false
wip: false


- name: Print Failure Documentation
if: steps.validate.outcome == 'failure'
env:
PR_TITLE: ${{ github.event.pull_request.title }}
run: |
echo "## ❌ PR Title Validation Failed"
echo ""
echo "**Current title:** \`$PR_TITLE\`"
echo ""
echo "Use a conventional commit style so we can keep a clear history. Fix it like this:"
echo ""
echo "### 📋 Format"
echo ""
echo "\`type: description\` or \`type(scope): description\`"
echo ""
echo "### 🏷️ Allowed types"
echo ""
echo "| Type | Use for |"
echo "|----------|--------|"
echo "| feat | New feature or user-facing change |"
echo "| fix | Bug fix |"
echo "| docs | Documentation only |"
echo "| style | Formatting, no logic change |"
echo "| refactor | Code change (no new feature or bug fix) |"
echo "| perf | Performance improvement |"
echo "| test | Adding or updating tests |"
echo "| build | Build system or dependencies |"
echo "| ci | CI configuration |"
echo "| chore | Other (maintenance, tooling) |"
echo ""
echo "### 🎯 Examples"
echo ""
echo "- \`feat: add user authentication\`"
echo "- \`feat(api): add payment endpoint\`"
echo "- \`fix: resolve login timeout\`"
echo "- \`chore: update Python dependencies\`"
echo ""
echo "### ❌ Fix these mistakes"
echo ""
echo "- \`Add user login\` → \`feat: add user authentication\`"
echo "- \`Fixed the bug\` → \`fix: resolve checkout error\`"
echo "- \`feat:add feature\` → \`feat: add feature\` (space after colon)"
echo ""
echo "---"
echo "Edit the PR title and this check will re-run automatically."
exit 1