# Run GitHub Actions locally in your terminal with or without Docker/Podman

**URL:** <https://users.rust-lang.org/t/run-github-actions-locally-in-your-terminal-with-or-without-docker-podman/133196>\
**Category:** announcements\
**Created:** [August 19, 2025, 2:30pm UTC](https://users.rust-lang.org/t/run-github-actions-locally-in-your-terminal-with-or-without-docker-podman/133196 "2025-08-19T14:30:38Z")\
**Posts on this page:** 4\
**Page:** 1

<div class="post-metadata">

**Author:** ![bahdotshx](https://sea1.discourse-cdn.com/flex019/user_avatar/users.rust-lang.org/bahdotshx/32/48870_2.png) [@bahdotshx](https://users.rust-lang.org/u/bahdotshx)\
**Post date:** [August 19, 2025, 2:30pm UTC](https://users.rust-lang.org/t/run-github-actions-locally-in-your-terminal-with-or-without-docker-podman/133196/1 "2025-08-19T14:30:38Z")

</div>

wrkflw is a powerful command-line tool for validating and executing GitHub Actions workflows locally, without requiring a full GitHub environment. It helps developers test their workflows directly on their machines before pushing changes to GitHub.

## Features

- **TUI Interface** : A full-featured terminal user interface for managing and monitoring workflow executions
- **Validate Workflow Files** : Check for syntax errors and common mistakes in GitHub Actions workflow files with proper exit codes for CI/CD integration
- **Execute Workflows Locally** : Run workflows directly on your machine using Docker or Podman containers
- **Multiple Container Runtimes** : Support for Docker, Podman, and emulation mode for maximum flexibility
- **Job Dependency Resolution** : Automatically determines the correct execution order based on job dependencies
- **Container Integration** : Execute workflow steps in isolated containers with proper environment setup
- **GitHub Context** : Provides GitHub-like environment variables and workflow commands
- **Rootless Execution** : Podman support enables running containers without root privileges
- **Action Support** : Supports various GitHub Actions types:
  - Docker container actions
  - JavaScript actions
  - Composite actions
  - Local actions

- **Special Action Handling** : Native handling for commonly used actions like `actions/checkout`
- **Reusable Workflows (Caller Jobs)**: Execute jobs that call reusable workflows via `jobs.<id>.uses` (local path or `owner/repo/path@ref`)
- **Output Capturing** : View logs, step outputs, and execution details
- **Parallel Job Execution** : Runs independent jobs in parallel for faster workflow execution
- **Trigger Workflows Remotely** : Manually trigger workflow runs on GitHub or GitLab

Check the project out at: [GitHub - bahdotsh/wrkflw: Validate and Run GitHub Actions locally.](https://github.com/bahdotsh/wrkflw)

---

<div class="post-metadata">

**Author:** ![jendrikw](https://avatars.discourse-cdn.com/v4/letter/j/e274bd/32.png) [@jendrikw](https://users.rust-lang.org/u/jendrikw)\
**Post date:** [August 19, 2025, 4:38pm UTC](https://users.rust-lang.org/t/run-github-actions-locally-in-your-terminal-with-or-without-docker-podman/133196/2 "2025-08-19T16:38:32Z")

</div>

How does it compare to [https://github.com/nektos/act](https://github.com/nektos/act)

---

<div class="post-metadata">

**Author:** ![bahdotshx](https://sea1.discourse-cdn.com/flex019/user_avatar/users.rust-lang.org/bahdotshx/32/48870_2.png) [@bahdotshx](https://users.rust-lang.org/u/bahdotshx)\
**Post date:** [August 19, 2025, 4:50pm UTC](https://users.rust-lang.org/t/run-github-actions-locally-in-your-terminal-with-or-without-docker-podman/133196/3 "2025-08-19T16:50:04Z")

</div>

wrkflw started as a simple side project I did to scratch an itch of not wanting to push every change I make to a workflow to GitHub for validation. Act has this dependency on Docker, even just for validating the workflow. And I wanted something simpler without any external dependencies for workflow validation. You can use it with Docker and Podman, but there is no dependency on them!

---

<div class="post-metadata">

**Author:** ![system](https://sea1.discourse-cdn.com/flex019/user_avatar/users.rust-lang.org/system/32/51372_2.png) [@system](https://users.rust-lang.org/u/system)\
**Post date:** [November 17, 2025, 4:50pm UTC](https://users.rust-lang.org/t/run-github-actions-locally-in-your-terminal-with-or-without-docker-podman/133196/4 "2025-11-17T16:50:33Z")

</div>

This topic was automatically closed 90 days after the last reply. We invite you to open a new topic if you have further questions or comments.
