Skip to content

Releases: actionforge/actrun-cli

v0.16.7

12 Apr 01:50
v0.16.7
1eb21da

Choose a tag to compare

🆕 Perforce (P4) Support

New P4 nodes — p4-credentials, p4-sync, p4-print, p4-run — enable Perforce workflows directly from graphs. Includes a p4_connect e2e test against the public demo server, persistent P4 workspaces across graph execution, P4CLIENT/BUILD_REF propagation to agent subprocesses, and SSL-enabled p4 provider with static OpenSSL linking for cross-compiled Linux builds.


🆕 Remote Agent Subsystem

New agent package and CLI command allow remote job execution. Agents register via persistent UUID slots, heartbeat to the orchestrator, and stream logs back with job status. New artifact and workspace nodes integrate with orchestrator-driven uploads and downloads. New --labels flag lets agents advertise capabilities.


🆕 Debug Command & Welcome Menu

New debug subcommand and an interactive welcome menu make first-run and debugging flows more discoverable.


🆕 Repo Download & Pipeline-Only Fetch

workspace-download renamed to repo-download with a backwards-compatible artifact alias. VCS checkout now fetches only the pipeline file instead of the full repo, using go-git as the Git provider.


🆕 Docker Multi-Arch Images

Docker images now build and publish for x64 and arm64 on Linux tag pushes and workflow_dispatch, with multi-arch manifests and native ARM64 runners. Base image switched from Alpine to Ubuntu 24.04 with pwsh preinstalled.


✨ Windows Metrics

Agents on Windows now collect CPU, memory, and network stats.


✨ Schema

locked_by property added to the actfile schema.


🐛 Bug Fixes

  • Path Traversal / Goroutine Leak / Data Race — hardened the agent subsystem against path traversal, a goroutine leak, and a data race.
  • Lock File HandlingacquireAgentSlot now handles lock file closure errors gracefully.
  • Artifact Upload — improved error handling and response body logging; removed upload time limit.
  • Slot Acquisition — fixed agent slot acquisition edge case.
  • Schema — fixed p4_connect.act schema.

📦 Upgrade Notes

This release is backwards compatible. No modifications to existing graphs are required.

v0.16.2

12 Apr 01:50
v0.16.2
029dc24

Choose a tag to compare

🆕 Perforce (P4) Support

New P4 nodes — p4-credentials, p4-sync, p4-print, p4-run — enable Perforce workflows directly from graphs. Includes a p4_connect e2e test against the public demo server, persistent P4 workspaces across graph execution, P4CLIENT/BUILD_REF propagation to agent subprocesses, and SSL-enabled p4 provider with static OpenSSL linking for cross-compiled Linux builds.


🆕 Remote Agent Subsystem

New agent package and CLI command allow remote job execution. Agents register via persistent UUID slots, heartbeat to the orchestrator, and stream logs back with job status. New artifact and workspace nodes integrate with orchestrator-driven uploads and downloads. New --labels flag lets agents advertise capabilities.


🆕 Debug Command & Welcome Menu

New debug subcommand and an interactive welcome menu make first-run and debugging flows more discoverable.


🆕 Repo Download & Pipeline-Only Fetch

workspace-download renamed to repo-download with a backwards-compatible artifact alias. VCS checkout now fetches only the pipeline file instead of the full repo, using go-git as the Git provider.


🆕 Docker Multi-Arch Images

Docker images now build and publish for x64 and arm64 on Linux tag pushes and workflow_dispatch, with multi-arch manifests and native ARM64 runners. Base image switched from Alpine to Ubuntu 24.04 with pwsh preinstalled.


✨ Windows Metrics

Agents on Windows now collect CPU, memory, and network stats.


✨ Schema

locked_by property added to the actfile schema.


🐛 Bug Fixes

  • Path Traversal / Goroutine Leak / Data Race — hardened the agent subsystem against path traversal, a goroutine leak, and a data race.
  • Lock File HandlingacquireAgentSlot now handles lock file closure errors gracefully.
  • Artifact Upload — improved error handling and response body logging; removed upload time limit.
  • Slot Acquisition — fixed agent slot acquisition edge case.
  • Schema — fixed p4_connect.act schema.

📦 Upgrade Notes

This release is backwards compatible. No modifications to existing graphs are required.

v0.15.4

19 Feb 14:12
v0.15.4
6eada53

Choose a tag to compare

🆕 Local Debugging Session

New --local CLI flag starts a local WebSocket session for debugging graphs without connecting to the Actionforge gateway. This enables fully offline graph debugging directly from your machine.


🆕 MCP Server

A built-in MCP server with debug tools and a WebSocket bridge is now included. This allows AI assistants and other MCP-compatible clients to interact with running debug sessions.


🆕 GitHub Actions Mock Server

When debugging a graph locally, actrun now automatically starts a local mock server that simulates the GitHub Actions environment. This lets GitHub Action nodes run correctly during local debugging without requiring an actual GitHub Actions runner.


🆕 JSON Schema for .act Files

Graph .act files now have an official JSON schema. A new schema command prints the JSON schema, and the validate command now validates graph files against it.


✨ Post-Step Execution for GitHub Action Nodes

GitHub Action nodes now properly execute post-steps, matching the behavior of real GitHub Actions runners.


🐛 Bug Fixes

  • Token HandlingGITHUB_TOKEN and INPUT_TOKEN are now captured from the environment and handled correctly. INPUT_TOKEN has been renamed to INPUT_GITHUB_TOKEN for clarity, with backwards compatibility for the old name.
  • Group Node Validation — Fixed a ghost error in the validation function when a group node has issues.
  • Job Conclusion Values — Expression evaluator now uses the correct job conclusion values.

📦 Upgrade Notes

This release is backwards compatible. No modifications to existing graphs are required.

v0.14.6

06 Feb 01:23
v0.14.6
c23e175

Choose a tag to compare

🐛 Bug fix: Expression evaluation no longer fails for non-string results

  • Expressions like ${{ true }}, ${{ 1 == 1 }}, or any expression that evaluates to a boolean or number were previously failing with an error. They now correctly return their string representation (e.g., "true", "false"), matching GitHub Actions behavior.

v0.14.5

03 Feb 13:44
v0.14.5
76defed

Choose a tag to compare

✨ New Features

  • 📁 New core/dir-create@v1 node: You can now create directories!
  • 🌐 Shared URL execution: Graphs can now be executed directly from a shared URLs
  • 🐚 Shell installer: Added actrun.sh script for direct bash-based installation and execution
  • 🔐 GitHub attestation: Published packages now include attestation for supply chain security
  • 🧾 Software Bill of Materials (SBOM): All releases now come with attested SBOM.

🚀 Improvements

  • ⚙️ Automatic GitHub Actions environment: No additional setup required in order to run a GitHub Actions workflow graph locally
  • 📦 Native Git integration: Replaced a few git commands with the go-git library.
  • ➖ Port naming flexibility: Hyphens are now allowed in port names for group nodes
  • 🔧 Context fields: Added missing context fields in PushNewExecutionState for better state management

🐛 Bug Fixes

  • 🛡️ Fixed URL parameter injection vulnerability in shared graph URL handling by restricting share ID regex
  • 🏃 Fixed issues with mimicking GitHub Actions environment behavior
  • 📝 Fixed documentation in readme

v0.12.6

30 Jan 05:38
v0.12.6
4c2717b

Choose a tag to compare

✨ New Features

  • 📁 New core/dir-create@v1 node: You can now create directories!
  • 🌐 Shared URL execution: Graphs can now be executed directly from a shared URLs
  • 🐚 Shell installer: Added actrun.sh script for direct bash-based installation and execution
  • 🔐 GitHub attestation: Published packages now include attestation for supply chain security
  • 🧾 Software Bill of Materials (SBOM): All releases now come with attested SBOM.

🚀 Improvements

  • ⚙️ Automatic GitHub Actions environment: No additional setup required in order to run a GitHub Actions workflow graph locally
  • 📦 Native Git integration: Replaced a few git commands with the go-git library.
  • ➖ Port naming flexibility: Hyphens are now allowed in port names for group nodes
  • 🔧 Context fields: Added missing context fields in PushNewExecutionState for better state management

🐛 Bug Fixes

  • 🛡️ Fixed URL parameter injection vulnerability in shared graph URL handling by restricting share ID regex
  • 🏃 Fixed issues with mimicking GitHub Actions environment behavior
  • 📝 Fixed documentation in readme

🧪 Testing

  • ✅ Added a few more e2e tests

v0.11.2

29 Jan 04:34
v0.11.2
5626d32

Choose a tag to compare

✨ New Features

  • 🔐 Secret management overhaul: Renamed secret node to secret-get and added new secret-set node for complete secret lifecycle management
  • 🔑 SecretValue type: Secrets now return a proper SecretValue object for consistency, with support for streaming and string conversion
  • 🔤 New core/string-decode node: Added string decoding capabilities alongside new options for core/string-encode
  • ⚡ Execution ports: Added execution ports to core/random-stream, core/random-number, and core/stream-cache nodes
  • 📏 DataStream length field: DataStreamFactory now includes a length field for stream size information

🚀 Improvements

  • 🔓 Input secrets are now properly resolved in group nodes
  • 🎯 Accept any value for any and unknown outputs for better flexibility
  • 🏷️ Improved error messages with node labels
  • 🖥️ Added error handler for new web app editor console
  • 🔄 Node ID aliases added for backwards compatibility

🐛 Bug Fixes

  • 🔧 Fixed node traversal info for error printer by delaying visit popping
  • 🔍 Fixed nil value detection by checking if the value was actually found
  • 🧪 Fixed scope handling in tests
  • 🚿 Reader is now properly closed by HTTP client instance
  • 📊 Fixed workflow graph after changes to core/random-stream

v0.10.6

10 Jan 14:49
v0.10.6
09a3c5c

Choose a tag to compare

🎉 First Official Release of actrun

v0.0.1

10 Jan 05:44
d55e34b

Choose a tag to compare

v0.0.1 Pre-release
Pre-release

🎉 This is the base release of actrun that helps to build future versions of actrun.