aisquare-studio/AISquare Studio AutoQA

AI-powered test generation with metadata-driven organization (flow_name, tier, area) using CrewAI + Playwright

View on GitHub

Trust Signals

Scorecard Score
not yet scored
Maintenance Recency
Activelast commit Apr 14, 2026
License
Apache 2.0

Pinned Snippet

workflow.ymlSHA-pinned
uses: aisquare-studio/aisquare-studio-qa@895bd90f21c38c7553d34d1b77724d33690e81ad # v0.2.0

tags can be moved; commit SHAs can't. why a SHA?

namedescriptionrequireddefault
openai-api-keyOpenAI API key for test generationyes
openai-modelOpenAI model to use for test generation (e.g., openai/gpt-4.1, openai/gpt-4o, openai/gpt-3.5-turbo)noopenai/gpt-4.1
qa-github-tokenGitHub token with access to AutoQA repository (required for private repos)no${{ github.token }}
staging-urlStaging environment URL for testingyes
staging-emailTest email for staging environment loginnotest@example.com
staging-passwordTest password for staging environment loginnopassword123
target-repo-pathPath to the target repository (usually ".")no.
git-user-nameGit user name for commitsnoAutoQA Bot
git-user-emailGit user email for commitsnorabia.tahirr@opengrowth.com
pr-bodyPull request description to parse for AutoQA metadata block (```autoqa\nflow_name: ...\ntier: ...\n```)no${{ github.event.pull_request.body }}
test-directoryBase directory for generated tests (will create tests/autoqa/{tier}/{area}/test_{flow_name}.py structure)notests/autoqa
create-prCreate a pull request instead of pushing directly to main branchnofalse
execution-modeMode of operation: "generate" (new test only), "suite" (run all tests), "all" (generate + run all), "auto-criteria" (AI generates test criteria from PR diff for developer review), "gap-driven" (uses memory coverage gaps to generate test criteria for uncovered modules), or "gap-analysis" (scans for present/missing test workflows and persists results to a SQLite database)nogenerate
action-refGit ref (branch, tag, or SHA) to checkout for the AutoQA action repository. Defaults to main when not provided.nomain
auto-criteria-fallbackWhen true, if no autoqa block is found in the PR description, automatically generate test criteria from the PR diff (Proposal 16)nofalse
auto-criteria-modeAuto-criteria mode: "suggest" (post for review) or "auto" (proceed if high confidence)nosuggest
auto-criteria-thresholdConfidence score threshold (0-100) for auto-proceed modeno85
auto-criteria-approvalApproval mechanism: "reaction" (👍), "comment" (/autoqa approve), or "label" (autoqa:approved)noreaction
gap-analysis-scopeScope for gap-analysis mode: "auto" (detect from event), "pr" (PR changed files only), or "full" (entire repo)noauto
namedescription
test_generatedWhether a test was successfully generated
test_file_pathPath to the generated test file (e.g., tests/autoqa/A/auth/test_user_login.py)
test_resultsJSON string of test execution results
generation_metadataJSON string of test generation metadata (includes flow_name, tier, area, etag, steps)
screenshot_pathPath to the generated screenshot
etagETag hash for idempotency (SHA256 of metadata + steps)
flow_nameFlow name from AutoQA metadata
tierTest tier from AutoQA metadata (A, B, or C)
areaTest area from AutoQA metadata (optional)
errorError message if test generation or validation failed
auto_criteria_resultsJSON string of auto-criteria generation results (when using auto-criteria mode)
criteriaJSON string of generated test criteria (when using auto-criteria mode, before approval)
gap_analysis_resultsJSON string of gap analysis results including present and missing workflows (when using gap-analysis mode)
dashboard_resultsJSON string conforming to the AutoQA Dashboard schema (gap_analysis, summary, test_cases) for populating the dashboard UI
tests_failedWhether tests failed during execution (true/false). When true, the action defers failure to the final step so that artifacts are still uploaded.