Skip to content

Commit

Permalink
Merge branch 'master' into PLAT-330_Azure_docs
Browse files Browse the repository at this point in the history
  • Loading branch information
adamrtalbot committed Aug 15, 2024
2 parents 74eeaae + 1263e9b commit 2fcda24
Show file tree
Hide file tree
Showing 1,657 changed files with 3,942 additions and 1,503 deletions.
29 changes: 29 additions & 0 deletions .github/workflows/check-internal-links.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
name: "Internal link checking"

on: [pull_request]

# A workflow run is made up of one or more jobs that can run sequentially or in parallel
jobs:
check-internal-links:
runs-on: ubuntu-latest
steps:
# Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it
- name: Check out repo
uses: actions/checkout@v2
# Node is required for npm
- name: Set up Node
uses: actions/setup-node@v2
with:
node-version: "18"
- name: Pull & update submodules recursively
run: |
git submodule update --init --recursive
# Fail the build in PRs, but not for Netlify previews or production builds
- name: Replace credentials
run: |
sed -Ei 's/onBroken([A-Za-z]+): "warn"/onBroken\1: "throw"/g' docusaurus.config.js
# Install and build Docusaurus website
- name: Build Docusaurus website
run: |
npm install
npm run build
31 changes: 31 additions & 0 deletions .github/workflows/links.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
name: Links

# https://github.com/lycheeverse/lychee-action

on:
repository_dispatch:
workflow_dispatch:
# Run on Sunday only
schedule:
- cron: "00 18 * * 6"

jobs:
linkChecker:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4

- name: Link Checker
id: lychee
uses: lycheeverse/lychee-action@v1
# --verbose --no-progress
with:
args: --base . -v -n -s https -s http './**/*.mdx'

- name: Create Issue From File
if: env.lychee_exit_code != 0
uses: peter-evans/create-issue-from-file@v4
with:
title: Link Checker Report
content-filepath: ./lychee/out.md
labels: report, automated issue
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@
# Generated files
.docusaurus
.cache-loader
.cache

# Misc
.env
Expand Down
3 changes: 3 additions & 0 deletions .gitmodules
Original file line number Diff line number Diff line change
@@ -1,3 +1,6 @@
[submodule "wave_docs/wave_repo"]
path = wave_docs/wave_repo
url = https://github.com/seqeralabs/wave
[submodule "multiqc_docs/multiqc_repo"]
path = multiqc_docs/multiqc_repo
url = https://github.com/MultiQC/MultiQC
40 changes: 16 additions & 24 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,9 +4,7 @@ This repository contains the documentation published to [docs.seqera.io](https:/

Changes merged to [master](https://github.com/seqeralabs/docs) are deployed to production automatically via Netlify. Pull requests have their own deployment preview.

The source of truth for all products' documentation lives in their respective product repositories, such as [nf-tower-cloud](https://github.com/seqeralabs/nf-tower-cloud). These repositories contain a `docs` folder which house the _latest_ version of that product's documentation.

Generally speaking, changes to the docs should first be made in the product repository, and then imported into this one. Exceptions may include manual fixes to earlier versions of documentation, or when updates are made to Docusaurus itself.
The source of truth for all products' documentation lives in their respective product repositories, such as [wave](https://github.com/seqeralabs/wave). These repositories contain a `docs` folder which house the _latest_ version of that product's documentation.

For more information, see:

Expand Down Expand Up @@ -42,47 +40,41 @@ Contentful/relevant files include:

### Seqera Platform

- Content is copied to this repo from [nf-tower-cloud](https://github.com/seqeralabs/nf-tower-cloud/tree/master/docs). New contributions to Platform documentation must be made there first.

- The Platform documentation is versioned and lives in the `platform_versioned_docs` directory. Each version in this directory also requires a sidebar config, which lives in the `platform_versioned_sidebars` directory. Versions also need to be specified in `platform_versions.json`. When adding a new latest version, the `docusaurus.config.js` needs to be updated as well.
The Platform documentation is versioned and lives in the `platform_versioned_docs` directory. Each version in this directory also requires a sidebar config, which lives in the `platform_versioned_sidebars` directory. Versions also need to be specified in `platform_versions.json`. When adding a new latest version, the `docusaurus.config.js` needs to be updated as well.

- We have a script which can select a commit (or ideally release tag) to be used for publishing a new version on the docs website.
We have a script which can select a commit (or ideally release tag) to be used for publishing a new version on the docs website.

### Wave

Wave documentation is available as a Git submodule. Changes to the Wave documentation must be made in the [Wave repo](https://github.com/seqeralabs/wave/tree/master/docs).

To enable access to the Wave docs in the submodule, after cloning this repository you must run `git submodule update --init --recursive`.

To incorporate documentation changes from the Wave repository, run the following command: `git submodule update --recursive --remote`. This is mandatory, or published documentation cannot reflect any changes made to the Wave documentation since this command was last run.

If you accidentally run the aforementioned command and want to revert, run the following command to revert to the previous commit ID for the Wave repository: `git submodule update --init`.
Wave documentation is available as a Git submodule. Wave documentation is not versioned, and lives in the `wave_docs` directory. Changes to the Wave documentation must be made in the [Wave repo](https://github.com/seqeralabs/wave/tree/master/docs). To enable access to the Wave docs in the submodule, after cloning this repository you must run `git submodule update --init --recursive`.

Wave documentation is not versioned, and lives in the `wave_docs` directory.
To incorporate documentation changes from the Wave repository, run the following command: `git submodule update --recursive --remote`. This is mandatory, or published documentation cannot reflect any changes made to the Wave documentation since this command was last run. If you accidentally run the aforementioned command and want to revert, run the following command to revert to the previous commit ID for the Wave repository: `git submodule update --init`.

## Writing new content

All new content originates in the related development repository. This is the source of truth. For example, Seqera Platform documentation for new features are created in the `nf-tower-cloud` repository in the `docs` directory. A `sidebar.json` is also expected.
All new content originates in the docs repo. This is the source of truth.

To publish new content:

1. Create a new branch in the product repo, such as `gh-issue-number`, or use an existing developer-provided work branch that includes documentation updates.
1. Create a new branch in the docs repo, such as `gh-issue-number`.
2. Complete the necessary work.
3. Raise a PR to merge your updates to master, requesting 2 reviews:
4. Raise a PR to merge your updates to master
5. Add relevant labels to your PR and request reviews from:
- Language review from a docs-codeowners member
- Technical review from the backend engineer or other SME closest to the feature
4. Merge the PR once approved, if you created a new branch in the first step.
6. Check and review the changes using the Netlify preview.
7. Merge the PR once approved, if you created a new branch in the first step.

Once merged to the master branch of the product repo, the docs content can then be copied to this repository. This can be done using the [fetch script](https://github.com/seqeralabs/docs/blob/master/internal/fetch-docs.mjs), which allows you to selected commit ID or release tag, which will be used to create a new version number on the website.
Once merged to the master branch, the changes will be live immediately.

## Fixing legacy content

Version-specific changes to legacy documentation sets currently occur directly in this repository. Each product has a `product_versioned_docs` folder in this repository. That folder contains a subfolder for each version — edit the files in these versioned folders directly to update versioned content on docs.seqera.io:

1. Create a new branch in this repository, such as `product-gh-issue-number`
2. Create the change in the related files in the correct version (e.g., `23.1.0`) directory, and any other versions affected
3. Raise a PR based for review, requesting the same 2 reviews as for new content
4. After approval, merge the PR to the master branch
1. Create a new branch in this repository, such as `product-gh-issue-number`.
2. Create the change in the related files in the correct version (e.g., `23.1.0`) directory, and any other versions affected.
3. Raise a PR based for review, requesting the same 2 reviews as for new content.
4. After approval, merge the PR to the master branch.

## Check with Vale style guide

Expand Down
28 changes: 24 additions & 4 deletions docusaurus.config.js
Original file line number Diff line number Diff line change
Expand Up @@ -52,6 +52,9 @@ export default async function createConfigAsync() {
trackingID: "G-NR1CNM213G",
anonymizeIP: true,
},
googleTagManager: {
containerId: "GTM-MBCJKK4",
},
},
],
],
Expand All @@ -72,7 +75,7 @@ export default async function createConfigAsync() {
editUrl: "https://github.com/seqeralabs/docs/tree/master/",
sidebarPath: false,
versions: {
// Force path to be /platform/23.3.0 instead of /platform
// Force path to be /platform/24.1 instead of /platform
// (Applies to latest version only)
[platform_latest_version]: {
label: platform_latest_version,
Expand All @@ -82,6 +85,24 @@ export default async function createConfigAsync() {
},
],
[
"@docusaurus/plugin-content-docs",
{
id: "multiqc",
routeBasePath: "/multiqc",
path: "multiqc_docs/multiqc_repo/docs/markdown",
remarkPlugins: [
(await import("remark-code-import")).default,
(await require("remark-math")).default,
(await import("docusaurus-remark-plugin-tab-blocks")).default,
(await require("remark-yaml-to-table")).default,
],
rehypePlugins: [(await require("rehype-katex")).default],
editUrl: ({ docPath }) => {
return `https://github.com/MultiQC/MultiQC/blob/main/docs${docPath.replace('multiqc_docs/multiqc_repo/docs', '')}`
},
sidebarPath: "./multiqc_docs/sidebar.js",
},
], [
"@docusaurus/plugin-content-docs",
{
id: "fusion",
Expand Down Expand Up @@ -166,10 +187,9 @@ export default async function createConfigAsync() {
target: "_blank",
},
{
to: "https://multiqc.info/docs/",
html: 'MultiQC <svg width="12" height="12" aria-hidden="true" viewBox="0 0 24 24" class="iconExternalLink_nPIU" style="margin-left:4px;opacity:0.6;"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"></path></svg>',
to: "/multiqc/",
label: "MultiQC",
position: "left",
target: "_blank",
},
{
to: "/wave/",
Expand Down
11 changes: 6 additions & 5 deletions fusion_docs/guide.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -6,14 +6,15 @@ title: User guide

Fusion is a virtual, lightweight, distributed file system designed to optimise the data access of Nextflow data pipelines.

Fusion enables seamless filesystem I/O to cloud object stores via a standard POSIX interface resulting in simpler
pipeline logic and faster, more efficient pipeline execution.
Fusion enables seamless filesystem I/O to cloud object stores via a standard POSIX interface resulting in simpler pipeline logic and faster, more efficient pipeline execution.

:::note
Fusion requires a license for use beyond limited testing and validation within Seqera Platform or directly within Nextflow. [Contact Seqera](https://seqera.io/contact-us/) for more details.
:::

## Getting started

Fusion smoothly integrates with Nextflow and does not require any installation or change in pipeline code.
It only requires to use of container runtime or a container computing service such as Kubernetes, AWS Batch and
Google Cloud Batch.
Fusion smoothly integrates with Nextflow and does not require any installation or change in pipeline code. It only requires to use of container runtime or a container computing service such as Kubernetes, AWS Batch, or Google Cloud Batch.

:::note

Expand Down
4 changes: 4 additions & 0 deletions fusion_docs/index.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,10 @@ Fusion is a virtual, lightweight, distributed file system that bridges the gap b
storage. Fusion enables seamless filesystem I/O to cloud object stores via a standard POSIX interface resulting in
simpler pipeline logic and faster, more efficient pipeline execution.

:::note
Fusion requires a license for use beyond limited testing and validation within Seqera Platform or directly within Nextflow. [Contact Seqera](https://seqera.io/contact-us/) for more details.
:::

## Features

### Transparent, automated installation
Expand Down
10 changes: 10 additions & 0 deletions lychee.toml
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
# https://lychee.cli.rs/usage/config/
scheme = ["https", "http"]
exclude = [
'^https://portal.azure.com/',
'^https://gitlab.com/profile/personal_access_tokens'
]
exclude_path = [
"^.+/README.mdx",
"^.+/_todo.mdx"
]
1 change: 1 addition & 0 deletions multiqc_docs/multiqc_repo
Submodule multiqc_repo added at db2d35
64 changes: 64 additions & 0 deletions multiqc_docs/sidebar.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,64 @@
export default {
multiqcSidebar: [
[
"index",
{
"type": "category",
"label": "Getting started",
"collapsed": true,
"items": [
"getting_started/quick_start",
"getting_started/installation",
"getting_started/running_multiqc",
"getting_started/config"
]
},
{
"type": "category",
"label": "Reports",
"collapsed": true,
"items": [
"reports/reports",
"reports/customisation"
]
},
"custom_content/index",
{
"type": "category",
"label": "Usage",
"collapsed": true,
"items": [
"usage/downstream",
"usage/pipelines",
"usage/scripts",
"usage/troubleshooting"
]
},
{
"type": "category",
"label": "Development",
"collapsed": true,
"items": [
"development/index",
"development/modules",
"development/plots",
"development/plugins",
"development/templates",
"development/compatibility",
"development/contributing"
]
},
{
"type": "category",
"label": "Supported tools",
"collapsed": true,
"items": [
{
type: 'autogenerated',
dirName: 'modules'
}
]
}
]
]
};
1 change: 1 addition & 0 deletions package-lock.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

1 change: 1 addition & 0 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,7 @@
"@docusaurus/plugin-google-gtag": "3.0.0",
"@docusaurus/preset-classic": "3.0.0",
"@mdx-js/react": "^3.0.0",
"@docusaurus/plugin-google-tag-manager": "3.0.0",
"clsx": "^1.2.1",
"docusaurus-remark-plugin-tab-blocks": "^3.0.0",
"framer-motion": "^11.0.0",
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -126,7 +126,7 @@ Once the AWS resources are set up, we can add a new **AWS Batch** environment in
:::

:::note
From version 22.3, Tower supports the use of credentials for container registry services. These credentials can be created from the [Credentials](../credentials/overview.mdx/#container-registry-credentials) tab.
From version 22.3, Tower supports the use of credentials for container registry services. These credentials can be created from the [Credentials](../credentials/overview.mdx) tab.
:::

7. Select a **Region**, for example "eu-west-1 - Europe (Ireland)".
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -117,7 +117,7 @@ Once the Azure resources are set up, we can add a new **Azure Batch** environmen
:::

:::note
From version 22.3, Tower supports the use of credentials for container registry services. These credentials can be created from the [Credentials](../credentials/overview.mdx/#container-registry-credentials) tab.
From version 22.3, Tower supports the use of credentials for container registry services. These credentials can be created from the [Credentials](../credentials/overview.mdx) tab.
:::

7. Select a **Region**, for example "eastus (East US)".
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ Tower offers native support for AWS EKS clusters and streamlines the deployment

## Requirements

You need to have an EKS cluster up and running. Make sure you have followed the [cluster preparation](../k8s/#cluster-preparation) instructions to create the cluster resources required by Tower. In addition to the generic Kubernetes instructions, you will need to make a few modifications specific to EKS.
You need to have an EKS cluster up and running. Make sure you have followed the [cluster preparation](../compute-envs/k8s.mdx#cluster-preparation) instructions to create the cluster resources required by Tower. In addition to the generic Kubernetes instructions, you will need to make a few modifications specific to EKS.

**Assign service account role to IAM user.** You will need to assign the service role with an AWS user that will be used by Tower to access the EKS cluster.

Expand Down Expand Up @@ -67,7 +67,7 @@ For more details, refer to the [AWS documentation](https://docs.aws.amazon.com/e
:::

:::note
From version 22.3, Tower supports the use of credentials for container registry services. These credentials can be created from the [Credentials](../credentials/overview.mdx/#container-registry-credentials) tab.
From version 22.3, Tower supports the use of credentials for container registry services. These credentials can be created from the [Credentials](../credentials/overview.mdx) tab.
:::

5. Select a **Region**, for example "eu-west-1 - Europe (Ireland)".
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -11,9 +11,9 @@ Tower offers native support for Google GKE clusters and streamlines the deployme

### Requirements

Refer to the [Google Cloud](../google-cloud/#configure-google-cloud) section for instructions on how to set up your Google Cloud account and any other services (e.g. Cloud Storage) that you intend to use.
Refer to the [Google Cloud](./google-cloud-batch.mdx#configure-google-cloud) section for instructions on how to set up your Google Cloud account and any other services (e.g. Cloud Storage) that you intend to use.

You need to have a GKE cluster up and running. Make sure you have followed the [cluster preparation](../k8s/#cluster-preparation) instructions to create the cluster resources required by Tower. In addition to the generic Kubernetes instructions, you will need to make a few modifications specific to GKE.
You need to have a GKE cluster up and running. Make sure you have followed the [cluster preparation](../compute-envs/k8s.mdx#cluster-preparation) instructions to create the cluster resources required by Tower. In addition to the generic Kubernetes instructions, you will need to make a few modifications specific to GKE.

**Assign service account role to IAM user.** You will need to grant the cluster access to the service account used to authenticate the Tower compute environment. This can be done by updating the _role binding_ as shown below:

Expand Down Expand Up @@ -59,7 +59,7 @@ For more details, refer to the [Google documentation](https://cloud.google.com/k
:::

:::note
From version 22.3, Tower supports the use of credentials for container registry services. These credentials can be created from the [Credentials](../credentials/overview.mdx/#container-registry-credentials.mdx) tab.
From version 22.3, Tower supports the use of credentials for container registry services. These credentials can be created from the [Credentials](../credentials/overview.mdx) tab.
:::

7. Select the **Location** of your GKE cluster.
Expand Down
Loading

0 comments on commit 2fcda24

Please sign in to comment.