Contribution Date
Contribution Project
Contribution Details
Refactor: consolidate workflow, dynamic SQLite permission fix
This commit consolidates the Docker build and test workflow into a single file (`docker-buildx.yml`), ensuring images are tested before being pushed. It also implements a robust solution for Drupal SQLite installation permissions.
Key changes:
- **Workflow Consolidation:**
- `docker-buildx.yml`: Merged logic from `test-drupal.yml`. Uses `load: true` for testing and `push: true` on success.
- `test-drupal.yml`: Deleted.
- **Robust Drupal Installation (`tests/install-drupal.sh`):**
- Accepts explicit version constraints (`^10`, `^11`) to prevent PHP/Drupal version mismatches.
- Corrected SQLite connection string to remove `localhost` (`sqlite://sites/default/files/.ht.sqlite`).
- **Dynamic Permission Fix:** Parses `drush status --format=json` to find the exact location of the SQLite database and `chmod 777` its directory, ensuring the web server can write to it during tests.
- **Improved Verification (`tests/verify-drupal.sh`):**
- Updated debugging logic to dynamically find the SQLite database via Drush and log its specific permissions, rather than listing generic directories.
- **Image Compatibility (`php8/apache-bookworm/Dockerfile`):**
- Added `SQLITE_ENABLE_COLUMN_METADATA=1` to support Drupal requirements.
Co-authored-by: hussainweb <1040271+hussainweb@users.noreply.github.com>
Contribution Issue Link
Files count
0
Patches count
1