To run Argos visual tests in GitLab CI, install the Argos integration used by your screenshot workflow, store the Argos token as a protected CI variable, and add a job to .gitlab-ci.yml that captures or uploads screenshots after the app is ready. GitLab must have an active runner to execute the job. Argos supports GitLab and describes the general CI setup as an SDK plus a token; the exact job command depends on your test framework and repository.
Choose how your project captures screenshots
Argos compares uploaded screenshots with a baseline so visual changes can be reviewed. Pick the upload route that matches how your project already creates screenshots:
As an Amazon Associate I earn from qualifying purchases.
- Playwright integration: use the Argos Playwright package when Playwright runs the browser tests and captures the pages. Follow the package’s current setup instructions for the version and configuration used by your project: Argos Playwright documentation.
- Directory upload: if your tests already save PNG screenshots, the Argos Node.js SDK can upload image files from a directory. See the Argos SDK documentation for its current installation and upload interface.
Do not add a second browser-capture workflow if an existing test job already produces the screenshots Argos needs. A dedicated visual job is useful when it has distinct prerequisites or should run under different rules; otherwise, integrating upload into an existing test job can be simpler.
What’s actually slowing this PC down?
Pick the symptom - the matching free tool is one click away.
Prepare the Argos token securely
- Create or select the Argos project and obtain its token using Argos’s current account and project documentation. The SDK uses the environment variable
ARGOS_TOKENby default; check the current SDK guide for any configuration changes. - In GitLab, add the token as a CI/CD variable using your project’s secret-variable practices. Avoid committing the token in
.gitlab-ci.ymlor application files. - Expose the variable only to jobs that need to upload screenshots. If the pipeline uses protected variables or branch and merge-request rules, verify that the intended pipeline context can access the token without making it available to unrelated jobs.
Limiting token exposure is general secret-handling guidance, not a special Argos GitLab feature.
#1 Best Overall
Add an Argos job to .gitlab-ci.yml
GitLab defines pipelines in .gitlab-ci.yml; as GitLab’s CI/CD documentation puts it, “Pipelines are configured in a .gitlab-ci.yml file by using YAML keywords.” The fragment below shows where a visual job can fit. It is a repository-specific pattern, not a vendor-provided Argos YAML recipe: replace the image, command, stage, and dependencies with the ones your project requires.
stages:
- test
- visual
visual_regression:
stage: visual
image: node:22
script:
- npm ci
- npm run build
- npm run test:e2e
# Replace this with the Argos integration or upload command
# documented for your installed package and screenshot workflow.
variables:
ARGOS_TOKEN: "$ARGOS_TOKEN"
The example deliberately does not invent a current Argos command. Use the exact Playwright integration or SDK upload command documented for the package version you install, and make sure the job produces screenshots before upload. Depending on your pipeline, building the app may belong in an earlier job, with the visual job consuming its artifacts or otherwise accessing the running app.
Rank #2
Order jobs around prerequisites
GitLab stages run in order; jobs in a stage may run in parallel when runners are available. Put the visual job after the build or test work it depends on, or use the appropriate job dependencies and artifacts for your pipeline design. A job cannot capture an application that has not been built or made accessible in its environment.
Choose when the job runs
Use GitLab’s job-level controls such as rules to decide which branches, merge requests, or other pipeline contexts should run visual testing. The right conditions depend on your workflow and token availability. Consult the GitLab CI/CD YAML reference for current syntax rather than copying rules from an unrelated repository.
Rank #3
Check runner and environment requirements
An active GitLab runner must be available for the job. Confirm that the chosen runner can use the configured image, install dependencies, execute the browser or test framework if required, and reach the application under test. Runner and browser setup depend on your project and are not established by Argos’s general GitLab support statement.
Validate and run the pipeline
- Review the complete pipeline configuration, not just the added job. Check stage names, YAML indentation, rules, dependencies, artifacts, image, and the actual test or upload command.
- Validate the configuration with GitLab CI Lint, linked from the GitLab YAML reference.
- Run a pipeline in a context where an eligible runner is available and the token is exposed to the visual job.
- Inspect the job log for successful screenshot creation and upload. Then review the resulting visual differences in Argos. The vendor guide describes baseline comparison and review, but exact merge-request status behavior and permission details may vary; consult the current Argos GitLab guide.
Troubleshoot common setup failures
- The job stays pending: check that the project has an active runner eligible for the job’s tags and configuration.
- The upload reports a missing token or authentication failure: verify that the GitLab variable is named
ARGOS_TOKEN, is available in the pipeline context, and is exposed to the uploading job. Confirm that the value belongs to the intended Argos project. - The job passes but Argos receives no screenshots: confirm that the capture step ran, that the output directory contains the expected PNG files, and that the upload command points to that directory. For Playwright, verify that the integration is configured in the tests that actually run in CI.
- The application cannot be captured: make sure the app is started or deployed and reachable from the runner environment before browser tests run. A locally reachable URL may not be reachable from a separate CI job.
- GitLab rejects the pipeline configuration: check YAML indentation and references to declared stages, then validate the full configuration with CI Lint.
- The visual job is skipped: inspect its
rules, branch conditions, and any upstream job dependencies to determine why GitLab did not schedule it.
Performance, reliability, and cost considerations
Pipeline time depends on your browser tests, application startup, runner capacity, and upload work; the available documentation does not establish a general runtime figure. Avoid running the same capture twice if an existing job can provide the screenshots, and order jobs so that expensive setup is not repeated unnecessarily. Reliability depends on having an eligible runner, a reachable test application, the right package setup, and token access in the pipeline context.
Rank #4
No Argos pricing figures are established here. Check Argos’s current product information for plan limits or costs before adopting it at scale.
Quick wins for a faster PC:
Scan for outdated or missing drivers - takes under a minuteDriver Scan →Clear out junk files and repair common Windows errorsFree Scan →Or skip the browser setup
Argos is for visual comparison inside a CI workflow. If your immediate need is to capture a website as an image or PDF without setting up browser automation, ScreenshotNeo is a separate screenshot API and MCP server. It is not an Argos integration and does not replace Argos baseline review. One GET request can return a screenshot or PDF; see the ScreenshotNeo API documentation.
Best Value
curl -G "https://api.screenshotneo.com/v1/shot" -d access_key=YOUR_API_KEY --data-urlencode url=https://stripe.com -o shot.webp
ScreenshotNeo removes cookie banners, newsletter popups, and chat widgets before capture; bot checks, blank pages, failed loads, and cache hits are not billed. Its MCP server lets AI agents take screenshots, and the Free plan includes 1,000 screenshots a month with no card; paid plans start at $5 for 3,000. Sign up for 1,000 free screenshots a month, with no card.
Frequently Asked Questions
Does Argos support GitLab CI?
Yes. Argos’s GitLab guide describes using an SDK and token in a GitLab pipeline.
Can I use Argos with screenshots I already generate?
Yes. The Node.js SDK supports uploading PNG files from a directory; use its current documentation for the install and upload details.
Free tools Windows power users keep installed
One-click scans. No signup required.
Quick Recap
Product prices and availability are accurate as of the date/time indicated and are subject to change. Any price and availability information displayed on Amazon at the time of purchase will apply.




