The following secrets must be configured in GitHub Settings → Secrets and Variables → Actions:
-
BASE_URL- Description: Base URL of the System Under Test (SUT)
- Example:
http://localhost:8000 - Required for: All test runs
-
DATABASE_URL- Description: Database connection string for test database
- Example:
postgresql://user:pass@localhost:5432/test_db - Required for: CI test runs only
-
PAT_FOR_MAIN_REPO- Description: Personal Access Token for cross-repo commit status reporting
- Minimum Required Scope:
repo:statusondarie/LumaireJrepository only - Token Type: Fine-grained personal access token (recommended) or Classic PAT
- Setup Instructions:
- Go to GitHub Settings → Developer settings → Personal access tokens → Fine-grained tokens
- Create a new token with:
- Repository access: Only select repositories →
darie/LumaireJ - Permissions: Commit statuses → Read and write
- Repository access: Only select repositories →
- Add the token as a repository secret named
PAT_FOR_MAIN_REPO
- Required for: Cross-repo status reporting from
repository_dispatchevents
-
DISPATCH_SECRET(Optional but recommended)- Description: Shared secret for authenticating
repository_dispatchwebhook events - Generate with:
openssl rand -hex 32 - Purpose: Prevents unauthorized actors from triggering test workflows
- Setup Instructions:
- Generate a secure random string:
openssl rand -hex 32 - Add it as a repository secret named
DISPATCH_SECRET - Configure the calling repository (LumaireJ) to include this secret in
client_payload.secret
- Generate a secure random string:
- Required for: Production use (to prevent unauthorized dispatch events)
- Description: Shared secret for authenticating
-
Action Version Pinning: All GitHub Actions are pinned to specific commit SHAs (not mutable tags) to prevent supply-chain attacks. Dependabot can be configured to keep these updated.
-
Input Validation: The
repository_dispatchhandler validates the SHA format before using it in API calls. -
Repository Restriction: The
start-sutcomposite action only allows checking outdarie/LumaireJand rejects any other repository input. -
Least Privilege Permissions: Workflow permissions are scoped to job-level where possible.
-
BASE_URL Validation: The test framework fails fast if
BASE_URLis not set, preventing accidental routing to unintended hosts. -
No Hardcoded Credentials: No credentials, tokens, or sensitive URLs are hardcoded in the codebase.
All dependencies specify minimum version constraints to avoid known vulnerabilities. Run pdm update periodically to keep dependencies current.
If you discover a security vulnerability, please email the maintainer directly at glicerinn@gmail.com instead of creating a public issue.