GitHub Action that downloads, configures, and starts the Vorpal service for use in CI/CD workflows.
- 🚀 Downloads and installs Vorpal binary from GitHub releases
- 🔧 Configures Vorpal directories and permissions
- 🔑 Generates required cryptographic keys
- 🌐 Starts Vorpal services (agent, registry, worker)
- ☁️ Supports multiple registry backends (local, S3)
- 🔒 Automatic cleanup on workflow completion
name: CI
on: [push, pull_request]
jobs:
test:
runs-on: ubuntu-latest
steps:
- name: Setup Vorpal
uses: ALT-F4-LLC/setup-vorpal-action@main
with:
version: "nightly"
name: CI with S3 Registry
on: [push, pull_request]
jobs:
test:
runs-on: ubuntu-latest
steps:
- name: Setup Vorpal
uses: ALT-F4-LLC/setup-vorpal-action@main
with:
port: "23151"
registry-backend-s3-bucket: "my-vorpal-registry"
registry-backend: "s3"
services: "agent,registry,worker"
version: "nightly"
env:
AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID }}
AWS_DEFAULT_REGION: us-west-2
AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
Input | Description | Required | Default |
---|---|---|---|
port |
Port for vorpal services | false | 23151 |
registry-backend-s3-bucket |
S3 bucket name for s3 backend | false | - |
registry-backend |
Registry backend to use (local, s3) | false | local |
services |
Services to start (comma-separated) | false | agent,registry,worker |
version |
Version of Vorpal to install (e.g., nightly) | true | - |
When using the S3 registry backend, the following environment variables are required:
AWS_ACCESS_KEY_ID
: AWS access key IDAWS_SECRET_ACCESS_KEY
: AWS secret access keyAWS_DEFAULT_REGION
: AWS region
The action supports the following architectures:
- Linux: x86_64, aarch64
- macOS: x86_64, aarch64
- Install Vorpal: Downloads and installs the Vorpal binary from GitHub releases
- Setup Directories: Creates necessary directories under
/var/lib/vorpal/
with proper permissions - Generate Keys: Creates cryptographic keys required by Vorpal
- Start Services: Launches the specified Vorpal services in the background
- Cleanup: Automatically stops services when the workflow completes
- Node.js 20+
- npm
npm install
npm run build
npm test
npm run lint
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature
) - Commit your changes (
git commit -m 'Add some amazing feature'
) - Push to the branch (
git push origin feature/amazing-feature
) - Open a Pull Request
This project is licensed under the Apache 2.0 License - see the LICENSE file for details.
If you encounter any issues or have questions, please open an issue on GitHub.