https://github.com/dhth/act3
Glance at the last 3 runs of your GitHub Actions workflows
https://github.com/dhth/act3
github-actions
Last synced: 3 months ago
JSON representation
Glance at the last 3 runs of your GitHub Actions workflows
- Host: GitHub
- URL: https://github.com/dhth/act3
- Owner: dhth
- License: mit
- Created: 2024-03-22T13:12:57.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2025-08-11T22:40:59.000Z (3 months ago)
- Last Synced: 2025-08-12T00:23:46.724Z (3 months ago)
- Topics: github-actions
- Language: Go
- Homepage: https://tools.dhruvs.space/act3
- Size: 1.19 MB
- Stars: 38
- Watchers: 1
- Forks: 5
- Open Issues: 3
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- License: LICENSE
Awesome Lists containing this project
- awesome-tuis - act3
- awesome-cli-apps-in-a-csv - act3 - Glance at the last 3 runs of your Github Actions. (<a name="monitor"></a>System monitoring)
README
act3
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][3].
💾 Installation
---
**homebrew**:
```sh
brew install dhth/tap/act3
```
**go**:
```sh
go install github.com/dhth/act3@latest
```
Or get the binary directly from a [release][2]. Read more about verifying the
authenticity of released artifacts [here](#-verifying-release-artifacts).
🔑 Authentication
---
You can have `act3` make authenticated calls to GitHub on your behalf in either
of two ways:
- Have an authenticated instance of [gh](https://github.com/cli/cli) 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
```text
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.
```bash
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.
```yaml
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.
```bash
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.
```bash
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](./internal/ui/assets/template.html) for the
default template.)
```bash
act3 -f html
```
The resultant HTML page looks like this.
> You can see this in action [here][3].
🔐 Verifying release artifacts
---
In case you get the `act3` binary directly from a [release][2], you may want to
verify its authenticity. Checksums are applied to all released artifacts, and
the resulting checksum file is signed using
[cosign](https://docs.sigstore.dev/cosign/installation/).
Steps to verify (replace `x.y.z` in the commands listed below with the version
you want):
1. 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
2. Verify the signature:
```shell
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"
```
3. Download the compressed archive you want, and validate its checksum:
```shell
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
```
3. If checksum validation goes through, uncompress the archive:
```shell
tar -xzf act3_x.y.z_linux_amd64.tar.gz
./act3
# profit!
```
[2]: https://github.com/dhth/act3/releases
[3]: https://dhth.github.io/act3-runner