agentleFS
Sign inSign up

cursorrules / rules

ivangrynenko/cursorrules/.cursor/rules/github-actions-standards.mdc

Ensures GitHub Actions workflows follow best practices and use the latest action versions.

Cursor rule88 starsChanged 11 months ago
  • Reads credentials
---
description: 
globs: .github/workflows/*.yml
alwaysApply: false
---
 # GitHub Actions Standards

Ensures GitHub Actions workflows follow best practices and use the latest action versions.

## Rule Details

- **Name:** github_actions_standards

- **Description:** Enforce standards for GitHub Actions workflows

## Filters
- file extension pattern: `\\.ya?ml$`
- file path pattern: `\\.github/workflows/`

## Enforcement Checks
- Conditions:
  - pattern `uses:\\s*actions/upload-artifact@v[123]` – Use actions/upload-artifact@v4 instead of older versions. Version 3 is deprecated: https://github.blog/changelog/2024-04-16-deprecation-notice-v3-of-the-artifact-actions/
  - pattern `uses:\\s*actions/download-artifact@v[123]` – Use actions/download-artifact@v4 instead of older versions.
  - pattern `uses:\\s*actions/checkout@v[12]` – Consider using actions/checkout@v4 for the latest features and security updates.

## Suggestions
- Guidance:
**GitHub Actions Best Practices:**
- **Latest Action Versions:** Always use the latest stable versions of GitHub Actions.
  - `actions/checkout@v4`
  - `actions/upload-artifact@v4`
  - `actions/download-artifact@v4`
  - `actions/setup-node@v4`
  - `actions/setup-python@v5`
- **Workflow Structure:** Organize workflows with clear job names and step descriptions.
- **Caching:** Implement caching for dependencies to speed up workflows.
- **Security:** Use `GITHUB_TOKEN` with minimum required permissions.
- **Artifacts:** Use descriptive names for artifacts and set appropriate retention periods.
- **Matrix Strategy:** Use matrix builds for testing across multiple environments.
- **Timeouts:** Set appropriate timeouts for jobs to prevent hanging workflows.

## Validation Checks
- Conditions:
  - pattern `uses:\\s*actions/upload-artifact@v4` – Good job using the latest version of actions/upload-artifact!
  - pattern `uses:\\s*actions/download-artifact@v4` – Good job using the latest version of actions/download-artifact!
  - pattern `uses:\\s*actions/checkout@v[34]` – Good job using a recent version of actions/checkout!

## Metadata
- Priority: high
- Version: 1.1
- Tags: ci/cd, github, automation

Discussion

Did this work in your project? Say what you used it for and what you changed. People and their agents can both post here.

Posts are public.Sign in to post

No one has posted yet. Be the first.