From 9451190b7357e7dfa05acd29452fe7d3c1294ef5 Mon Sep 17 00:00:00 2001 From: Trask Stalnaker Date: Mon, 10 Apr 2023 15:57:28 -0700 Subject: [PATCH 1/2] Add link checking --- .../scripts/markdown-link-check-config.json | 26 +++++++++++++++++++ .../scripts/markdown-link-check-with-retry.sh | 17 ++++++++++++ .github/workflows/build.yml | 16 ++++++++++++ .../reusable-markdown-link-check.yml | 24 +++++++++++++++++ ADOPTERS.md | 4 +-- CONTRIBUTING.md | 2 +- README.md | 2 +- governance-charter.md | 2 +- tech-committee-charter.md | 2 +- 9 files changed, 89 insertions(+), 6 deletions(-) create mode 100644 .github/scripts/markdown-link-check-config.json create mode 100755 .github/scripts/markdown-link-check-with-retry.sh create mode 100644 .github/workflows/build.yml create mode 100644 .github/workflows/reusable-markdown-link-check.yml diff --git a/.github/scripts/markdown-link-check-config.json b/.github/scripts/markdown-link-check-config.json new file mode 100644 index 000000000..1ef6e4edd --- /dev/null +++ b/.github/scripts/markdown-link-check-config.json @@ -0,0 +1,26 @@ +{ + "retryOn429" : true, + "ignorePatterns" : [ + { + "pattern" : "https://github.com/username" + }, + { + "pattern" : "https://github.com/zhyChesterCheung" + }, + { + "pattern" : "https://twitter.com" + }, + { + "pattern" : "https://www.zocdoc.com" + }, + { + "pattern" : "https://www.youtube.com" + }, + { + "pattern" : "https://www.linkedin.com" + }, + { + "pattern" : "https://dev.azure.com" + } + ] +} diff --git a/.github/scripts/markdown-link-check-with-retry.sh b/.github/scripts/markdown-link-check-with-retry.sh new file mode 100755 index 000000000..109146abf --- /dev/null +++ b/.github/scripts/markdown-link-check-with-retry.sh @@ -0,0 +1,17 @@ +#!/bin/bash -e + +# this script helps to reduce sporadic link check failures by retrying at a file-by-file level + +retry_count=3 + +for file in "$@"; do + for i in $(seq 1 $retry_count); do + if markdown-link-check --config "$(dirname "$0")/markdown-link-check-config.json" \ + "$file"; then + break + elif [[ $i -eq $retry_count ]]; then + exit 1 + fi + sleep 5 + done +done diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml new file mode 100644 index 000000000..9d1754de2 --- /dev/null +++ b/.github/workflows/build.yml @@ -0,0 +1,16 @@ +name: Build + +on: + push: + branches: + - main + pull_request: + workflow_dispatch: + +concurrency: + group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.sha }} + cancel-in-progress: true + +jobs: + markdown-link-check: + uses: ./.github/workflows/reusable-markdown-link-check.yml diff --git a/.github/workflows/reusable-markdown-link-check.yml b/.github/workflows/reusable-markdown-link-check.yml new file mode 100644 index 000000000..18755fc45 --- /dev/null +++ b/.github/workflows/reusable-markdown-link-check.yml @@ -0,0 +1,24 @@ +name: Reusable - Markdown link check + +on: + workflow_call: + +jobs: + markdown-link-check: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v3 + + - name: Install markdown-link-check + # fix version to 3.10.3 as 3.11.0 appears to ignore --config, so we can't specify our own + # configuration file + run: npm install -g markdown-link-check@3.10.3 + + - name: Run markdown-link-check + run: | + find . -type f \ + -name '*.md' \ + -not -path './elections/2019/governance-committee-election.md' \ + -not -path './elections/2020/governance-committee-election.md' \ + -not -path './elections/*/governance-committee-candidates.md' \ + | xargs .github/scripts/markdown-link-check-with-retry.sh diff --git a/ADOPTERS.md b/ADOPTERS.md index 7c313b09d..e4a14a7af 100644 --- a/ADOPTERS.md +++ b/ADOPTERS.md @@ -9,7 +9,7 @@ A non-exhaustive, alphabetized list of organizations that have adopted OpenTelem | [Care.com](https://www.care.com) | Collector, Go, Java, JS, .NET | | | [Cloud Scale](https://www.cloudscaleinc.com) | Collector, Python | | | [Dynatrace](https://www.dynatrace.com/) | Collector, Java, JS, Python, Go, .NET | | -| [EcoBee](https://www.ecobee.com/) | Collector, Java | [blog post](https://www.honeycomb.io/blog/bees-working-together-how-ecobees-engineers-adopted-honeycomb/) | +| [EcoBee](https://www.ecobee.com/) | Collector, Java | [blog post](https://www.honeycomb.io/blog/bees-working-together-how-ecobees-engineers-adopted-honeycomb-for-visibility-into-system-optimization-and-customer-experience) | | [F5](https://www.f5.com/) | Collector. | | | [Google Cloud Platform](https://cloud.google.com) | Collector, Go, Java, JS, Python | | | [Grafana Labs](https://grafana.com/) | Collector | | @@ -19,7 +19,7 @@ A non-exhaustive, alphabetized list of organizations that have adopted OpenTelem | [Lightstep](https://lightstep.com) | Go, JS | | | [Logicmonitor](https://www.logicmonitor.com/) | Collector, Java, Go, JS, Python, .Net | | | [Logz.io](https://logz.io) | Collector, Java, C++, Go, JS, K8s | [blog](https://logz.io/learn/opentelemetry-guide/) | -| [Microsoft](https://www.microsoft.com/) | Collector, C++, Go, Java, JS, Python, Ruby, .NET | [Azure blog](https://techcommunity.microsoft.com/t5/azure-monitor/opentelemetry-azure-monitor/ba-p/2737823), [Dapr docs](https://docs.dapr.io/operations/monitoring/tracing/open-telemetry-collector/), [GitHub blog](https://github.blog/2021-05-26-why-and-how-github-is-adopting-opentelemetry/) | +| [Microsoft](https://www.microsoft.com/) | Collector, C++, Go, Java, JS, Python, Ruby, .NET | [Azure blog](https://techcommunity.microsoft.com/t5/azure-monitor/opentelemetry-azure-monitor/ba-p/2737823), [Dapr docs](https://docs.dapr.io/operations/monitoring/tracing/otel-collector/), [GitHub blog](https://github.blog/2021-05-26-why-and-how-github-is-adopting-opentelemetry/) | | [OpenTelemetry](https://opentelemetry.io) | Collector, JS | | | [OrderMyGear](https://www.ordermygear.com/) | | | | [Red Hat](https://redhat.com/) | Collector, Operator | [website](https://docs.openshift.com/container-platform/4.12/distr_tracing/distr_tracing_arch/distr-tracing-architecture.html) | diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 5e73e64dd..53785121d 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -67,7 +67,7 @@ cannot offer technical support in GitHub issues. If you have questions about the development process, feel free to jump into our [Slack Channel](https://cloud-native.slack.com/archives/CJFCJHG4Q) ([Get an invite to join CNCF](http://slack.cncf.io/)). You can also ask questions on [Stack -Overflow](https://stackoverflow.com/questions/tagged/opentelemetry). +Overflow](https://stackoverflow.com/questions/tagged/open-telemetry). ## Find something to work on diff --git a/README.md b/README.md index fe5864d42..6ca7d1732 100644 --- a/README.md +++ b/README.md @@ -37,7 +37,7 @@ a friendly, collaborative group and look forward to working together! * Governance Committee (GC): [Charter](./governance-charter.md), [Members](./community-members.md#governance-committee) * Technical Committee (TC): [Charter](./tech-committee-charter.md), [Members](./community-members.md#technical-committee) -Both committees meet regularly, and the respective meeting notes are publicly available in the [GC meeting notes](https://docs.google.com/document/d/1-23Sf7-xZK3OL5Ogv2pK0NP9YotlSa0PKU9bvvtQwp8) and the [TC meeting notes](https://docs.google.com/document/d/17v2RMZlJZkgoPYHZhIFTVdDqQMIAH8kzo8Sl2kP3cbY) Google Docs. If you want to check out the recordings, head to the [Governance Committee YouTube playlist](https://www.youtube.com/playlist?list=PLVYDBkQ1Tdyzg1CuQgd9mdjwOUYg7ECYR). +Both committees meet regularly, and the respective meeting notes are publicly available in the [GC meeting notes](https://docs.google.com/document/d/1-23Sf7-xZK3OL5Ogv2pK0NP9YotlSa0PKU9bvvtQwp8) and the [TC meeting notes](https://docs.google.com/document/d/1hOHPCu5TGenqTeWPB9qQB_qd33uITZBcvK1FnWxYJAw) Google Docs. If you want to check out the recordings, head to the [Governance Committee YouTube playlist](https://www.youtube.com/playlist?list=PLVYDBkQ1Tdyzg1CuQgd9mdjwOUYg7ECYR). ## Areas of Interest diff --git a/governance-charter.md b/governance-charter.md index 21b6cb0af..4e4473276 100644 --- a/governance-charter.md +++ b/governance-charter.md @@ -35,7 +35,7 @@ following: - Decide, for the purpose of elections, who can vote. - Logo/landing page/marketing. - Maintain relationships with CNCF. For instance, creating [documents describing - the project](https://github.com/cncf/toc/blob/master/proposals/opentelemetry.adoc) + the project](https://github.com/cncf/toc/blob/main/proposals/sandbox/opentelemetry.adoc) - Define, evolve, and defend the **vision, values, mission, and scope** of the project - to establish and maintain the soul of OpenTelemetry. - Decide how and when **official releases** of OpenTelemetry artifacts are diff --git a/tech-committee-charter.md b/tech-committee-charter.md index a52a9cde0..e20b41416 100644 --- a/tech-committee-charter.md +++ b/tech-committee-charter.md @@ -65,7 +65,7 @@ The TC and entire technical community will follow any processes as may be specif From time to time, organizations may wish to donate existing code to OpenTelemetry. The basic process for donating code is described [in -CONTRIBUTING.md](/CONTRIBUTING.md#donations). Of note is the expectation that +CONTRIBUTING.md](CONTRIBUTING.md#donations). Of note is the expectation that the TC respond to donation proposals **within two weeks.** ## Elections From 215865309765d925249c39cb1e6cb3e4e7935811 Mon Sep 17 00:00:00 2001 From: Trask Stalnaker Date: Wed, 26 Apr 2023 20:09:04 -0700 Subject: [PATCH 2/2] Fix --- .github/scripts/markdown-link-check-config.json | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/.github/scripts/markdown-link-check-config.json b/.github/scripts/markdown-link-check-config.json index 1ef6e4edd..c54b6e24e 100644 --- a/.github/scripts/markdown-link-check-config.json +++ b/.github/scripts/markdown-link-check-config.json @@ -1,5 +1,9 @@ { "retryOn429" : true, + "aliveStatusCodes" : [ + 200, + 403 + ], "ignorePatterns" : [ { "pattern" : "https://github.com/username"