Skip to content

Instantly share code, notes, and snippets.

@rfay
Last active September 5, 2025 21:00
Show Gist options
  • Select an option

  • Save rfay/c1c6f31231c5411d44a899feaa2fec56 to your computer and use it in GitHub Desktop.

Select an option

Save rfay/c1c6f31231c5411d44a899feaa2fec56 to your computer and use it in GitHub Desktop.
Try getting ddev add-ons with dependency get

DDEV Add-on Test Report

Date: Fri Sep 5 14:43:25 MDT 2025
Directory: /Users/rfay/workspace/d11
Git HEAD: 060a2d2d
Total Add-ons: 159

Results

# Add-on GET REMOVE Clean Notes
1 2ndkauboy/ddev-elasticvue OK
2 a11ywatch/ddev-a11ywatch OK
3 andy-blum/ddev-websocket OK
4 anotherjames/ddev-1password OK
5 atj4me/ddev-tailscale-router OK
6 b13/ddev-keycloak OK
7 b13/ddev-stirling-pdf OK
8 backdrop-ops/ddev-backdrop-bee wrong-project-type;no-manifest
9 barbieswimcrew/ddev-imgproxy OK
10 biati-digital/ddev-wp-rename-tables-prefix OK
11 blankse/ddev-pdfreactor OK
12 bricebou/ddev-manticoresearch OK
13 bserem/ddev-selenium-standalone-firefox install-failed;no-manifest
14 carsten-walther/ddev-typo3-solr install-failed;no-manifest
15 ChromaticHQ/ddev-dblog OK
16 chx/ddev-kafka OK
17 ckng/ddev-directus-postgres dep-format-error;no-manifest
18 codemonauts/ddev-s3-http-proxy OK
19 codingsasi/ddev-playwright OK
20 d34dman/ddev-notification-server dep-format-error;no-manifest
21 ddev/ddev-adminer OK
22 ddev/ddev-browsersync OK
23 ddev/ddev-cron OK
24 ddev/ddev-drupal-contrib OK
25 ddev/ddev-drupal-solr OK
26 ddev/ddev-elasticsearch OK
27 ddev/ddev-ibexa-cloud OK
28 ddev/ddev-ioncube OK
29 ddev/ddev-memcached OK
30 ddev/ddev-minio OK
31 ddev/ddev-mongo OK
32 ddev/ddev-opensearch OK
33 ddev/ddev-phpmyadmin OK
34 ddev/ddev-platformsh install-failed;no-manifest
35 ddev/ddev-rabbitmq OK
36 ddev/ddev-redis-commander OK
37 ddev/ddev-redis OK
38 ddev/ddev-selenium-standalone-chrome OK
39 ddev/ddev-solr OK
40 ddev/ddev-sqlsrv OK
41 ddev/ddev-typo3-solr OK
42 ddev/ddev-varnish OK
43 DiffyWebsite/ddev-diffy OK
44 dmytriikaiun/ddev-newrelic OK
45 drupal-xb/ddev-drupal-xb-dev OK
46 eakcize/ddev-timescaledb-with-mongo-and-mysql-fdw OK
47 eakcize/ddev-timescaledb OK
48 echavaillaz/ddev-gotenberg OK
49 envsa/ddev-pnpm OK
50 feuertelegraph/ddev-firebird OK
51 FreelyGive/ddev-claude-code OK
52 FreelyGive/ddev-dotnet OK
53 froboy/ddev-tsh dep-format-error;no-manifest
54 fullfatthings/ddev-spx OK
55 fwust/ddev-clamav OK
56 gebruederheitz/ddev-headless-chrome OK
57 gebruederheitz/ddev-taskfile OK
58 GetDKAN/ddev-dkan OK
59 gschrisstadler/ddev-snowflake-odbc install-failed;no-manifest
60 haase-fabian/ddev-neos OK
61 hanoii/ddev-pimp-my-shell OK
62 hanoii/ddev-readme OK
63 hanoii/ddev-sshd OK
64 happiness/ddev-seq OK
65 iamntz/ddev-rename-project OK
66 iljapolanskis/ddev-buggregator OK
67 iljapolanskis/ddev-sftp OK
68 jackd248/ddev-openapi-mock OK
69 jackd248/ddev-typo3-multi-version-extension install-failed;no-manifest
70 JanoPL/ddev-kibana dep-format-error;no-manifest
71 javivf/ddev-keycloak install-failed;no-manifest
72 julienloizelet/ddev-playwright OK
73 julienloizelet/ddev-portainer OK
74 justafish/ddev-drupal-core-dev OK
75 kanopi/ddev-kanopi-pantheon-drupal OK
76 kanopi/ddev-kanopi-wp OK
77 kevinquillen/ddev-infiniflow OK
78 kevinquillen/ddev-meilisearch OK
79 kevinquillen/ddev-typesense OK
80 kwasib/ddev-keydb OK
81 lemachinarbo/ddev-dewire OK
82 lpeabody/ddev-ai OK
83 lpeabody/ddev-drupal-multisite-databases OK
84 lpeabody/ddev-drupal-multisite-hostnames OK
85 Lullabot/ddev-playwright OK
86 lussoluca/ddev-drupal-suite OK
87 lussoluca/ddev-typesense OK
88 machine-rc/ddev-dotnet OK
89 machine-rc/ddev-frontend-nextjs OK
90 machine-rc/ddev-graphql OK
91 machine-rc/ddev-python OK
92 madebydaniz/ddev-orthanc OK
93 meevagmbh/ddev-addon-mindsdb OK
94 MelaineGerard/ddev-directus OK
95 Metadrop/ddev-aljibe OK
96 Metadrop/ddev-backstopjs OK
97 Metadrop/ddev-lighthouse OK
98 Metadrop/ddev-mkdocs OK
99 Metadrop/ddev-newman OK
100 Metadrop/ddev-pa11y OK
101 Metadrop/ddev-selenium-video dep-format-error;no-manifest
102 Metadrop/ddev-selenium OK
103 Metadrop/ddev-unlighthouse OK
104 mmunz/ddev-backstopjs OK
105 MrKistic/ddev-beanstalkd OK
106 MurzNN/ddev-grafana OK
107 MurzNN/ddev-kubernetes OK
108 MurzNN/ddev-pgadmin OK
109 netz98/ddev-n8n OK
110 netz98/ddev-qdrant OK
111 ochorocho/ddev-frankenphp OK
112 OpenForgeProject/ddev-bun OK
113 OpenForgeProject/ddev-gum OK
114 OpenForgeProject/ddev-woodoo-buildtools-magento OK
115 opixido/ddev-addon-phploy install-failed;no-manifest
116 patbsh/ddev-laravel-nextjs OK
117 penyaskito/ddev-authentik OK
118 penyaskito/ddev-hugo OK
119 reloxx13/ddev-swagger-ui OK
120 rfay/ddev-drushonhost OK
121 rfay/ddev-php-patch-build OK
122 Rindula/ddev-mercure OK
123 robertoperuzzo/ddev-pgvector OK
124 robertoperuzzo/ddev-unstructured OK
125 rpkoller/ddev-spidergram OK
126 s2b/ddev-vite-sidecar OK
127 skeemer/ddev-wkhtmltox OK
128 ssmarco/ddev-apache-tika OK
129 ssmarco/ddev-enterprise-search OK
130 stasadev/ddev-frankenphp install-failed;no-manifest
131 stasadev/ddev-mydumper OK
132 stasadev/ddev-python2 OK
133 stasadev/ddev-redis-insight OK
134 stinis87/ddev-ollama OK
135 T14D3/ddev-rapunzelutils install-failed;no-manifest
136 tag1consulting/ddev-gander OK
137 Tapkaros-rs/ddev-stripe install-failed;no-manifest
138 thunder/ddev-selenium-chrome OK
139 thursdaybw/ddev-tightvnc OK
140 torhoehn/ddev-typesense OK
141 tyler36/ddev-cypress OK
142 tyler36/ddev-dbslow OK
143 tyler36/ddev-gitpod-setup OK
144 tyler36/ddev-laravel-queue OK
145 tyler36/ddev-locale OK
146 tyler36/ddev-make OK
147 tyler36/ddev-netdata OK
148 tyler36/ddev-ollama OK
149 tyler36/ddev-openai-edge-tts OK
150 tyler36/ddev-php-dumper OK
151 tyler36/ddev-qr OK
152 tyler36/ddev-storybook OK
153 tyler36/ddev-tinker OK
154 tyler36/ddev-vite OK
155 tyler36/ddev-vitest OK
156 tyler36/ddev-vscode-devcontainer OK
157 valicm/ddev-dynamodb OK
158 vinugawade/ddev-civicrm-cli-tools OK
159 weitzman/ddev-mtk OK

Summary

  • Total Tested: 159
  • Successful GET: 154
  • Failed GET: 60
  • Dependency Format Errors: 5
  • Dependency Install Failures: 0 0
  • Wrong Project Type: 1
  • Completed: Fri Sep 5 14:57:56 MDT 2025

Dependency Issues

These add-ons had dependency-related problems that may be related to the new dependency installation feature:

  • ckng/ddev-directus-postgres
  • d34dman/ddev-notification-server
  • froboy/ddev-tsh
  • JanoPL/ddev-kibana
  • Metadrop/ddev-selenium-video
#!/bin/bash
# Final DDEV add-on testing script
# Only exit on undefined variables, not on command failures
set -u
# Configuration
TEST_DIR="${HOME}/workspace/d11"
ADDONS_JSON_URL="https://addons.ddev.com/addons.json"
REPORT="${HOME}/tmp/addon-test-$(date +%Y%m%d-%H%M%S).md"
echo "DDEV Add-on Testing Script"
echo "=========================="
# Change to test directory
if [ ! -d "$TEST_DIR" ]; then
echo "ERROR: Test directory does not exist: $TEST_DIR"
exit 1
fi
cd "$TEST_DIR" || exit 1
echo "Changed to: $(pwd)"
# Check prerequisites
if [ -z "${DDEV_GITHUB_TOKEN:-}" ]; then
echo "ERROR: DDEV_GITHUB_TOKEN is not set"
exit 1
fi
for cmd in curl jq git ddev; do
if ! command -v "$cmd" >/dev/null 2>&1; then
echo "ERROR: $cmd not found"
exit 1
fi
done
if ! git rev-parse --is-inside-work-tree >/dev/null 2>&1; then
echo "ERROR: Not in a git repository"
exit 1
fi
if ! ddev describe >/dev/null 2>&1; then
echo "ERROR: Not a DDEV project"
exit 1
fi
# Check git status is clean
if [ -n "$(git status --porcelain)" ]; then
echo "ERROR: Git working tree is not clean"
git status --porcelain
exit 1
fi
echo "All prerequisites met"
echo "Report will be written to: $REPORT"
# Fetch add-on list
echo "Fetching add-on list..."
if ! ADDON_JSON=$(curl -fsSL "$ADDONS_JSON_URL"); then
echo "ERROR: Failed to fetch add-on data"
exit 1
fi
# Create temp file for add-on titles
TEMP_TITLES=$(mktemp)
if ! echo "$ADDON_JSON" | jq -r '.[].title' > "$TEMP_TITLES"; then
echo "ERROR: Failed to parse JSON"
rm -f "$TEMP_TITLES"
exit 1
fi
TOTAL_ADDONS=$(wc -l < "$TEMP_TITLES")
echo "Found $TOTAL_ADDONS add-ons to test"
# Initialize report
cat > "$REPORT" << EOF
# DDEV Add-on Test Report
**Date:** $(date)
**Directory:** $(pwd)
**Git HEAD:** $(git rev-parse --short HEAD)
**Total Add-ons:** $TOTAL_ADDONS
## Results
| # | Add-on | GET | REMOVE | Clean | Notes |
|---|--------|-----|--------|-------|-------|
EOF
# Set environment
export NO_COLOR=1
export DDEV_NONINTERACTIVE=true
# Process each add-on
count=0
echo "Processing add-ons..."
# Use exec to avoid potential issues with while loops in subshells
exec 3< "$TEMP_TITLES"
while IFS= read -r addon <&3; do
count=$((count + 1))
echo "[$count/$TOTAL_ADDONS] Testing: $addon"
# Test GET with detailed error capture
echo " GET: $addon"
get_output=$(env DDEV_GITHUB_TOKEN="$DDEV_GITHUB_TOKEN" ddev add-on get "$addon" 2>&1)
get_rc=$?
notes=""
if [ $get_rc -eq 0 ]; then
get_status="✅"
else
get_status="❌"
# Check for specific dependency issues
if echo "$get_output" | grep -q "unsupported dependency format"; then
notes="dep-format-error"
elif echo "$get_output" | grep -q "failed to install dependency"; then
notes="dep-install-failed"
elif echo "$get_output" | grep -q "Failed to install dependencies"; then
notes="deps-failed"
elif echo "$get_output" | grep -q "only available for projects with.*type"; then
notes="wrong-project-type"
else
notes="install-failed"
fi
fi
# Test REMOVE
echo " REMOVE: $addon"
rm_output=$(env DDEV_GITHUB_TOKEN="$DDEV_GITHUB_TOKEN" ddev add-on remove "$addon" 2>&1)
rm_rc=$?
if [ $rm_rc -eq 0 ]; then
rm_status="✅"
else
rm_status="❌"
if echo "$rm_output" | grep -q "does not seem to have a manifest"; then
notes="${notes:+$notes;}no-manifest"
else
notes="${notes:+$notes;}rm-failed"
fi
fi
# Check if git is clean
if [ -z "$(git status --porcelain)" ]; then
clean_status="✅"
else
clean_status="❌"
# Auto-clean
git reset --hard >/dev/null 2>&1
git clean -fd >/dev/null 2>&1
fi
# Write to report
printf "| %d | %s | %s | %s | %s | %s |\n" "$count" "$addon" "$get_status" "$rm_status" "$clean_status" "${notes:-OK}" >> "$REPORT"
done
exec 3<&-
# Clean up temp file
rm -f "$TEMP_TITLES"
# Finalize report
cat >> "$REPORT" << EOF
## Summary
- **Total Tested:** $count
- **Successful GET:** $(grep -c '| ✅ |' "$REPORT" 2>/dev/null || echo "0")
- **Failed GET:** $(grep -c '| ❌ |' "$REPORT" 2>/dev/null || echo "0")
- **Dependency Format Errors:** $(grep -c 'dep-format-error' "$REPORT" 2>/dev/null || echo "0")
- **Dependency Install Failures:** $(grep -c 'dep-install-failed\|deps-failed' "$REPORT" 2>/dev/null || echo "0")
- **Wrong Project Type:** $(grep -c 'wrong-project-type' "$REPORT" 2>/dev/null || echo "0")
- **Completed:** $(date)
## Dependency Issues
These add-ons had dependency-related problems that may be related to the new dependency installation feature:
$(grep 'dep-format-error\|dep-install-failed\|deps-failed' "$REPORT" | cut -d'|' -f3 | sed 's/^[[:space:]]*/- /' || echo "None found")
EOF
echo ""
echo "Testing completed!"
echo "Tested $count add-ons"
echo "Report: $REPORT"
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment