act3
lets you glance at the results of the last 3 runs of your Github
Actions.
Want to see a demo before you read the rest of the documentation? View
act3
in action here.
💾 Installation
homebrew:
brew install dhth/tap/act3
go:
go install github.com/dhth/act3@latest
Or get the binary directly from a release. Read more about verifying the authenticity of released artifacts here.
🔑 Authentication
You can have act3
make authenticated calls to GitHub on your behalf in either
of two ways:
- Have an authenticated instance of gh available (recommended).
- Provide a valid Github token via
$GH_TOKEN
, which has the following permissions for the repos you want to query data for.actions:read
checks:read
⚡️ Usage
Basic Usage
Usage:
act3 [flags]
act3 [command]
Available Commands:
config Interact with act3's config
help Help about any command
Flags:
-c, --config-path string location of act3's config file (default "/Users/user/Library/Application Support/act3/act3.yml")
-f, --format string output format to use; possible values: default, table, html (default "default")
-g, --global whether to use workflows defined globally via the config file
-h, --help help for act3
--html-template-path string path of the HTML template file to use
--html-title string title to use in the HTML output (default "act3")
-o, --open-failed whether to open failed workflows
-r, --repos strings repos to fetch workflows for, in the format "owner/repo"
-n, --workflow-name-filter string regex expression to filter workflows by name
By default, act3
will show results for the repository associated with the
current directory. Simply run act3
from the project root.
You can also specify a list of repositories to fetch results for using the -r
flag.
act3 -r dhth/act3,dhth/bmm
Specific Workflows
You can also fetch results for specific workflows using a config file, that
looks like the following. Run act3 -h
to view the default location where
act3
looks for this config file.
workflows:
- id: W_kwDOLkC0eM4FaKV_
repo: dhth/act3
name: build
- id: W_kwDOLb3Pms4FRxjX
repo: dhth/cueitup
name: build
key: cueitup-release # optional
- id: W_kwDOLb3Pms4FRxjY
repo: dhth/cueitup
name: release
url: https://asampleurl.com/{{runNumber}} # optional
{{runNumber}}
gets replaced with the actual run number of the workflow.
You can generate this configuration using act3
itself.
Usage:
act3 config gen [flags]
Flags:
-h, --help help for gen
-r, --repos strings repos to generate the config for, in the format "owner/repo"
-n, --workflow-name-filter string regex expression to filter workflows by name
Tabular output
act3
can also output results in a tabular format.
act3 -f table
HTML output
act3
can also output results in HTML format. You can also specify a template
using the -t
flag (refer to
./internal/ui/assets/template.html for the
default template.)
act3 -f html
The resultant HTML page looks like this.
You can see this in action here.
🔐 Verifying release artifacts
In case you get the act3
binary directly from a release, you may want to
verify its authenticity. Checksums are applied to all released artifacts, and
the resulting checksum file is signed using
cosign.
Steps to verify (replace x.y.z
in the commands listed below with the version
you want):
Download the following files from the release:
- act3_x.y.z_checksums.txt
- act3_x.y.z_checksums.txt.pem
- act3_x.y.z_checksums.txt.sig
Verify the signature:
cosign verify-blob act3_x.y.z_checksums.txt \ --certificate act3_x.y.z_checksums.txt.pem \ --signature act3_x.y.z_checksums.txt.sig \ --certificate-identity-regexp 'https://github\.com/dhth/act3/\.github/workflows/.+' \ --certificate-oidc-issuer "https://token.actions.githubusercontent.com"
Download the compressed archive you want, and validate its checksum:
curl -sSLO https://github.com/dhth/act3/releases/download/vx.y.z/act3_x.y.z_linux_amd64.tar.gz sha256sum --ignore-missing -c act3_x.y.z_checksums.txt
If checksum validation goes through, uncompress the archive:
tar -xzf act3_x.y.z_linux_amd64.tar.gz ./act3 # profit!
Changelog
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
v2.0.0 - Jun 16, 2025
Added
- Allow opening failed workflows
- Add command for generating act3’s config
- Add command for validating act3’s config
Changed
- Changed CLI interface to use dual flags (-g/–global)
- Improve HTML layout
- Allow fetching results for multiple repos
v1.1.4 - Jan 07, 2025
Changed
- Remove caching for GitHub client
v1.1.3 - Aug 20, 2024
Changed
- Retain workflow order from config
v1.1.2 - Aug 20, 2024
Fixed
- Show correct date for workflows in tabular and HTML output format
v1.1.0 - Aug 18, 2024
Added
- Allow tabular output
- Show check state/conclusion for non-successful run
v1.0.0 - Aug 17, 2024
Added
- Allow fetching results for a specific repository
- Better highlighting for workflow runs, based on run conclusion
Changed
- act3 now relies on gh for authentication. If gh is not available, authenticating via an environment variable is still supported (via GH_TOKEN).
- act3 now uses the repo associated with the current directory by default. Results for preset workflows configured via a config file can still be fetched using a flag.
Removed
- Ability to filter for messages with a specific context value