diff --git a/.drone.yml b/.drone.yml index 4190807e50a..6c5961a92d4 100644 --- a/.drone.yml +++ b/.drone.yml @@ -1273,11 +1273,6 @@ steps: depends_on: [] image: node:22.11.0-alpine name: yarn-install -- commands: - - pip3 install codespell - - codespell -I docs/.codespellignore docs/ - image: python:3.8 - name: codespell - commands: - yarn run prettier:checkDocs depends_on: @@ -1635,11 +1630,6 @@ steps: depends_on: [] image: node:22.11.0-alpine name: yarn-install -- commands: - - pip3 install codespell - - codespell -I docs/.codespellignore docs/ - image: python:3.8 - name: codespell - commands: - yarn run prettier:checkDocs depends_on: @@ -5579,6 +5569,6 @@ kind: secret name: gcr_credentials --- kind: signature -hmac: bdf4cd3767ad13e5a8d7221731676e8ee1991dae0da9ae2cee92087d5c660ece +hmac: be82e983dfa15f85f82935674ec109056f519ff99c7ab1f4be71f9ce62b571a7 ... diff --git a/.github/CODEOWNERS b/.github/CODEOWNERS index 14e772bd595..3f1bf16df2c 100644 --- a/.github/CODEOWNERS +++ b/.github/CODEOWNERS @@ -32,10 +32,10 @@ /devenv/README.md @grafana/docs-grafana # START Technical documentation +/.vale.ini # `make docs` procedure and related workflows are owned @grafana/docs-tooling. Slack #docs. /docs/ @grafana/docs-tooling -/docs/.codespellignore @grafana/docs-tooling /docs/sources/ @irenerl24 /docs/sources/alerting/ @brendamuir @@ -757,6 +757,7 @@ embed.go @grafana/grafana-as-code /.github/workflows/commands.yml @torkelo /.github/workflows/community-release.yml @grafana/grafana-developer-enablement-squad /.github/workflows/detect-breaking-changes-* @grafana/plugins-platform-frontend +/.github/workflows/documentation-ci.yml @grafana/docs-tooling /.github/workflows/doc-validator.yml @grafana/docs-tooling /.github/workflows/deploy-pr-preview.yml @grafana/docs-tooling /.github/workflows/epic-add-to-platform-ux-parent-project.yml @meanmina diff --git a/.github/workflows/documentation-ci.yml b/.github/workflows/documentation-ci.yml new file mode 100644 index 00000000000..80ad62a573e --- /dev/null +++ b/.github/workflows/documentation-ci.yml @@ -0,0 +1,19 @@ +name: Documentation CI +on: + pull_request: + paths: ["docs/sources/**"] + workflow_dispatch: +jobs: + vale: + runs-on: ubuntu-latest + container: + image: grafana/vale:latest + steps: + - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 + with: + persist-credentials: false + - uses: grafana/writers-toolkit/vale-action@4b1248585248751e3b12fd020cf7ac91540ca09c # vale-action/v1.0.0 + with: + filter: | + '.Name in ["Grafana.WordList", "Grafana.Spelling", "Grafana.ProductPossessives"]' + token: ${{ secrets.GITHUB_TOKEN }} diff --git a/.vale.ini b/.vale.ini new file mode 100644 index 00000000000..3f5c12597c8 --- /dev/null +++ b/.vale.ini @@ -0,0 +1,4 @@ +MinAlertLevel = warning + +[*] +BasedOnStyles = Grafana diff --git a/docs/.codespellignore b/docs/.codespellignore deleted file mode 100644 index 43ea4f4fa93..00000000000 --- a/docs/.codespellignore +++ /dev/null @@ -1,13 +0,0 @@ -aks -eror -geomap -Geomap -grafanalib -grafonnet -iam -Jsonnet -[Operato Windrose](https://grafana.com/grafana/plugins/operato-windrose-panel/) -runbook -sergent -sparkline -wan diff --git a/scripts/drone/pipelines/docs.star b/scripts/drone/pipelines/docs.star index 536749b9e04..7b1f63642bc 100644 --- a/scripts/drone/pipelines/docs.star +++ b/scripts/drone/pipelines/docs.star @@ -5,7 +5,6 @@ This module returns all the pipelines used in the event of documentation changes load( "scripts/drone/steps/lib.star", "build_docs_website_step", - "codespell_step", "identify_runner_step", "verify_gen_cue_step", "yarn_install_step", @@ -33,7 +32,6 @@ def docs_pipelines(ver_mode, trigger): steps = [ identify_runner_step(), yarn_install_step(), - codespell_step(), lint_docs(), build_docs_website_step(), verify_gen_cue_step(), diff --git a/scripts/drone/steps/lib.star b/scripts/drone/steps/lib.star index e8afa62788f..36cd3a2db86 100644 --- a/scripts/drone/steps/lib.star +++ b/scripts/drone/steps/lib.star @@ -753,16 +753,6 @@ def frontend_metrics_step(trigger = None): step = dict(step, when = trigger) return step -def codespell_step(): - return { - "name": "codespell", - "image": images["python"], - "commands": [ - "pip3 install codespell", - "codespell -I docs/.codespellignore docs/", - ], - } - def grafana_server_step(): """Runs the grafana-server binary as a service.