Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

SEO CI #614

Merged
merged 12 commits into from
Aug 4, 2023
79 changes: 79 additions & 0 deletions .github/workflows/seo.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,79 @@
---
name: SEO CI
on:
push:
branches:
- master
pull_request:
branches:
- master

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

- name: Link Checker
id: lychee
uses: lycheeverse/[email protected]
with:
fail: true
args: --max-redirects 10 -a 403,500,503,504 .
seo_spy_orphan_pages:
runs-on: ubuntu-latest
name: Check orphan pages
steps:
- name: Checkout repo
uses: actions/checkout@v3
- name: Checkout SEO Spy
uses: actions/checkout@v3
with:
repository: 3mdeb/seo-spy
path: seo-spy
- uses: actions/setup-python@v3
with:
python-version: '3.9'
- name: Install Dependencies
run: |
python -m pip install --upgrade pip
pip install -r seo-spy/requirements.txt
pip install -r requirements.txt
- name: Serve site
run: |
mkdocs build
python3 -m http.server --directory site &
sed -i 's/https:\/\/docs.dasharo.com/http:\/\/0.0.0.0:8000/g' site/sitemap.xml
- name: Check orphan pages
uses: 3mdeb/seo-spy-action@main
with:
domain: 'http://0.0.0.0:8000'
seo_spy_canonical_links:
artur-rs marked this conversation as resolved.
Show resolved Hide resolved
runs-on: ubuntu-latest
name: Check canonical links
steps:
- name: Checkout repo
uses: actions/checkout@v3
- name: Checkout SEO Spy
uses: actions/checkout@v3
with:
repository: 3mdeb/seo-spy
path: seo-spy
- uses: actions/setup-python@v3
with:
python-version: '3.9'
- name: Install Dependencies
run: |
python -m pip install --upgrade pip
pip install -r seo-spy/requirements.txt
pip install -r requirements.txt
- name: Serve site
run: |
mkdocs build
python3 -m http.server --directory site &
sed -i 's/https:\/\/docs.dasharo.com/http:\/\/0.0.0.0:8000/g' site/sitemap.xml
- name: Check canonical links
uses: 3mdeb/seo-spy-action@main
with:
domain: 'http://0.0.0.0:8000'
args: '-c'
7 changes: 7 additions & 0 deletions .lycheeignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
https://www.paypal.com/cgi-bin/webscr
https://twitter.com/*
89eBqUwoCpnPoUKD367kJm3Gsw639EUSdG3xwUyQmDroKHWHPyhYmJ63uP41ArHfPsBihNFTYjASpRUGaeSyp3JS9BmtjpQ
pkt1qyv4gmnvvg2vfyj89e63thzj68jf2y9k7ssee7
1GUm6FF7Fon6Umrt5CSi3AxxYg8dM2NKvV
https://reproducible-builds.org/
https://www.linkedin.com/company/*
13 changes: 13 additions & 0 deletions .pre-commit-config.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -36,6 +36,19 @@ repos:
hooks:
- id: codespell

- repo: local
hooks:
- id: double_slashes_url_external
name: Check double slashes in external URLs
entry: https?:\/\/[^\s]*(?<!http:)((?<!https:)\/\/).*
language: pygrep
exclude: '^.*.(jpeg|jpg|png|pdf)$'
- id: double_slashes_url_markdown
name: Check double slashes in markdown URLs
entry: (\:\s|\()[^\s]*(?<!http:)((?<!https:)\/\/)
language: pygrep
exclude: '^.*.(jpeg|jpg|png|pdf)$'

ci:
autoupdate_commit_msg: 'pre-commit: autoupdate hooks'
autofix_prs: false
29 changes: 22 additions & 7 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -28,14 +28,29 @@ render correctly as HTML in local preview.

### Broken links checker

To check for broken links we use `linkchecker`. It should be installed through
[requirements.txt](#local-build). Following command produces
`linkchecker-out.txt` file, which contains list of broken links, please make
sure your proposed changes have no broken links reported. Feel free to adjust
other parameters according to your needs.
Currently we are using [lychee](https://github.com/lycheeverse/lychee) a fast,
async, stream-based link checker written in Rust. The automatic check is
triggered on each push to master PR.

```shell
linkchecker -f linkcheckerrc http://0.0.0.0:8000
You can also run it locally using a docker image:

```bash
$ docker run --init -it --rm -w $(pwd) -v $(pwd):$(pwd) lycheeverse/lychee
--max-redirects 10 -a 403,429,500,502,503,999 .
```

### Relative links

Please avoid using URL-related links like:

```md
[MSI PRO Z790-P](../../unified/msi/overview)
```

Instead, use relative links within the repository:

```md
[MSI PRO Z790-P](../unified/msi/overview.md)
```

### Make sure no TBD or TODO content is displayed
Expand Down
2 changes: 1 addition & 1 deletion docs/common-coreboot-docs/checkbox.md
Original file line number Diff line number Diff line change
Expand Up @@ -64,7 +64,7 @@ perform the following steps:
it.
- Restart your system for changes to take effect.

![](../images/checkbox_aut_login.jpg)
![](../images/checkbox_aut_login.png)

## Download and install Checkbox

Expand Down
6 changes: 3 additions & 3 deletions docs/common-coreboot-docs/dumping_logs.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ a running system.

## System information

One may use [Dasharo Tools Suite HCL report](../../dasharo-tools-suite/documentation#hcl-report)
One may use [Dasharo Tools Suite HCL report](https://docs.dasharo.com/dasharo-tools-suite/documentation#hcl-report)
or [fwdump-docker image](https://github.com/3mdeb/fwdump-docker) to
gather all the hardware configuration information from a running system. The
usage of the tools should result in an archive containing various logs from the
Expand All @@ -24,8 +24,8 @@ with the firmware. This method requires Secure Boot to be disabled.
Options to get `cbmem` utility:

1. Download precompiled utility from [3mdeb cloud](https://cloud.3mdeb.com/index.php/s/zTqkJQdNtJDo5Nd/download)
2. Use [Dasharo Tools Suite](../../dasharo-tools-suite/releases#v110) v1.1.0 or
newer which has `cbmem` utility built in.
2. Use [Dasharo Tools Suite](https://docs.dasharo.com/dasharo-tools-suite/releases#v110)
v1.1.0 or newer which has `cbmem` utility built in.
3. Compile `cbmem utility`. See procedure below.

Short instruction how to compile and use `cbmem` on Ubuntu 22.04 live CD:
Expand Down
2 changes: 1 addition & 1 deletion docs/dasharo-tools-suite/overview.md
Original file line number Diff line number Diff line change
Expand Up @@ -22,5 +22,5 @@ issues](https://github.com/Dasharo/dasharo-issues/issues?q=is%3Aopen+is%3Aissue+

And if you have already used this system and would be interested in supporting
the project, please check how to get [Supporters
Entrance](../../osf-trivia-list/dts/#what-is-dasharo-tools-suite-supporters-entrance),
Entrance](https://docs.dasharo.com/osf-trivia-list/dts/#what-is-dasharo-tools-suite-supporters-entrance),
which ensures delivery of Dasharo firmware updates.
2 changes: 1 addition & 1 deletion docs/dev-proc/smbios-rules.md
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,7 @@ Dasharo ([major_framework]+[minor_framework]) v[version]
primary framework, e.g. a coreboot payload. May not always be used, e.g. if
`edk2` is used as the primary framework.
- `version` means version according to official
[Dasharo Versioning](../versioning) documentation.
[Dasharo Versioning](versioning.md) documentation.

_For [TianoCore UEFIPayloadPkg](https://github.com/Dasharo/edk2/tree/dasharo/UefiPayloadPkg),
we use the simpler and more recognizable UEFI name._
Expand Down
2 changes: 1 addition & 1 deletion docs/ecosystem/overview.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
Dasharo ecosystem contain multiple components on various levels of
organization. This section overview role of every component.

![](../images/ecosystem_overview.jpg)
![](../images/ecosystem_overview.png)

* Open Source Firmware Community - semi-organised collections of contributors
to projects related to embedded firmware. Dasharo project contributors are
Expand Down
4 changes: 2 additions & 2 deletions docs/glossary.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,8 +10,8 @@ keep content added by us minimalistic.
## Embedded Firmware

We use definition explained in first chapter of
["Embedded Firmware Solutions"](https://www.apress.com/gp/book/9781484200711) book
by Jiming Sun, Marc Jones, Stefan Reinauer and Vincent Zimmer.
["Embedded Firmware Solutions"](https://link.springer.com/book/10.1007/978-1-4842-0070-4)
book by Jiming Sun, Marc Jones, Stefan Reinauer and Vincent Zimmer.

Firmware is "layer of software between the hardware and the
operating system (OS), with the main purpose to initialize and
Expand Down
Binary file removed docs/images/NS51-front-1.jpg
Binary file not shown.
Binary file added docs/images/NS51-front-1.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file removed docs/images/NV4x-front-1.jpg
Binary file not shown.
Binary file added docs/images/NV4x-front-1.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file removed docs/images/SD-wire_PCB_elements_1.jpg
Binary file not shown.
Binary file added docs/images/SD-wire_PCB_elements_1.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file removed docs/images/SD-wire_PCB_elements_2.jpg
Binary file not shown.
Binary file added docs/images/SD-wire_PCB_elements_2.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file removed docs/images/SD-wire_scheme-1.jpg
Binary file not shown.
Binary file added docs/images/SD-wire_scheme-1.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file removed docs/images/checkbox_aut_login.jpg
Binary file not shown.
Binary file added docs/images/checkbox_aut_login.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file removed docs/images/ecosystem_overview.jpg
Binary file not shown.
Binary file added docs/images/ecosystem_overview.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file removed docs/images/jsm_add_request.jpg
Binary file not shown.
Binary file added docs/images/jsm_add_request.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file removed docs/images/jsm_view_requests.jpg
Binary file not shown.
Binary file added docs/images/jsm_view_requests.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file removed docs/images/jsm_workflow.jpg
Binary file not shown.
Binary file added docs/images/jsm_workflow.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file removed docs/images/rte-rest-api-interface.jpg
Binary file not shown.
Binary file added docs/images/rte-rest-api-interface.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file removed docs/images/rte-v1.1.0-interface-desc.jpg
Binary file not shown.
Binary file added docs/images/rte-v1.1.0-interface-desc.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
2 changes: 1 addition & 1 deletion docs/inquiries/commercial-inquiries.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
# Commercial inquiries

If you have any questions about our services, feel free to contact us using
[Dasharo contact form](https://dasharo.com/pages/contact.html) or
[Dasharo contact form](https://www.dasharo.com/pages/contact/) or
[3mdeb contact form](https://3mdeb.com/contact/), or [book a call with us](https://calendly.com/3mdeb/consulting-remote-meeting).
31 changes: 17 additions & 14 deletions docs/osf-trivia-list/dasharo.md
Original file line number Diff line number Diff line change
Expand Up @@ -19,14 +19,14 @@ Dasharo is an open-source firmware distribution focusing on:

Dasharo consists of [productized services](#dasharo-professional-support), set
of [open-source repositories](https://github.com/orgs/Dasharo/repositories),
and [quality control](../../unified-test-documentation/overview/) which help to
provide scalable, modular, easy to combine open-source BIOS, UEFI, and firmware
solutions. It offers the components that are needed to develop and maintain a
high quality, and modular firmware, for the stability and security of your
platform.
and [quality control](https://docs.dasharo.com/unified-test-documentation/overview/)
which help to provide scalable, modular, easy to combine open-source BIOS, UEFI,
and firmware solutions. It offers the components that are needed to develop
and maintain a high quality, and modular firmware, for the stability and
security of your platform.

For individuals Dasharo provides optional features in subscription model called
[Supporters Entrance](../dts/#how-to-get-dasharo-tools-suite-supporters-entrance).
[Supporters Entrance](dts.md#how-to-get-dasharo-tools-suite-supporters-entrance).

## Why 3mdeb created Dasharo?

Expand Down Expand Up @@ -101,7 +101,7 @@ release notes directly to the customer and does not have to be publicly
available.
1. Every firmware produced by Dasharo Ecosystem use [Semantic Versioning
2.0.0](https://semver.org/) compatible versioning scheme. For details please
check [description](../../dev-proc/versioning).
check [description](https://docs.dasharo.com/dev-proc/versioning).
1. Every firmware produced by Dasharo Ecosystem should use [Keep A Changelog
1.0.0](https://keepachangelog.com/en/1.0.0/) compatible scheme as changelog
format.
Expand Down Expand Up @@ -129,7 +129,7 @@ Those microcontrollers and IP blocks typically require firmware blobs as well.
Some of the blobs are clearly visible, some may be obfuscated and hidden inside
the silicon or other firmware blobs (e.g. Intel Management Engine region
contains multiple other blobs besides the ME firmware -
[more about Intel ME blob](../me)).
[more about Intel ME blob](me.md)).

So Dasharo's binary blob policy is as follows:

Expand Down Expand Up @@ -270,20 +270,22 @@ and binary blobs transmission, as well as recovery.

For more details about zero-touch initial deployment please read relevant
DTS
[documentation](../../dasharo-tools-suite/documentation/#dasharo-zero-touch-initial-deployment).
[documentation](https://docs.dasharo.com/dasharo-tools-suite/documentation/#dasharo-zero-touch-initial-deployment).

### Dasharo Clean and Simple Code

Dasharo is an open-source distribution project with a simple code structure
described in detail [here](../../../dev-proc/source-code-structure). While the
described in detail
[here](https://docs.dasharo.com/dev-proc/source-code-structure). While the
project benefits from the simplicity of the coreboot source code, it is
continuously researching and improving its development process and tools to
provide a superior experience for developers. One example of this ongoing work
is the improvements made to fork maintenance, currently being tracked in [this
issue](https://github.com/Dasharo/dasharo-issues/issues/310) on the Dasharo
GitHub repository. The project also explores the concept of a bootstrapable
toolchain, discussed in the [build process
section](../../osf-trolling-list/build_process) of the project documentation.
section](https://docs.dasharo.com/osf-trolling-list/build_process)
of the project documentation.

### Dasharo Long Term Maintenance

Expand Down Expand Up @@ -479,11 +481,12 @@ such a case, don't hesitate to contact us; we will see what we can do. However,
the community member who requested support for the platform should also offer
their help in validating the firmware and maintenance. That kind of request
will be more than welcome from active community members. New members should
consider [ways to help us](../../ways-you-can-help-us/) to gain a reputation
that can lead to influencing Dasharo Community Supported roadmap.
consider [ways to help us](https://docs.dasharo.com/ways-you-can-help-us/)
to gain a reputation that can lead to influencing Dasharo Community Supported
roadmap.

[coreboot-scope]: https://doc.coreboot.org/#scope-of-the-coreboot-project
[dtsos]: ../../dasharo-tools-suite/overview/
[dtsos]: ../dasharo-tools-suite/overview.md
[lvfs]: https://fwupd.org/lvfs/docs/consulting
[gerrit-review]: https://review.coreboot.org/c/homepage/+/63402
[cb-distro]: https://doc.coreboot.org/distributions.html
Expand Down
20 changes: 9 additions & 11 deletions docs/osf-trivia-list/deployment.md
Original file line number Diff line number Diff line change
Expand Up @@ -14,21 +14,19 @@ Following sections explain how to deal with most common `flashrom` problem.

### How to install Dasharo flashrom fork ?

The following procedure is for advanced users familiar with source compilation
and can resolve potential missing dependencies or other typical compilation
problems. If you are unfamiliar with compilation from source, we recommend
using Dasharo Tools Suite, a minimal Linux environment to deploy, update, and
maintain firmware on Dasharo-supported devices. Please follow [DTS
documentation](../../dasharo-tools-suite/overview). Otherwise, please follow
the compilation procedure.
* Install flashrom v1.1 or newer with your distribution's package manager if
you don't have it installed yet. If your distro doesn't provide flashrom or
provides an outdated one, you can build it yourself using
[this instruction](https://www.flashrom.org/dev_guide/building_from_source.html).
* Or compile recent version of flashrom:

If you need flashrom for Dasharo-supported hardware and for some reason you
cannot use DTS, please consider the compilation of Dasharo [flashrom
fork](https://github.com/Dasharo/flashrom/tree/dasharo-release).

For compilation details and related issues, please check flashrom
[documentation](https://review.coreboot.org/plugins/gitiles/flashrom/+/refs/heads/master/README)
and [community](https://www.flashrom.org/Contact).
[documentation](https://review.coreboot.org/plugins/gitiles/flashrom/+/refs/heads/master/README.rst)
and [community](https://www.flashrom.org/contact.html).

### Perform dry run to detect the problems early

Expand Down Expand Up @@ -157,7 +155,7 @@ Note: flashrom can never write if the flash chip isn't found automatically.

that means your flashrom version is incorrect. Follow the procedure of
[building flashrom](#how-to-install-dasharo-flashrom-fork) or use
[DTS](../../dasharo-tools-suite/overview).
[DTS](../dasharo-tools-suite/overview.md).

### Chip write protection enabled

Expand Down Expand Up @@ -199,7 +197,7 @@ tools that can simplify the operation for the user -->
It is always a good idea to backup the original BIOS of your hardware, before
switching to open-source firmware.

* Boot [Dasharo Tools Suite](../../../dasharo-tools-suite/documentation#bootable-usb-stick)
* Boot [Dasharo Tools Suite](https://docs.dasharo.com/dasharo-tools-suite/documentation#bootable-usb-stick)
* Choose option 9) Shell.
* Read content of SPI NOR flash:

Expand Down
16 changes: 8 additions & 8 deletions docs/osf-trivia-list/dts.md
Original file line number Diff line number Diff line change
Expand Up @@ -24,18 +24,18 @@ Please help us develop Dasharo influence on open-source firmware market and
spread the word about it. There are multiple ways to do that:

* [Join Dasharo Matrix
Community](../../ways-you-can-help-us/#join-dasharo-matrix-community) and
Community](../ways-you-can-help-us.md#join-dasharo-matrix-community) and
support other members of community
* [Join Dasharo open-source firmware
vPub](../../ways-you-can-help-us/#join-dasharo-open-source-firmware-vpub) or
vPub](../ways-you-can-help-us.md#join-dasharo-open-source-firmware-vpub) or
other related event organized by 3mdeb or Dasharo Team.
* [Write a Google review](../../ways-you-can-help-us/#write-a-google-review)
* [Write a Google review](../ways-you-can-help-us.md#write-a-google-review)
* [Follow us on social
media](../../ways-you-can-help-us/#follow-us-on-social-media) and help
media](../ways-you-can-help-us.md#follow-us-on-social-media) and help
spreading the word about Dasharo.
* [Contribute](../../ways-you-can-help-us/#contribute-through-github)
* [Contribute](../ways-you-can-help-us.md#contribute-through-github)
documentation, test results, [Dasharo Hardware Compatibility List
Reports](../../../dasharo-tools-suite/documentation/#hcl-report)
Reports](https://docs.dasharo.com/dasharo-tools-suite/documentation/#hcl-report)

To get access to DTS SE you should [contact 3mdeb](mailto:[email protected]) or
[Dasharo Team](mailto:[email protected]) and prove your contribution
Expand All @@ -44,7 +44,7 @@ would be glad to give you access to DTS SE for a year.

### I have more time than money and I can't code

Please [contribute](../../ways-you-can-help-us/#contribute-through-github)
Please [contribute](../ways-you-can-help-us.md#contribute-through-github)
ideas for new features, review documentation and help testing bug fixes.

If you would like to pursue that path please contact us on [Dasharo -
Expand All @@ -57,7 +57,7 @@ SE updates.

### I have more money than time

Please [donate](../../ways-you-can-help-us/#donate-money) using one of
Please [donate](../ways-you-can-help-us.md#donate-money) using one of
available methods and contact [3mdeb](mailto:[email protected]) or [Dasharo
Team](mailto:[email protected]) to let us know about your donation. Minimal
donating to access DTS SE with one year update support is 60EUR.
Loading