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
- 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: linyows/probe-action@v1
with:
path: 'tests/api-test.yml'
# Multiple paths example
- name: Run multiple probe tests
uses: linyows/probe-action@v1
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: linyows/probe-action@v1
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 | No | latest |
options |
Command line options for probe (e.g., "--verbose --rt") | No | `` |
workdir |
Working directory to change to before running probe | No | `` |
action-debug |
Enable action debug output (true/false/yes/1) | No | false |
*Either path or paths must be provided.
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: linyows/probe-action@v1
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.