Skip to main content

Ultralytics logo

English | 简体中文

🚀 Ultralytics Actions

Welcome to Ultralytics Actions - a collection of GitHub Actions for automating code quality, PR management, and CI/CD workflows across Ultralytics projects.

GitHub Actions Marketplace

Actions CI Ultralytics Actions GitHub Report codecov

Ultralytics Discord Ultralytics Forums Ultralytics Reddit

📦 Repository Contents

This repository provides three main components:

  1. Ultralytics Actions - Main GitHub Action for AI-powered code formatting, PR summaries, and auto-labeling
  2. Standalone Actions - Reusable composite actions for common CI/CD tasks
  3. Python Package - ultralytics-actions package for programmatic use

Ultralytics Actions (Main Action)

AI-powered formatting, labeling, and PR summaries for Python, JavaScript/TypeScript, Swift, Dart, and web/docs files.

📄 Features

  • Python Code: Formatted using Ruff, an extremely fast Python linter and formatter
  • Python Docstrings: Google-style formatting enforced with Ultralytics Python docstring formatter (optional)
  • JavaScript/TypeScript: Formatted with Biome, an extremely fast formatter for JS, TS, JSX, TSX, and JSON (optional, auto-detected via biome.json or biome.jsonc)
  • Web and Docs Files: Styled with Prettier for JS, TS, CSS, HTML, JSON, YAML, Markdown, and shell scripts
  • Swift Code: Formatted with swift-format (requires macos-latest runner)
  • Dart Code: Formatted with dart format for Dart and Flutter projects
  • Spell Check: Common misspellings caught using codespell
  • Broken Links Check: Broken links identified using Lychee
  • PR Summary: Concise Pull Request summaries generated using AI
  • PR Review: AI-powered code reviews identify critical bugs, security issues, and quality concerns with suggested fixes
  • Auto-labeling: Applies relevant labels to issues, PRs, and discussions via AI

🤖 Supported AI Providers

Choose between OpenAI or Anthropic for AI-powered features:

Provider Default Model Default PR Review Model API Key
OpenAI gpt-6-luna gpt-6-luna openai_api_key
Anthropic claude-sonnet-5 claude-opus-5-5 anthropic_api_key

The provider is auto-detected based on which API key you provide. Override with the model input, or use review_model to override PR review only.

🛠️ How It Works

Triggers on GitHub events to streamline workflows:

  • Pull Requests: Ensures formatting standards, generates summaries, provides AI reviews, and applies labels
  • Issues: Automatically applies relevant labels using AI
  • Discussions: Automatically applies relevant labels using AI

🔧 Setup

Create .github/workflows/ultralytics-actions.yml:

# Ultralytics 🚀 AGPL-3.0 License - https://ultralytics.com/license

# Ultralytics Actions https://github.com/ultralytics/actions
# This workflow formats code and documentation in PRs to Ultralytics standards

name: Ultralytics Actions

on:
  issues:
    types: [opened]
  discussion:
    types: [created]
  pull_request:
    branches: [main]
    types: [opened, closed, synchronize, review_requested]

permissions:
  contents: write # Modify code in PRs
  pull-requests: write # Add comments and labels to PRs
  issues: write # Add comments and labels to issues
  discussions: write # Add labels to discussions

jobs:
  actions:
    runs-on: ubuntu-latest
    steps:
      - name: Run Ultralytics Actions
        uses: ultralytics/actions@main
        with:
          token: ${{ secrets.GITHUB_TOKEN }} # Auto-generated token
          labels: true # Auto-label issues/PRs using AI
          python: true # Format Python with Ruff
          # python-version: "3.14" # Optional: set up a specific Python version (default: runner Python)
          python_docstrings: true # Format Python docstrings (default: true)
          biome: true # Format JS/TS with Biome (auto-detected via biome.json or biome.jsonc)
          prettier: true # Format YAML, JSON, Markdown, CSS
          swift: false # Format Swift (requires macos-latest)
          dart: false # Format Dart/Flutter
          spelling: true # Check spelling with codespell
          links: true # Check broken links with Lychee
          summary: true # Generate AI-powered PR summaries
          # AI API keys - provide OpenAI OR Anthropic (model auto-detected from key)
          openai_api_key: ${{ secrets.OPENAI_API_KEY }}
          # anthropic_api_key: ${{ secrets.ANTHROPIC_API_KEY }}
          # model: gpt-6-luna  # Optional: set model explicitly
          # review_model: claude-opus-5-5  # Optional: override PR review model
          brave_api_key: ${{ secrets.BRAVE_API_KEY }} # Used for broken link resolution

Standalone Actions

Reusable composite actions for common CI/CD tasks. Each can be used independently in your workflows.

1. Retry Action

Retry failed commands with exponential backoff and jitter.

- uses: ultralytics/actions/retry@main
  with:
    run: npm install
    retries: 3
    timeout_minutes: 5

📖 Full Documentation →

2. Cleanup Disk Action

Free up disk space on GitHub runners by removing unnecessary packages and files.

- uses: ultralytics/actions/cleanup-disk@main

📖 Full Documentation →

3. GitHub Report Action

Summarize open PRs and failed default-branch GitHub Actions across organization repositories.

- uses: ultralytics/actions/github-report@main
  with:
    token: ${{ secrets.GITHUB_TOKEN }}
    org: ultralytics # Optional: defaults to ultralytics
    visibility: all # Optional: public, private, internal, all, or comma-separated
    auto_merge_actions_prs: true # Optional: auto-merge eligible GitHub Actions update PRs

📖 Full Documentation →

4. Dependabot Action

Update GitHub Actions versions across organization repositories with cached release resolution.

- uses: ultralytics/actions/dependabot@main
  with:
    token: ${{ secrets.GITHUB_TOKEN }}

📖 Full Documentation →

5. CLA Action

Check every pull request commit author against the central Ultralytics CLA signature ledger.

- uses: ultralytics/actions/cla@main
  with:
    github-token: ${{ secrets.GITHUB_TOKEN }}
    cla-token: ${{ secrets._GITHUB_TOKEN }}

📖 Full Documentation →

6. Setup uv Action

Use the official uv setup action with Ultralytics defaults, optional Python environment activation, and dependency caching.

- uses: ultralytics/actions/setup-uv@main
  with:
    python-version: "3.14"
    activate-environment: true

📖 Full Documentation →

Python Package

Install the ultralytics-actions package for programmatic access to action utilities, including all requirements, in a Python>=3.8 environment.

PyPI - Version Ultralytics Downloads PyPI - Python Version

uv pip install ultralytics-actions

Available Modules:

  • actions.review_pr - AI-powered PR review
  • actions.summarize_pr - Generate PR summaries
  • actions.github_report - Generate GitHub organization reports
  • actions.first_interaction - Welcome message for new contributors
  • And more in actions/ directory

💡 Contribute

Ultralytics thrives on community collaboration, and we deeply value your contributions! Please see our Contributing Guide for details on how you can get involved. We also encourage you to share your feedback through our Survey. A huge thank you 🙏 to all our contributors!

Ultralytics open-source contributors

📄 License

Ultralytics offers two licensing options:

  • AGPL-3.0 License: An OSI-approved open-source license ideal for students, researchers, and enthusiasts who value open collaboration. See the LICENSE file for details.
  • Enterprise License: Designed for commercial use, this license allows integrating Ultralytics software and AI models into commercial products without AGPL-3.0's open-source requirements. For enterprise solutions, contact Ultralytics Licensing.

📫 Contact

For bug reports or feature suggestions related to Ultralytics Actions, please submit an issue via GitHub Issues. Join our Discord community for discussions and support!


Ultralytics GitHub space Ultralytics LinkedIn space Ultralytics Twitter space Ultralytics YouTube space Ultralytics TikTok space Ultralytics BiliBili space Ultralytics Discord

Release files for ultralytics-actions 0.3.28

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for ultralytics-actions 0.3.28
File Size Uploaded
ultralytics_actions-0.3.28.tar.gz 131.1 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for ultralytics-actions 0.3.28
File Interpreter ABI Platform
ultralytics_actions-0.3.28-py3-none-any.whl Python 3 none any Details

Total release size: 236.5 kB

Release files / ultralytics_actions-0.3.28.tar.gz

Download URL ultralytics_actions-0.3.28.tar.gz
Size 131.1 kB
Tags Source
SHA-256 checksum
How to use checksums
c00a1389392f3ebc7acbf7a23397c8fe9da209b8ed5e18db10162fb66a0c7410
BLAKE2b-256 checksum
How to use checksums
21329e5471b7b0e479c08826fd6f4b352b64611645dba30a828d4bc287babad2
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 23, 2026.

Transparency log

Release files / ultralytics_actions-0.3.28-py3-none-any.whl

Download URL ultralytics_actions-0.3.28-py3-none-any.whl
Size 105.5 kB
Tags Python 3
SHA-256 checksum
How to use checksums
a38661688dbc7a4f16f9c33dcf0092b2c18de9f9f43cb821e8d9ad619e9eb523
BLAKE2b-256 checksum
How to use checksums
a956e66abbff1e132b0b217a872fa860fe6fbc46aa5c697b8e22ea8d8fb4c286
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 23, 2026.

Transparency log

Release history Release notifications | RSS feed

0.3.29

2 release files

This release

0.3.28 This release

2 release files

0.3.27

2 release files

0.3.26

2 release files

0.3.25

2 release files

0.3.24

2 release files

0.3.23

2 release files

0.3.19

2 release files

0.3.18

2 release files

0.3.17

2 release files

0.3.15

2 release files

0.3.14

2 release files

0.3.13

2 release files

0.3.12

2 release files

0.3.11

2 release files

0.3.10

2 release files

0.3.9

2 release files

0.3.8

2 release files

0.3.7

2 release files

0.3.6

2 release files

0.3.5

2 release files

0.3.4

2 release files

0.3.3

2 release files

0.3.2

2 release files

0.3.1

2 release files

0.3.0

2 release files

0.2.45

2 release files

0.2.44

2 release files

0.2.43

2 release files

0.2.42

2 release files

0.2.41

2 release files

0.2.40

2 release files

0.2.39

2 release files

0.2.38

2 release files

0.2.37

2 release files

0.2.36

2 release files

0.2.35

2 release files

0.2.34

2 release files

0.2.33

2 release files

0.2.32

2 release files

0.2.31

2 release files

0.2.30

2 release files

0.2.29

2 release files

0.2.28

2 release files

0.2.27

2 release files

0.2.26

2 release files

0.2.18

2 release files

0.2.17

2 release files

0.2.13

2 release files

0.2.12

2 release files

0.2.11

2 release files

0.2.10

2 release files

0.2.9

2 release files

0.2.8

2 release files

0.2.7

2 release files

0.2.6

2 release files

0.2.5

2 release files

0.2.4

2 release files

0.2.3

2 release files

0.2.2

2 release files

0.2.1

2 release files

0.2.0

2 release files

0.1.9

2 release files

0.1.8

2 release files

0.1.7

2 release files

0.1.6

2 release files

0.1.5

2 release files

0.1.4

2 release files

0.1.3

2 release files

0.1.2

2 release files

0.1.1

2 release files

0.1.0

2 release files

0.0.99

2 release files

0.0.98

2 release files

0.0.97

2 release files

0.0.96

2 release files

0.0.95

2 release files

0.0.94

2 release files

0.0.93

2 release files

0.0.92

2 release files

0.0.91

2 release files

0.0.90

2 release files

0.0.87

2 release files

0.0.85

2 release files

0.0.84

2 release files

0.0.83

2 release files

0.0.82

2 release files

0.0.81

2 release files

0.0.80

2 release files

0.0.79

2 release files

0.0.78

2 release files

0.0.77

2 release files

0.0.76

2 release files

0.0.75

2 release files

0.0.74

2 release files

0.0.73

2 release files

0.0.72

2 release files

0.0.71

2 release files

0.0.70

2 release files

0.0.69

2 release files

0.0.68

2 release files

0.0.67

2 release files

0.0.66

2 release files

0.0.65

2 release files

0.0.64

2 release files

0.0.63

2 release files

0.0.59

2 release files

0.0.58

2 release files

0.0.57

2 release files

0.0.56

2 release files

0.0.55

2 release files

0.0.54

2 release files

0.0.53

2 release files

0.0.52

2 release files

0.0.50

2 release files

0.0.49

2 release files

0.0.48

2 release files

0.0.47

2 release files

0.0.46

2 release files

0.0.45

2 release files

0.0.44

2 release files

0.0.43

2 release files

0.0.42

2 release files

0.0.41

2 release files

0.0.40

2 release files

0.0.34

2 release files

0.0.33

2 release files

0.0.32

2 release files

0.0.31

2 release files

0.0.30

2 release files

0.0.29

2 release files

0.0.28

2 release files

0.0.27

2 release files

0.0.26

2 release files

0.0.25

2 release files

0.0.22

2 release files

0.0.21

2 release files

0.0.20

2 release files

0.0.19

2 release files

0.0.17

2 release files

0.0.16

2 release files

0.0.15

2 release files

0.0.14

2 release files

0.0.13

2 release files

0.0.12

2 release files

0.0.11

2 release files

0.0.10

2 release files

0.0.9

2 release files

0.0.8

2 release files

0.0.7

2 release files

0.0.6

2 release files

0.0.5

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page