Skip to content

Conversation

@stasadev
Copy link
Member

@stasadev stasadev commented Nov 19, 2025

The Issue

How This PR Solves The Issue

Add comprehensive checks to ensure add-on quality standards:

  • Validate all files end with trailing newline (POSIX compliance)
  • Check workflows have at least 2 paths-ignore: configurations
  • Require ddev_version_constraint >= v1.24.10
  • Detect #ddev-nodisplay tag usage in install.yaml
  • Check for required environment variables (GITHUB_ENV, DDEV_NONINTERACTIVE, DDEV_NO_INSTRUMENTATION) in tests/test.bats
  • Verify GITHUB_REPO is defined in tests/test.bats
  • Ensure bats_load_library is used for proper test setup in tests/test.bats
  • Only validate detailed requirements if tests/test.bats exists
  • Allow alternative test file names (e.g., tests/drupal11-unified.bats)
  • Add info_messages array for non-error notifications
  • Display INFO messages with consistent bullet format
  • Show informational message when using non-standard test files

The version constraint check now uses semantic version comparison instead of regex patterns, properly handling all version formats including edge cases like v1.1.1, v1.24.11, v2.0.0, etc.

Removed pipefail to prevent script from failing when grep finds no matches in normal validation scenarios.

🤖 Generated with Claude Code

Manual Testing Instructions

Run this in some add-on directory:

curl -fsSL https://raw.githubusercontent.com/ddev/ddev-addon-template/refs/heads/20251119_stasadev_update_checker/.github/scripts/update-checker.sh | bash

Automated Testing Overview

Release/Deployment Notes

stasadev and others added 6 commits November 19, 2025 12:25
Add comprehensive checks to ensure add-on quality standards:
- Validate all files end with trailing newline (POSIX compliance)
- Check workflows have at least 2 paths-ignore configurations
- Require ddev_version_constraint >= v1.24.10
- Detect #ddev-nodisplay tag usage in install.yaml

The version constraint check now uses semantic version comparison
instead of regex patterns, properly handling all version formats
including edge cases like v1.1.1, v1.24.11, v2.0.0, etc.

Removed pipefail to prevent script from failing when grep finds no
matches in normal validation scenarios.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
Enhance validation to ensure test files follow best practices:
- Check for required environment variables (GITHUB_ENV, DDEV_NONINTERACTIVE, DDEV_NO_INSTRUMENTATION)
- Verify GITHUB_REPO is defined
- Ensure bats_load_library is used for proper test setup

Add file formatting validation:
- Detect whitespace-only lines (lines with only spaces/tabs)
- Rename check_trailing_newline to check_file_formatting for clarity

These checks help maintain consistent test quality and file formatting
across DDEV add-ons.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
Test data files may intentionally contain non-standard formatting
for testing purposes, so they should be excluded from validation.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
Changes:
- Only validate detailed requirements if tests/test.bats exists
- Allow alternative test file names (e.g., tests/drupal11-unified.bats)
- Add info_messages array for non-error notifications
- Display INFO messages with consistent bullet format
- Show informational message when using non-standard test files

This makes the checker more flexible for projects with custom test
file structures while maintaining strict validation for the standard
test.bats file.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
Define minimum DDEV version (1.24.10) as local variables in the
check_install_yaml function instead of hardcoding it multiple times.
This makes it easier to update the minimum version requirement in
the future by changing values in one place.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
@stasadev stasadev merged commit e8de25b into main Nov 19, 2025
2 checks passed
@stasadev stasadev deleted the 20251119_stasadev_update_checker branch November 19, 2025 11:22
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

update-checker.sh impromevents

2 participants