Skip to content

Commit 49314ff

Browse files
authored
docs: retroactively add v1.1 pages (#327)
## 📝 Description Add pages for the older CE v1.1 version. We'll keep 3 versions per edition in the docs. See #326 and #324 ## ✅ Checklist - [X] I have tested this change - [ ] This change requires documentation update
1 parent 131f1a2 commit 49314ff

File tree

466 files changed

+20757
-4
lines changed

Some content is hidden

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

466 files changed

+20757
-4
lines changed

docs/docs/getting-started/features.md

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,8 @@ This page compares the features available across all [Semaphore editions](./abou
2626
| Initialization jobs | Yes | Yes |
2727
| Self-hosted agents | Yes | Yes |
2828
| GitHub support | Yes | Yes |
29+
| GitLab support | Yes | Yes |
30+
| Any Git Server support | Yes | Yes |
2931
| BitBucket support | Yes | Yes |
3032
| Promotions | Yes | No |
3133
| Parameterized promotions | Yes | No |
@@ -39,6 +41,7 @@ This page compares the features available across all [Semaphore editions](./abou
3941
| Feature | Semaphore Cloud | Semaphore CE |
4042
|--|--|--|
4143
| Test reports | Yes | Yes |
44+
| Markdown reports | Yes | Yes |
4245
| Activity monitor | Yes | Yes |
4346
| Custom Dashboards | Yes | No |
4447
| Flaky tests | Yes | No |

docs/docusaurus.config.js

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -65,9 +65,13 @@ const config = {
6565
banner: "none",
6666
},
6767
"CE": {
68-
label: 'Community Edition (1.2)',
68+
label: 'Community Edition v1.2',
6969
path: 'CE',
7070
banner: "none"
71+
},
72+
"CE-1.1": {
73+
label: 'Community Edition v1.1',
74+
path: 'CE-1.1',
7175
}
7276
},
7377

Lines changed: 125 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,125 @@
1+
import React from 'react';
2+
import clsx from 'clsx';
3+
import useDocusaurusContext from '@docusaurus/useDocusaurusContext';
4+
import Link from '@docusaurus/Link';
5+
import Translate from '@docusaurus/Translate';
6+
import {
7+
useActivePlugin,
8+
useDocVersionSuggestions,
9+
} from '@docusaurus/plugin-content-docs/client';
10+
import {ThemeClassNames} from '@docusaurus/theme-common';
11+
import {
12+
useDocsPreferredVersion,
13+
useDocsVersion,
14+
} from '@docusaurus/plugin-content-docs/client';
15+
function UnreleasedVersionLabel({siteTitle, versionMetadata}) {
16+
return (
17+
<Translate
18+
id="theme.docs.versions.unreleasedVersionLabel"
19+
description="The label used to tell the user that he's browsing an unreleased doc version"
20+
values={{
21+
siteTitle,
22+
versionLabel: <b>{versionMetadata.label}</b>,
23+
}}>
24+
{
25+
'This is unreleased documentation for {siteTitle} {versionLabel} version.'
26+
}
27+
</Translate>
28+
);
29+
}
30+
function UnmaintainedVersionLabel({siteTitle, versionMetadata}) {
31+
return (
32+
<Translate
33+
id="theme.docs.versions.unmaintainedVersionLabel"
34+
description="The label used to tell the user that he's browsing an unmaintained doc version"
35+
values={{
36+
siteTitle,
37+
versionLabel: <b>{versionMetadata.label}</b>,
38+
}}>
39+
{
40+
'This is documentation for {siteTitle} {versionLabel}, which is no longer actively maintained.'
41+
}
42+
</Translate>
43+
);
44+
}
45+
const BannerLabelComponents = {
46+
unreleased: UnreleasedVersionLabel,
47+
unmaintained: UnmaintainedVersionLabel,
48+
};
49+
function BannerLabel(props) {
50+
const BannerLabelComponent =
51+
BannerLabelComponents[props.versionMetadata.banner];
52+
return <BannerLabelComponent {...props} />;
53+
}
54+
function LatestVersionSuggestionLabel({versionLabel, to, onClick}) {
55+
return (
56+
<Translate
57+
id="theme.docs.versions.latestVersionSuggestionLabel"
58+
description="The label used to tell the user to check the latest version"
59+
values={{
60+
versionLabel,
61+
latestVersionLink: (
62+
<b>
63+
<Link to={to} onClick={onClick}>
64+
<Translate
65+
id="theme.docs.versions.latestVersionLinkLabel"
66+
description="The label used for the latest version suggestion link label">
67+
latest version
68+
</Translate>
69+
</Link>
70+
</b>
71+
),
72+
}}>
73+
{
74+
''
75+
}
76+
</Translate>
77+
);
78+
}
79+
function DocVersionBannerEnabled({className, versionMetadata}) {
80+
const {
81+
siteConfig: {title: siteTitle},
82+
} = useDocusaurusContext();
83+
const {pluginId} = useActivePlugin({failfast: true});
84+
const getVersionMainDoc = (version) =>
85+
version.docs.find((doc) => doc.id === version.mainDocId);
86+
const {savePreferredVersionName} = useDocsPreferredVersion(pluginId);
87+
const {latestDocSuggestion, latestVersionSuggestion} =
88+
useDocVersionSuggestions(pluginId);
89+
// Try to link to same doc in latest version (not always possible), falling
90+
// back to main doc of latest version
91+
const latestVersionSuggestedDoc =
92+
latestDocSuggestion ?? getVersionMainDoc(latestVersionSuggestion);
93+
return (
94+
<div
95+
className={clsx(
96+
className,
97+
ThemeClassNames.docs.docVersionBanner,
98+
'alert alert--warning margin-bottom--md',
99+
)}
100+
role="alert">
101+
<div>
102+
<BannerLabel siteTitle={siteTitle} versionMetadata={versionMetadata} />
103+
</div>
104+
<div className="margin-top--md">
105+
<LatestVersionSuggestionLabel
106+
versionLabel={latestVersionSuggestion.label}
107+
to={latestVersionSuggestedDoc.path}
108+
onClick={() => savePreferredVersionName(latestVersionSuggestion.name)}
109+
/>
110+
</div>
111+
</div>
112+
);
113+
}
114+
export default function DocVersionBanner({className}) {
115+
const versionMetadata = useDocsVersion();
116+
if (versionMetadata.banner) {
117+
return (
118+
<DocVersionBannerEnabled
119+
className={className}
120+
versionMetadata={versionMetadata}
121+
/>
122+
);
123+
}
124+
return null;
125+
}
Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
{
2+
"label": "Get Started",
3+
"position": 1,
4+
"link": {
5+
"type": "generated-index",
6+
"description": "Guided tour and the basics of Continuous Integration and Delivery (CI/CD)"
7+
}
8+
}
Lines changed: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,40 @@
1+
---
2+
description: About Semaphore
3+
---
4+
5+
# About Semaphore
6+
7+
Semaphore is [Continuous Integration and Delivery](https://semaphore.io/continuous-integration) (CI) platform that's fast, easy to use, and incredibly scalable.
8+
9+
## Semaphore editions {#editions}
10+
11+
Semaphore comes in two editions:
12+
13+
- **[Semaphore Cloud](/getting-started/about-semaphore)**: is a cloud-based, fully-managed CI-as-a-Service platform. Meant for individuals and companies that don't wish to maintain a CI/CD system. Head to [semaphoreci.com](https://semaphore.io) to access Semaphore Cloud
14+
- **[Semaphore CE](/CE/getting-started/install)**: is the free and open-source Community Edition of Semaphore. Meant for anyone that wishes to host and manage their own CI/CD architecture.
15+
- **On-premise (Enterprise Edition)**: fully-featured Semaphore that can run behind a firewall using your infrastructure
16+
17+
See the [feature comparison](./features) to decide which edition of Semaphore is best for you.
18+
19+
## What is CI/CD?
20+
21+
Continuous Integration (CI) is an automated process of regularly merging code changes, running tests, and providing rapid feedback to developers.
22+
23+
CI enables developers to frequently merge code changes, automatically test them, and detect integration issues early, leading to faster development cycles and higher-quality software.
24+
25+
![CI Workflow](./tour/img/ci-workflow.jpg)
26+
27+
Continuous Delivery and Continuous Deployment extend this process by providing a package you can release and deploy to the world. The whole thing is automated and can be set up to not need human intervention. No more stressing over deployment or releases!
28+
29+
![CD Workflow](./tour/img/cd-workflow.jpg)
30+
31+
## Where to go next?
32+
33+
If you want to give Semaphore Cloud, head to the [Guided Tour](./guided-tour). If you prefer to self-host, see the [Community Edition installation guide](./install).
34+
35+
You can find the complete Semaphore handbook in the [Using Semaphore](../using-semaphore/jobs) section.
36+
37+
And if you want to dive deep into Semaphore's inner workings check out the [Reference pages](../reference/semaphore-cli) and the [Semaphore API reference](../reference/api).
38+
39+
<!-- new api: [API documentation](../openapi-spec/semaphore-public-api.info.mdx) --->
40+
Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
---
2+
description: Semaphore change log for Semaphore CE.
3+
---
4+
5+
# Change Log
6+
7+
Thank you for using Semaphore!
8+
9+
This page shows changes in all Semaphore CE versions.
Lines changed: 46 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,46 @@
1+
# Experiments Sandbox (dev build)
2+
3+
## Steps
4+
5+
6+
import Steps from '@site/src/components/Steps';
7+
8+
```js
9+
import Steps from '@site/src/components/Steps';
10+
```
11+
12+
<Steps>
13+
14+
15+
1. Import the component into your MDX file:
16+
17+
```js
18+
import Steps from '@site/src/components/Steps';
19+
```
20+
2. Step 2
21+
22+
- subpoint
23+
- subpoint
24+
- subpoint
25+
26+
<details>
27+
<summary>Show me</summary>
28+
<div>
29+
30+
Surprise!
31+
32+
</div>
33+
</details>
34+
35+
3. Another step
36+
37+
```yaml
38+
key: value
39+
```
40+
4. Image
41+
42+
![Test](../using-semaphore/img/account-gh-bb-access.jpg)
43+
44+
5. Finish
45+
46+
</Steps>

0 commit comments

Comments
 (0)