Skip to content

Commit

Permalink
add_lychee_link_checker
Browse files Browse the repository at this point in the history
  • Loading branch information
epompeii committed Dec 3, 2023
1 parent 4a37a54 commit d424b5b
Show file tree
Hide file tree
Showing 9 changed files with 38 additions and 20 deletions.
4 changes: 4 additions & 0 deletions .devcontainer/Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,9 @@ RUN sudo npm install -g --save-exact @biomejs/biome
# Install `@esbuild/linux-arm64` and `@rometools/cli-linux-arm64` for `aarch64`
RUN test $(uname -m) = "aarch64" && sudo npm install -g @esbuild/linux-arm64 @rometools/cli-linux-arm64; true

# Install `lychee` dependencies: https://github.com/lycheeverse/lychee
RUN sudo apt-get install gcc pkg-config libc6-dev libssl-dev

# Install `sqlite3`: https://www.sqlite.org/index.html
RUN sudo apt-get install -y sqlite3

Expand All @@ -47,6 +50,7 @@ RUN rustup component add clippy rust-src rustfmt --toolchain $RUST_VERSION-$(una
RUN rustup target add wasm32-unknown-unknown --toolchain $RUST_VERSION-$(uname -m)-unknown-linux-gnu
RUN cargo install diesel_cli --no-default-features --features sqlite --locked
RUN cargo install typeshare-cli --locked
RUN cargo install lychee --locked

# Install `flyctl`: https://fly.io/docs/getting-started/installing-flyctl/
RUN curl -L https://fly.io/install.sh | sh
Expand Down
14 changes: 14 additions & 0 deletions .github/workflows/bencher.yml
Original file line number Diff line number Diff line change
Expand Up @@ -670,6 +670,20 @@ jobs:
- name: Build Console UI
working-directory: ./services/console
run: npm run netlify
- name: Test Links
uses: lycheeverse/[email protected]
with:
fail: true
# TODO remove eetimes, researchgate, and tratt once `--cookie-jar` is stable
# https://github.com/lycheeverse/lychee/commit/14e748793e8a08d7c2130f63896074f4980204cb
args: |
./services/console/dist \
--exclude "http://localhost:3000/" \
--exclude "https://discord.gg/yGEsdUh7R4" \
--exclude "https://github.com/bencherdev/bencher/issues/new*" \
--exclude "https://www.eetimes.eu*" \
--exclude "https://www.researchgate.net*" \
--exclude "https://tratt.net*"
# API Fly.io
deploy_local_api_fly:
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ Diese Analogie ist so treffend, dass der erste Absatz dieses Abschnitts einfach

Mythos: Benchmarking kann nicht in CI durchgeführt werden

Die meisten Benchmarking-Halterungen verwenden die [Systemwanduhr](https://de.wikipedia.org/wiki/Elapsed_real_time) zur Messung von Latenz oder Durchsatz.
Die meisten Benchmarking-Halterungen verwenden die [Systemwanduhr](https://en.wikipedia.org/wiki/Elapsed_real_time) zur Messung von Latenz oder Durchsatz.
Das ist sehr hilfreich, denn das sind genau die Metriken, um die wir uns als Entwickler am meisten kümmern.
Allerdings sind allgemeine CI-Umgebungen oft laut und inkonsistent, wenn es darum geht, die Wanduhrzeit zu messen.
Bei kontinuierlichem Benchmarking fügt diese Volatilität unerwünschtes Rauschen in die Ergebnisse ein.
Expand Down
18 changes: 9 additions & 9 deletions services/console/src/chunks/reference/de/server-config.3.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -27,12 +27,12 @@ Dieser Abschnitt spezifiziert eine [SMTP](https://de.wikipedia.org/wiki/Simple_M
Der gesamte Abschnitt ist optional.
Wird er nicht angegeben, werden alle Nachrichten stattdessen an `logging` geschickt.

| Name | Beispiel | Standard | Erforderlich | Beschreibung |
| :--------: | :-------------------------: | :------: | :----------: | :-------------------------------------------------------------------------------------------------------: |
| hostname | "mailbonobo.com" | --- | Ja | Gibt den SMTP-Hostname an. |
| port | 587 | 587 | Nein | Gibt den SMTP-Port an. |
| starttls | true | true | Nein | Kontrolliert, ob die SMTP-Verbindung das STARTTLS-Protokoll verwendet. |
| username | "bencher" | --- | Ja | Gibt den Benutzernamen beim SMTP-Host an. |
| secret | "WM3F2u9cqSNdBPLfy9sJ5kk9" | --- | Ja | Gibt das Geheimnis für den Benutzernamen beim SMTP-Host an. Im Protokoll erscheint es als `************`. |
| from_name | "Bencher" | --- | Ja | Gibt den Namen an, der im Absenderbereich aller E-Mails erscheint. |
| from_email | "info@bencher.beispiel.com" | --- | Ja | Gibt die E-Mail an, die im Absenderbereich aller E-Mails erscheint. |
| Name | Beispiel | Standard | Erforderlich | Beschreibung |
| :--------: | :------------------------: | :------: | :----------: | :-------------------------------------------------------------------------------------------------------: |
| hostname | "mailbonobo.com" | --- | Ja | Gibt den SMTP-Hostname an. |
| port | 587 | 587 | Nein | Gibt den SMTP-Port an. |
| starttls | true | true | Nein | Kontrolliert, ob die SMTP-Verbindung das STARTTLS-Protokoll verwendet. |
| username | "bencher" | --- | Ja | Gibt den Benutzernamen beim SMTP-Host an. |
| secret | "WM3F2u9cqSNdBPLfy9sJ5kk9" | --- | Ja | Gibt das Geheimnis für den Benutzernamen beim SMTP-Host an. Im Protokoll erscheint es als `************`. |
| from_name | "Bencher" | --- | Ja | Gibt den Namen an, der im Absenderbereich aller E-Mails erscheint. |
| from_email | "info@bencher.example.com" | --- | Ja | Gibt die E-Mail an, die im Absenderbereich aller E-Mails erscheint. |
2 changes: 1 addition & 1 deletion services/console/src/chunks/reference/en/prior-art.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -187,7 +187,7 @@ sortOrder: 2
- [deno bench](https://docs.deno.com/runtime/manual/tools/benchmarker) - Deno has a built-in benchmark runner that you can use for checking performance of JavaScript or TypeScript code.
- [callstack/reassure](https://github.com/callstack/reassure) - Performance testing companion for React and React Native
- Julia
- [BenchmarkTools.jl](https://github.com/JuliaCI/BenchmarkTools.jl0) - A benchmarking framework for the Julia language
- [BenchmarkTools.jl](https://github.com/JuliaCI/BenchmarkTools.jl) - A benchmarking framework for the Julia language
- Python
- [airspeed-velocity/asv](https://github.com/airspeed-velocity/asv) - Airspeed Velocity: A simple Python benchmarking tool with web-based reporting
- [pytest-benchmark](https://github.com/ionelmc/pytest-benchmark) - py.test fixture for benchmarking code
Expand Down
8 changes: 4 additions & 4 deletions services/console/src/chunks/reference/ko/server-config.2.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -6,10 +6,10 @@

## `security`

| 이름 || 기본값 | 필수 | 설명 |
| :--------: | :--------------------------------------------: | :-----------: | :----: | :-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------: |
| issuer | "https://api.bencher.example.com" | "bencher.dev" | 아니오 | JWT(Jason Web Token) 발행자를 지정합니다. **경고** 이 값을 변경하면 이전에 생성된 모든 JWT가 더 이상 유효하지 않습니다. |
| secret_key | "UJu7Cpxb-zFaJYqXD-3mDDSDyj-ZvfxZFZs-X58xjxPy" | 랜덤 UUID v4 || 모든 토큰을 생성하는 데 사용되는 키를 지정합니다. **매우 안전해야 합니다!** 기본값은 랜덤하게 생성된 [UUID v4](https://ko.wikipedia.org/wiki/%EC%9C%A0%EB%8B%88%EB%B2%84%EC%84%9C_%EA%B3%A0%EC%9C%A0_%EC%8B%9D%EB%B3%84%EC%9E%90#Version_4_.28random.29)입니다. 로그에 기록될 때 '************'로 가려집니다. |
| 이름 || 기본값 | 필수 | 설명 |
| :--------: | :--------------------------------------------: | :-----------: | :----: | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------: |
| issuer | "https://api.bencher.example.com" | "bencher.dev" | 아니오 | JWT(Jason Web Token) 발행자를 지정합니다. **경고** 이 값을 변경하면 이전에 생성된 모든 JWT가 더 이상 유효하지 않습니다. |
| secret_key | "UJu7Cpxb-zFaJYqXD-3mDDSDyj-ZvfxZFZs-X58xjxPy" | 랜덤 UUID v4 || 모든 토큰을 생성하는 데 사용되는 키를 지정합니다. **매우 안전해야 합니다!** 기본값은 랜덤하게 생성된 [UUID v4](https://ko.wikipedia.org/wiki/%EB%B2%94%EC%9A%A9_%EA%B3%A0%EC%9C%A0_%EC%8B%9D%EB%B3%84%EC%9E%90)입니다. 로그에 기록될 때 '************'로 가려집니다. |

# `server`

Expand Down
4 changes: 2 additions & 2 deletions services/console/src/content/explanation/de/thresholds.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -7,8 +7,8 @@ sortOrder: 4

Schwellenwerte können für die einzigartige Kombination aus Metrikart, Branch und Testbed erstellt werden.
Sie sind statistische Signifikanztests, die entweder eine
[Z-Score](https://de.wikipedia.org/wiki/Standardisierte_Veränderung)
oder [Student's T-Test](https://de.wikipedia.org/wiki/Studentscher_t-Test)
[Z-Score](https://de.wikipedia.org/wiki/Standardisierung_(Statistik))
oder [Student's T-Test](https://de.wikipedia.org/wiki/T-Test)
verwenden, um Leistungseinbrüche zu detektieren und Alarme zu erzeugen.
Wenn eine Metrik unterhalb der unteren Grenze eines Schwellenwerts oder oberhalb der oberen Grenze eines Schwellenwerts liegt,
wird ein Alarm für diese Metrik erzeugt.
Expand Down
2 changes: 1 addition & 1 deletion services/console/src/content/explanation/es/thresholds.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ sortOrder: 4

Los umbrales se pueden crear para la combinación única de un Tipo de Métrica, Rama y Banco de Pruebas.
Son tests de significación estadística que utilizan ya sea un
[score Z](https://es.wikipedia.org/wiki/Valor_Z)
[score Z](https://es.wikipedia.org/wiki/Unidad_tipificada)
o una [prueba t de Student](https://es.wikipedia.org/wiki/Prueba_t_de_Student)
para detectar regresiones de rendimiento y generar Alertas.
Cuando una Métrica está por debajo del límite inferior de un umbral o por encima de su límite superior,
Expand Down
4 changes: 2 additions & 2 deletions services/console/src/content/explanation/fr/thresholds.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -7,14 +7,14 @@ sortOrder: 4

Les seuils peuvent être créés pour la combinaison unique d'un type de métrique, d'une branche et d'une plate-forme de test.
Ce sont des tests de signification statistique qui utilisent soit un
[score Z](https://fr.wikipedia.org/wiki/Score_z)
[score Z](https://fr.wikipedia.org/wiki/Cote_Z_(statistiques))
ou un [test de Student](https://fr.wikipedia.org/wiki/Test_de_Student)
afin de détecter les régressions de performance et de générer des alertes.
Lorsqu'une métrique est en dessous de la limite inférieure d'un seuil ou au-dessus de la limite supérieure d'un seuil,
une alerte est générée pour cette métrique.

Les seuils fonctionnent mieux lorsque :
- Il n'y a pas de différences extrêmes entre les exécutions de benchmark
- Il n'y a pas de différences extrêmes entre les exécutions de benchmark
- Les exécutions de benchmark sont totalement indépendantes les unes des autres
- Le nombre d'itérations pour une seule exécution de benchmark est inférieur à 10% des métriques historiques

Expand Down

0 comments on commit d424b5b

Please sign in to comment.