Actions/Checkout Versions and Tags: Complete Versioning Guide

GitHub's actions/checkout action uses semantic versioning tags following the vX.Y.Z pattern, with major versions like v7, v6, v5, and v4 available alongside specific patch releases such as v6.0.3.

The actions/checkout repository maintains multiple release streams to support diverse CI/CD requirements. Understanding how these actions/checkout versions are structured and referenced ensures your workflows use the correct feature set and security patches. This guide examines the tagging scheme, available releases, and implementation details found in the source code.

Version Tagging Scheme

actions/checkout follows semantic versioning using Git tags that match the pattern vX.Y.Z. Each major version tag (e.g., v7, v6) corresponds to a released major version, where minor and patch releases are baked into the same tag reference.

When you specify a version in your workflow's uses field, the runner checks out the exact commit associated with that tag. This means referencing actions/checkout@v7 pulls the latest v7.x code, while actions/checkout@v6.0.3 pins to that specific patch release.

Available Actions/Checkout Versions

The repository maintains a single source tree that is compiled to JavaScript for the current runtime environment. As of version 7, the action runs on Node 24. Major versions currently available include:

  • v7 – The current major release with the latest features and Node 24 runtime
  • v6 – Previous stable release with maintenance support
  • v5 – Older version still functional for legacy workflows
  • v4 – Extended support version for older runners

You can view all available release tags on the GitHub Tags page. Version-specific changes are documented in CHANGELOG.md at the repository root, while README.md summarizes compatibility and migration paths.

How Version Selection Works in the Runner

The version your workflow executes is determined solely by the tag referenced in the uses field. When the workflow runs, GitHub Actions checks out the specific commit associated with that tag, ensuring the behavior matches the code at that point in time.

Key implementation files include:

Although the source files remain consistent across the repository, the compiled assets in dist/index.js differ between tags, making version selection critical for functionality.

Referencing Different Versions in Workflows

Using the Latest Major Release (v7)

Reference the major version tag to automatically receive the latest patches and bug fixes within that release stream:

jobs:
  build:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v7
        with:
          fetch-depth: 0

Pinning to a Specific Patch Version

For reproducible builds, specify the exact patch version to ensure consistent behavior across workflow runs:

jobs:
  test:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v6.0.3
        with:
          persist-credentials: false

Using Older Supported Versions

Legacy workflows can continue using older major versions that remain functional:

jobs:
  legacy:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v5
        with:
          lfs: true

Selecting Pre-Release Tags

For testing features before general availability, reference specific pre-release tags directly:

- uses: actions/checkout@v7.0.0-beta

Always prefer official release tags (vX.Y.Z) to avoid pulling in unfinished code.

Summary

  • actions/checkout versions use semantic tagging (vX.Y.Z) where major versions like v7, v6, and v5 represent distinct release streams
  • The repository maintains a single source tree compiled to dist/index.js, with the runtime environment (currently Node 24 for v7) determined by the tag
  • Reference major version tags (@v7) for automatic updates within that stream, or specify exact patches (@v6.0.3) for reproducible builds
  • Version documentation lives in CHANGELOG.md and README.md, while the action definition resides in action.yml

Frequently Asked Questions

What versions of actions/checkout are currently available?

The repository provides major versions v7, v6, v5, and v4, with v7 being the current release running on Node 24. Each major version tag points to the latest patch release within that series, and you can reference specific historical patches by using the full semantic version string like v6.0.3.

How do I pin my workflow to a specific actions/checkout version?

Use the full version string in your workflow file: uses: actions/checkout@v6.0.3. This references the exact Git tag for that patch release, ensuring the runner checks out the specific commit associated with that version rather than the latest in the major version series.

What is the difference between v7 and previous versions of actions/checkout?

Version 7 updated the underlying runtime to Node 24 and includes the latest bug fixes and features. While the core functionality remains similar across versions, each major version may introduce breaking changes or deprecate older Node environments. The CHANGELOG.md file in the repository details specific differences between releases.

Where are version changes and release notes documented?

Version changes are recorded in CHANGELOG.md at the repository root, which details modifications for each major and patch release. The README.md file provides a high-level summary of current and historic versions, while the GitHub Tags page lists all available release points chronologically.

Have a question about this repo?

These articles cover the highlights, but your codebase questions are specific. Give your agent direct access to the source. Share this with your agent to get started:

Share the following with your agent to get started:
curl -s "https://instagit.com/install.md"

Works with
Claude Codex Cursor VS Code OpenClaw Any MCP Client

Maintain an open-source project? Get it listed too →