Skip to content

linyows/probe-action

Use this GitHub action with your project
Add this Action to an existing workflow or create a new one
View on Marketplace

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

35 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Probe Action

A GitHub Action that runs probe workflows for testing, monitoring, and automation tasks.

Features

  • 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

Usage

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'

Inputs

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.

Sample Probe Workflow

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 != ''"

Supported Probe Actions

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.

Platform Support

Currently only Linux is supported.

  • Linux (ubuntu-latest): x86_64, ARM64

Debugging

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

Contributing

  1. Fork the repository
  2. Create your feature branch (git checkout -b feature/amazing-feature)
  3. Commit your changes (git commit -m 'Add amazing feature')
  4. Push to the branch (git push origin feature/amazing-feature)
  5. Open a Pull Request

License

This project is licensed under the MIT License - see the LICENSE file for details.

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Contributors 2

  •  
  •  

Languages