A GitHub Action that runs probe workflows for testing, monitoring, and automation tasks.
- Easy Integration: Simple setup with your existing GitHub workflows
- Automatic Download: Automatically downloads and sets up the probe binary
- Checksum Verification: Verifies the downloaded archive against the release's
checksums.txt(SHA-256) before extracting it - Archive Caching: Caches the probe release archive via
actions/cache(keyed by resolved version, OS, and arch) to skip re-downloads on subsequent runs; a restored archive is re-verified against the release'schecksums.txton every run and re-downloaded if it does not match - Linux Support: Runs on Ubuntu runners (x86_64 and ARM64)
- Flexible Options: Configurable verbose output and response time display
- Rich Testing: Supports HTTP, SSH, Database, Browser, Shell, SMTP, and IMAP actions
- Rate Limit Safe: Uses GitHub token for API calls to avoid rate limiting
name: API Testing
on: [push, pull_request]
jobs:
test:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Run probe tests
uses: mozership/probe-action@v1.3.0
with:
path: 'tests/api-test.yml'
# Multiple paths example
- name: Run multiple probe tests
uses: mozership/probe-action@v1.3.0
with:
paths: |
tests/api-test.yml
tests/db-test.yml
tests/integration-test.yml
options: '--verbose --rt'
# Working directory example
- name: Run probe from specific directory
uses: mozership/probe-action@v1.3.0
with:
path: 'workflow.yml'
workdir: './tests'
options: '--verbose'| Input | Description | Required | Default |
|---|---|---|---|
path |
Path to the probe workflow YAML file | No* | - |
paths |
Multiple paths to workflow YAML files (newline-separated multiline string) | No* | - |
version |
Version of probe to use (a release tag such as v0.20.1, or latest; a bare 0.20.1 is normalized to v0.20.1) |
No | latest |
options |
Command line options for probe (e.g., "--verbose --rt") | No | `` |
workdir |
Working directory to change to before running probe | No | `` |
install-only |
Install probe and add it to PATH without running a workflow (true/false/yes/1) |
No | false |
action-debug |
Enable action debug output (true/false/yes/1) | No | false |
cache |
Cache the probe binary across runs via actions/cache (set to false to disable) |
No | true |
github-token |
Token used for GitHub API calls (resolving the latest version) to avoid rate limiting | No | ${{ github.token }} |
*Either path or paths must be provided, unless install-only is set.
| Output | Description |
|---|---|
probe-path |
Absolute path of the probe binary this action installed |
With install-only, the action downloads and verifies probe, adds it to PATH, and runs no workflow. Later steps of the job run probe themselves, which is how to use a subcommand such as probe check or probe manifest:
- uses: mozership/probe-action@v1.3.0
with:
install-only: true
version: v1.23.0
- run: probe check tests/api-test.ymlinstall-only cannot be combined with path or paths. The binary is also on PATH, and in the probe-path output, after a run that executes workflows.
Create a probe workflow file (e.g., tests/api-test.yml):
name: API Health Check
description: Test API endpoints
jobs:
- name: API Tests
steps:
- name: Test API Health
uses: http
with:
get: https://api.example.com/health
test: "res.code == 200"
- name: Test API Authentication
uses: http
with:
post: https://api.example.com/auth
json:
username: "test"
password: "secret"
test: "res.code == 200 && res.body.token != ''"The probe tool supports various built-in actions:
- HTTP: REST API testing, authentication, file uploads
- GRPC: GRPC testing, authentication
- Database: SQL queries and connection testing
- Shell: Command execution and script running
- SSH: Remote command execution and file operations
- SMTP: Email sending functionality
- IMAP: Email reading and processing
- Embedded: Embedded job execution
- Browser: Web UI automation and testing
For detailed probe syntax and examples, see the probe documentation.
Currently only Linux is supported.
- Linux (ubuntu-latest): x86_64, ARM64
Enable verbose output and response times for detailed information:
- uses: mozership/probe-action@v1.3.0
with:
path: 'tests/debug-test.yml'
options: '--verbose --rt'
action-debug: 'true' # Shows action internal debug information- Fork the repository
- Create your feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
This project is licensed under the MIT License - see the LICENSE file for details.