Skip to content

Commit 02a2762

Browse files
authored
Merge branch 'main' into update-demo-build
2 parents ce94fb4 + 9c12f12 commit 02a2762

File tree

87 files changed

+3261
-3032
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

87 files changed

+3261
-3032
lines changed

.github/workflows/main.yml

+2-4
Original file line numberDiff line numberDiff line change
@@ -10,12 +10,10 @@ jobs:
1010
build:
1111
runs-on: ubuntu-latest
1212
steps:
13-
- uses: actions/checkout@v3
13+
- uses: actions/checkout@v4
1414

1515
- name: Install pnpm
16-
uses: pnpm/action-setup@v2
17-
with:
18-
version: 9
16+
uses: pnpm/action-setup@v4
1917

2018
- name: Install dependencies and launch Cypress tests
2119
uses: cypress-io/github-action@v6

README.md

+22-6
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,30 @@
11
<p align="center">
22
<a href="https://argos-ci.com/?utm_source=github&utm_medium=logo" target="_blank">
3-
<img src="https://raw.githubusercontent.com/argos-ci/argos/main/resources/logos/logo-github-readme.png" alt="Argos" width="300" height="61">
3+
<img src="https://raw.githubusercontent.com/argos-ci/argos/main/resources/logos/github-readme-banner.jpg" alt="Argos, the open source visual testing platform">
44
</a>
55
</p>
66

7-
# Argos website
7+
<h3 align="center">Argos</h3>
88

9-
Argos website available on [argos-ci.com](https://argos-ci.com).
9+
<p align="center">
10+
Argos is the open source visual testing platform for modern engineering teams.
11+
<br />
12+
<a href="https://argos-ci.com"><strong>Learn more »</strong></a>
13+
<br />
14+
<br />
15+
<a href="https://argos-ci.com/docs"><strong>Docs</strong></a> ·
16+
<a href="https://github.com/argos-ci/argos-javascript/tree/main/examples"><strong>Examples</strong></a> ·
17+
<a href="https://x.com/argos_ci"><strong>Follow us on X</strong></a> ·
18+
<a href="https://argos-ci.com/discord"><strong>Discord</strong></a>
19+
</p>
20+
21+
<p align="center">
22+
<a href="https://app.argos-ci.com/argos-ci/argos/reference"><img src="https://argos-ci.com/badge.svg" alt="Covered by Argos"></a>
23+
<a href="https://github.com/argos-ci/argos/actions/workflows/ci.yml">
24+
<img src="https://github.com/argos-ci/argos/actions/workflows/ci.yml/badge.svg" alt="CI status" />
25+
</a>
26+
</p>
1027

11-
## Links
28+
## Argos website
1229

13-
- [Documentation](https://argos-ci.com/docs/getting-started)
14-
- [Join us on Discord](https://argos-ci.com/discord)
30+
This repository hosts the Argos website, built using [Next.js](https://nextjs.org/).

app/blog/[...slug]/page.tsx

+5-7
Original file line numberDiff line numberDiff line change
@@ -2,10 +2,12 @@ import { Metadata } from "next";
22
import Link from "next/link";
33
import { notFound } from "next/navigation";
44
import * as React from "react";
5+
import { NewsArticle } from "schema-dts";
56

67
import { ArgosEmblem } from "@/components/ArgosEmblem";
78
import { CallToActionSection } from "@/components/CallToActionSection";
89
import { Container } from "@/components/Container";
10+
import { JsonLd } from "@/components/JsonLd";
911
import {
1012
PostCard,
1113
PostCardAuthor,
@@ -139,8 +141,7 @@ export default async function Page(props: Props) {
139141
notFound();
140142
}
141143
const source = await getArticleMdxSource(article);
142-
const jsonLd = {
143-
"@context": "https://schema.org",
144+
const jsonLd: NewsArticle = {
144145
"@type": "NewsArticle",
145146
headline: article.title,
146147
image: [article.image.src],
@@ -177,17 +178,14 @@ export default async function Page(props: Props) {
177178
</header>
178179
{source}
179180
</Container>
180-
<script
181-
type="application/ld+json"
182-
dangerouslySetInnerHTML={{ __html: JSON.stringify(jsonLd) }}
183-
/>
181+
<JsonLd json={jsonLd} />
184182
</article>
185183
<Container tight>
186184
<Siblings slug={article.slug} />
187185
</Container>
188186
<CallToActionSection
189187
supercharge="your visual testing experience"
190-
description="Discover why Argos is the preferred visual testing tool of developers."
188+
description="Discover why Argos is the preferred visual testing tool of QA & developers."
191189
>
192190
<ArgosEmblem className="mx-auto aspect-square size-24" />
193191
</CallToActionSection>

app/blog/sitemap.ts

+1-5
Original file line numberDiff line numberDiff line change
@@ -4,11 +4,7 @@ import { getArticles } from "@/lib/api/blog";
44

55
const BASE_URL = "https://argos-ci.com";
66

7-
export default async function sitemap({
8-
id,
9-
}: {
10-
id: number;
11-
}): Promise<MetadataRoute.Sitemap> {
7+
export default async function sitemap(): Promise<MetadataRoute.Sitemap> {
128
const articles = await getArticles();
139
return articles.map((article) => ({
1410
url: `${BASE_URL}/blog/${article.slug}`,

app/changelog/page/[page]/page.tsx

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import { Metadata, ResolvingMetadata } from "next";
1+
import { Metadata } from "next";
22
import { notFound, redirect } from "next/navigation";
33

44
import {

app/common/PricingSlider.tsx

-1
Original file line numberDiff line numberDiff line change
@@ -55,7 +55,6 @@ function getPrice(props: {
5555
flatPrice: number;
5656
flatScreenshotCount: number;
5757
}) {
58-
const isMax = props.screenshotCount >= MAX_SCREENSHOTS;
5958
const extraScreenshotsCount = Math.max(
6059
props.screenshotCount - props.flatScreenshotCount,
6160
0,

app/compare/applitools/faq.tsx

+123-126
Original file line numberDiff line numberDiff line change
@@ -1,130 +1,127 @@
1-
import {
2-
AccordionContent,
3-
AccordionItem,
4-
AccordionTrigger,
5-
} from "@/components/Accordion";
1+
import { FAQAccordion, FAQQuestion } from "@/components/FAQAccordion";
62
import { Link } from "@/components/Link";
73

8-
export function FAQ() {
9-
return (
10-
<>
11-
<AccordionItem value="self-onboard">
12-
<AccordionTrigger>
13-
Can I start using Applitools by myself?
14-
</AccordionTrigger>
15-
<AccordionContent>
16-
<p>
17-
You can access a demo project in <strong>Applitools</strong>, but
18-
you need to speak with a salesperson before installing it on your
19-
project and receiving a price estimation.
20-
</p>
21-
<p>
22-
<strong>Argos</strong> is designed for self-onboarding in just a few
23-
minutes. We offer support on the{" "}
24-
<Link href="https://argos-ci.com/discord">
25-
Argos Discord channel
26-
</Link>{" "}
27-
to assist with setup, as well as private calls to answer your
28-
questions.
29-
</p>
30-
</AccordionContent>
31-
</AccordionItem>
32-
33-
<AccordionItem value="flaky-screenshot">
34-
<AccordionTrigger>
35-
How Applitools and Argos deal with flaky tests?
36-
</AccordionTrigger>
37-
<AccordionContent>
38-
<p>
39-
Flaky tests are a significant issue in visual testing, and each
40-
product has its own way of addressing this problem.
41-
</p>
42-
<p>
43-
<strong>Applitools</strong>' AI technology helps minimize false
44-
positives but comes at a high cost and removes variations from each
45-
image of each build.
46-
</p>
47-
<p>
48-
<strong>Argos</strong> uses an algorithm that waits for page
49-
stabilization before taking a screenshot. This algorithm is
50-
open-source and embedded in every Argos integration.
51-
</p>
52-
</AccordionContent>
53-
</AccordionItem>
54-
55-
<AccordionItem value="language-agnostic">
56-
<AccordionTrigger>
57-
Can I use Applitools and Argos with any test framework?
58-
</AccordionTrigger>
59-
<AccordionContent>
60-
<p>
61-
<strong>Applitools</strong> provides SDKs for several test
62-
frameworks to enable its use. Screenshots are captured remotely,
63-
that's why a SDK is needed.
64-
</p>
65-
<p>
66-
<strong>Argos</strong> also provides very advanced integration like
67-
the one for Playwright and Cypress. It also relies on a bash command
68-
to upload screenshots. As long as you can capture screenshots of
69-
your website, you can use Argos.
70-
</p>
71-
</AccordionContent>
72-
</AccordionItem>
73-
74-
<AccordionItem value="ci-compatibility">
75-
<AccordionTrigger>
76-
Are Applitools and Argos compatible with my CI?
77-
</AccordionTrigger>
78-
<AccordionContent>
79-
<p>
80-
Both <strong>Applitools</strong> and <strong>Argos</strong> are
81-
compatible with most CI systems on the market.
82-
</p>
83-
</AccordionContent>
84-
</AccordionItem>
4+
const questions: FAQQuestion[] = [
5+
{
6+
name: "Can I start using Applitools by myself?",
7+
answer: (
8+
<>
9+
<p>
10+
You can access a demo project in <strong>Applitools</strong>, but you
11+
need to speak with a salesperson before installing it on your project
12+
and receiving a price estimation.
13+
</p>
14+
<p>
15+
<strong>Argos</strong> is designed for self-onboarding in just a few
16+
minutes. We offer support on the{" "}
17+
<Link href="https://argos-ci.com/discord">Argos Discord channel</Link>{" "}
18+
to assist with setup, as well as private calls to answer your
19+
questions.
20+
</p>
21+
</>
22+
),
23+
textAnswer:
24+
"You can access a demo project in Applitools, but you need to speak with a salesperson before installing it on your project and receiving a price estimation. Argos is designed for self-onboarding in just a few minutes. We offer support on the Argos Discord channel to assist with setup, as well as private calls to answer your questions.",
25+
},
26+
{
27+
name: "How Applitools and Argos deal with flaky tests?",
28+
answer: (
29+
<>
30+
<p>
31+
Flaky tests are a significant issue in visual testing, and each
32+
product has its own way of addressing this problem.
33+
</p>
34+
<p>
35+
<strong>Applitools</strong>' AI technology helps minimize false
36+
positives but comes at a high cost and removes variations from each
37+
image of each build.
38+
</p>
39+
<p>
40+
<strong>Argos</strong> uses an algorithm that waits for page
41+
stabilization before taking a screenshot. This algorithm is
42+
open-source and embedded in every Argos integration.
43+
</p>
44+
</>
45+
),
46+
textAnswer:
47+
"Flaky tests are a significant issue in visual testing, and each product has its own way of addressing this problem. Applitools' AI technology helps minimize false positives but comes at a high cost and removes variations from each image of each build. Argos uses an algorithm that waits for page stabilization before taking a screenshot. This algorithm is open-source and embedded in every Argos integration.",
48+
},
49+
{
50+
name: "Can I use Applitools and Argos with any test framework?",
51+
answer: (
52+
<>
53+
<p>
54+
<strong>Applitools</strong> provides SDKs for several test frameworks
55+
to enable its use. Screenshots are captured remotely, that's why a SDK
56+
is needed.
57+
</p>
58+
<p>
59+
<strong>Argos</strong> also provides very advanced integration like
60+
the one for Playwright and Cypress. It also relies on a bash command
61+
to upload screenshots. As long as you can capture screenshots of your
62+
website, you can use Argos.
63+
</p>
64+
</>
65+
),
66+
textAnswer:
67+
"Applitools provides SDKs for several test frameworks to enable its use. Screenshots are captured remotely, that's why a SDK is needed. Argos also provides very advanced integration like the one for Playwright and Cypress. It also relies on a bash command to upload screenshots. As long as you can capture screenshots of your website, you can use Argos.",
68+
},
69+
{
70+
name: "Are Applitools and Argos compatible with my CI?",
71+
answer: (
72+
<p>
73+
Both <strong>Applitools</strong> and <strong>Argos</strong> are
74+
compatible with most CI systems on the market.
75+
</p>
76+
),
77+
textAnswer:
78+
"Both Applitools and Argos are compatible with most CI systems on the market.",
79+
},
80+
{
81+
name: "Can I control team members' access?",
82+
answer: (
83+
<p>
84+
Both <strong>Applitools</strong> and <strong>Argos</strong> allow you to
85+
control team members' access and permissions for each project.
86+
</p>
87+
),
88+
textAnswer:
89+
"Both Applitools and Argos allow you to control team members' access and permissions for each project.",
90+
},
91+
{
92+
name: "Why isn't Applitools pricing public?",
93+
answer: (
94+
<>
95+
<p>
96+
<strong>Applitools</strong> doesn't disclose their pricing publicly,
97+
but it's known to be one of the more expensive options on the market.
98+
You will need to speak with a salesperson to get a price offer.
99+
</p>
100+
<p>
101+
<strong>Argos</strong> offers{" "}
102+
<Link href="/pricing">transparent and affordable pricing</Link>.
103+
Custom pricing can be arranged for specific features or dedicated
104+
support requests.
105+
</p>
106+
</>
107+
),
108+
textAnswer:
109+
"Applitools doesn't disclose their pricing publicly, but it's known to be one of the more expensive options on the market. You will need to speak with a salesperson to get a price offer. Argos offers transparent and affordable pricing. Custom pricing can be arranged for specific features or dedicated support requests.",
110+
},
111+
{
112+
name: "What makes Argos community-driven?",
113+
answer: (
114+
<p>
115+
<strong>Argos</strong> was founded by passionate developers. We actively
116+
engage with our users to discuss feature requests and understand their
117+
usage, ensuring our product roadmap aligns with real-world needs.
118+
</p>
119+
),
120+
textAnswer:
121+
"Argos was founded by passionate developers. We actively engage with our users to discuss feature requests and understand their usage, ensuring our product roadmap aligns with real-world needs.",
122+
},
123+
];
85124

86-
<AccordionItem value="fine-grain-access-control">
87-
<AccordionTrigger>Can I control team members' access?</AccordionTrigger>
88-
<AccordionContent>
89-
<p>
90-
Both <strong>Applitools</strong> and <strong>Argos</strong> allow
91-
you to control team members' access and permissions for each
92-
project.
93-
</p>
94-
</AccordionContent>
95-
</AccordionItem>
96-
97-
<AccordionItem value="pricing-transparency">
98-
<AccordionTrigger>
99-
Why isn't Applitools pricing public?
100-
</AccordionTrigger>
101-
<AccordionContent>
102-
<p>
103-
<strong>Applitools</strong> doesn't disclose their pricing publicly,
104-
but it's known to be one of the more expensive options on the
105-
market. You will need to speak with a salesperson to get a price
106-
offer.
107-
</p>
108-
<p>
109-
<strong>Argos</strong> offers{" "}
110-
<Link href="/pricing">transparent and affordable pricing</Link>.
111-
Custom pricing can be arranged for specific features or dedicated
112-
support requests.
113-
</p>
114-
</AccordionContent>
115-
</AccordionItem>
116-
117-
<AccordionItem value="community-driven">
118-
<AccordionTrigger>What makes Argos community-driven?</AccordionTrigger>
119-
<AccordionContent>
120-
<p>
121-
<strong>Argos</strong> was founded by passionate developers. We
122-
actively engage with our users to discuss feature requests and
123-
understand their usage, ensuring our product roadmap aligns with
124-
real-world needs.
125-
</p>
126-
</AccordionContent>
127-
</AccordionItem>
128-
</>
129-
);
125+
export function FAQ() {
126+
return <FAQAccordion questions={questions} />;
130127
}

app/compare/applitools/page.tsx

+4
Original file line numberDiff line numberDiff line change
@@ -69,6 +69,10 @@ const features: Features = {
6969
argos: "✔️",
7070
competitor: "❌",
7171
},
72+
spendManamgement: {
73+
argos: "✔️",
74+
competitor: "❌",
75+
},
7276
};
7377

7478
const emblemProps = {

0 commit comments

Comments
 (0)