From e9e06fa235d6b6ced24a6ce65fce95505e46676f Mon Sep 17 00:00:00 2001 From: Pia B Date: Tue, 6 Oct 2026 09:39:03 +0200 Subject: [PATCH 1/8] change optin check to check for nodeinfo metadata --- .github/workflows/pull-request-opt-in-check.yml | 17 ++++++++++------- 1 file changed, 10 insertions(+), 7 deletions(-) diff --git a/.github/workflows/pull-request-opt-in-check.yml b/.github/workflows/pull-request-opt-in-check.yml index e0f678d..9e2946f 100644 --- a/.github/workflows/pull-request-opt-in-check.yml +++ b/.github/workflows/pull-request-opt-in-check.yml @@ -2,8 +2,8 @@ name: Opt-in check on: push: - paths: - - 'default_servers/*' + # paths: + # - 'default_servers/*' jobs: Schema-validation: @@ -24,13 +24,16 @@ jobs: run: | FILES="${{ steps.getfile.outputs.files }}" for domain in $FILES; do - RESPONSE_CODE=$(curl --silent --connect-timeout 5 --output /dev/null -I --write-out "%{http_code}" "http://${domain}/dsr_opt_in.txt" || echo "000") + NODEINFO=$(curl -L "http://mastodon.social/nodeinfo/2.0" | jq -r '.["metadata"] | .["optInServerRecommendation"]'|| echo "000") - if [ "$RESPONSE_CODE" -ne 200 ]; then - echo "$domain is not reachable Statuscode: $RESPONSE_CODE" + if [ "$NODEINFO" -ne "true" || "false" ]; then + echo "$domain does not expose optInServerRecommendation or is not reachable" + FAILED=$((FAILED + 1)) + elif [ "$NODEINFO" == "true" ] + echo "$domain exposes optInServerRecommendation: $NODEINFO" + elif [ "$NODEINFO" == "false" ] + echo "$domain exposes optInServerRecommendation: $NODEINFO" FAILED=$((FAILED + 1)) - else - echo "$domain exists and is reachable Statuscode: $RESPONSE_CODE" fi done From 17e50ccc1ad3005da4c88ed03a10f1fddda398af Mon Sep 17 00:00:00 2001 From: Pia B Date: Tue, 6 Oct 2026 09:49:05 +0200 Subject: [PATCH 2/8] add default_server testfile to test whole workflow --- .github/workflows/pull-request-opt-in-check.yml | 2 +- default_servers/mastodon.social.yaml | 2 ++ 2 files changed, 3 insertions(+), 1 deletion(-) create mode 100644 default_servers/mastodon.social.yaml diff --git a/.github/workflows/pull-request-opt-in-check.yml b/.github/workflows/pull-request-opt-in-check.yml index 9e2946f..34dff04 100644 --- a/.github/workflows/pull-request-opt-in-check.yml +++ b/.github/workflows/pull-request-opt-in-check.yml @@ -24,7 +24,7 @@ jobs: run: | FILES="${{ steps.getfile.outputs.files }}" for domain in $FILES; do - NODEINFO=$(curl -L "http://mastodon.social/nodeinfo/2.0" | jq -r '.["metadata"] | .["optInServerRecommendation"]'|| echo "000") + NODEINFO=$(curl -L "http://${domain}/nodeinfo/2.0" | jq -r '.["metadata"] | .["optInServerRecommendation"]'|| echo "000") if [ "$NODEINFO" -ne "true" || "false" ]; then echo "$domain does not expose optInServerRecommendation or is not reachable" diff --git a/default_servers/mastodon.social.yaml b/default_servers/mastodon.social.yaml new file mode 100644 index 0000000..cc591a3 --- /dev/null +++ b/default_servers/mastodon.social.yaml @@ -0,0 +1,2 @@ +--- +weight: 100 From efa3cce9a45a0a89405d876b598d869afa4d98ea Mon Sep 17 00:00:00 2001 From: Pia B Date: Tue, 6 Oct 2026 10:52:08 +0200 Subject: [PATCH 3/8] add catch all to the end of the if else loop --- .github/workflows/pull-request-opt-in-check.yml | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/.github/workflows/pull-request-opt-in-check.yml b/.github/workflows/pull-request-opt-in-check.yml index 34dff04..8b9449c 100644 --- a/.github/workflows/pull-request-opt-in-check.yml +++ b/.github/workflows/pull-request-opt-in-check.yml @@ -26,14 +26,14 @@ jobs: for domain in $FILES; do NODEINFO=$(curl -L "http://${domain}/nodeinfo/2.0" | jq -r '.["metadata"] | .["optInServerRecommendation"]'|| echo "000") - if [ "$NODEINFO" -ne "true" || "false" ]; then - echo "$domain does not expose optInServerRecommendation or is not reachable" - FAILED=$((FAILED + 1)) - elif [ "$NODEINFO" == "true" ] + if [ $NODEINFO==true ] echo "$domain exposes optInServerRecommendation: $NODEINFO" - elif [ "$NODEINFO" == "false" ] + elif [ $NODEINFO==false ] echo "$domain exposes optInServerRecommendation: $NODEINFO" FAILED=$((FAILED + 1)) + else + echo "$domain does not expose optInServerRecommendation or is not reachable" + FAILED=$((FAILED + 1)) fi done @@ -41,3 +41,4 @@ jobs: echo "not all endpoint could be reached" exit 1 fi + shell: bash From a314c789f10ddda11caeb5ad7717795a13702347 Mon Sep 17 00:00:00 2001 From: Pia B Date: Tue, 6 Oct 2026 11:16:27 +0200 Subject: [PATCH 4/8] fix syntax --- .github/workflows/pull-request-opt-in-check.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/pull-request-opt-in-check.yml b/.github/workflows/pull-request-opt-in-check.yml index 8b9449c..0d5774b 100644 --- a/.github/workflows/pull-request-opt-in-check.yml +++ b/.github/workflows/pull-request-opt-in-check.yml @@ -26,9 +26,9 @@ jobs: for domain in $FILES; do NODEINFO=$(curl -L "http://${domain}/nodeinfo/2.0" | jq -r '.["metadata"] | .["optInServerRecommendation"]'|| echo "000") - if [ $NODEINFO==true ] + if [[ "$NODEINFO" == 'true' ]]; then echo "$domain exposes optInServerRecommendation: $NODEINFO" - elif [ $NODEINFO==false ] + elif [[ "$NODEINFO" == 'false' ]]; then echo "$domain exposes optInServerRecommendation: $NODEINFO" FAILED=$((FAILED + 1)) else From 449103d861a5f8e0faf914729522d76a738acec4 Mon Sep 17 00:00:00 2001 From: Pia B Date: Tue, 6 Oct 2026 11:19:10 +0200 Subject: [PATCH 5/8] test fail case --- .github/workflows/pull-request-opt-in-check.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/pull-request-opt-in-check.yml b/.github/workflows/pull-request-opt-in-check.yml index 0d5774b..d27c172 100644 --- a/.github/workflows/pull-request-opt-in-check.yml +++ b/.github/workflows/pull-request-opt-in-check.yml @@ -24,7 +24,7 @@ jobs: run: | FILES="${{ steps.getfile.outputs.files }}" for domain in $FILES; do - NODEINFO=$(curl -L "http://${domain}/nodeinfo/2.0" | jq -r '.["metadata"] | .["optInServerRecommendation"]'|| echo "000") + NODEINFO=$(curl -L "http://some.server/nodeinfo/2.0" | jq -r '.["metadata"] | .["optInServerRecommendation"]'|| echo "000") if [[ "$NODEINFO" == 'true' ]]; then echo "$domain exposes optInServerRecommendation: $NODEINFO" From 13cda717be1850f422dfa46d5f5f4ecf7f44b188 Mon Sep 17 00:00:00 2001 From: Pia B Date: Tue, 6 Oct 2026 11:21:31 +0200 Subject: [PATCH 6/8] undo last change --- .github/workflows/pull-request-opt-in-check.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/pull-request-opt-in-check.yml b/.github/workflows/pull-request-opt-in-check.yml index d27c172..0d5774b 100644 --- a/.github/workflows/pull-request-opt-in-check.yml +++ b/.github/workflows/pull-request-opt-in-check.yml @@ -24,7 +24,7 @@ jobs: run: | FILES="${{ steps.getfile.outputs.files }}" for domain in $FILES; do - NODEINFO=$(curl -L "http://some.server/nodeinfo/2.0" | jq -r '.["metadata"] | .["optInServerRecommendation"]'|| echo "000") + NODEINFO=$(curl -L "http://${domain}/nodeinfo/2.0" | jq -r '.["metadata"] | .["optInServerRecommendation"]'|| echo "000") if [[ "$NODEINFO" == 'true' ]]; then echo "$domain exposes optInServerRecommendation: $NODEINFO" From bd2860f4d862e8ec29e39da541141f83ddd11df0 Mon Sep 17 00:00:00 2001 From: Pia B Date: Tue, 6 Oct 2026 11:22:15 +0200 Subject: [PATCH 7/8] set trigger condition --- .github/workflows/pull-request-opt-in-check.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/pull-request-opt-in-check.yml b/.github/workflows/pull-request-opt-in-check.yml index 0d5774b..a3fe367 100644 --- a/.github/workflows/pull-request-opt-in-check.yml +++ b/.github/workflows/pull-request-opt-in-check.yml @@ -2,8 +2,8 @@ name: Opt-in check on: push: - # paths: - # - 'default_servers/*' + paths: + - 'default_servers/*' jobs: Schema-validation: From e0d1b257213f3bc78fc6ba1749006b1a08cb98ce Mon Sep 17 00:00:00 2001 From: Pia B Date: Wed, 7 Oct 2026 13:53:09 +0200 Subject: [PATCH 8/8] remove test file again --- default_servers/mastodon.social.yaml | 2 -- 1 file changed, 2 deletions(-) delete mode 100644 default_servers/mastodon.social.yaml diff --git a/default_servers/mastodon.social.yaml b/default_servers/mastodon.social.yaml deleted file mode 100644 index cc591a3..0000000 --- a/default_servers/mastodon.social.yaml +++ /dev/null @@ -1,2 +0,0 @@ ---- -weight: 100