Skip to content

Allow empty Alt text, config management init, & automated config imports#187

Draft
Infi-Knight wants to merge 10 commits intomainfrom
ravi/intorg-70
Draft

Allow empty Alt text, config management init, & automated config imports#187
Infi-Knight wants to merge 10 commits intomainfrom
ravi/intorg-70

Conversation

@Infi-Knight
Copy link
Copy Markdown
Contributor

@Infi-Knight Infi-Knight commented Jan 15, 2026

PR Checklist

  • Linked issue added (e.g., Fixes #123)
  • If styles were updated:
    • Stylesheet version has been bumped

Summary

This PR achieves three key infrastructure and accessibility goals:

  1. Accessibility: Allows decorative images to have empty alt text (alt="").
  2. Infrastructure: Initializes the project's Configuration Management system by establishing a baseline synced from Production.
  3. Automation: Automates configuration updates (config:import) during deployment

Changes

  1. Automated Deployment Workflow (New)
sequenceDiagram
    participant GH as GitHub Actions
    participant Staging as Staging Server
    participant DB as Drupal DB

    Note over GH, DB: OLD WORKFLOW
    GH->>Staging: rsync code
    Note right of GH: 🛑 Deployment "Complete"
    Note right of Staging: Config NOT applied
    User->>Staging: SSH & run manual import
    Staging->>DB: Update Config & Schema

    Note over GH, DB: NEW WORKFLOW
    GH->>Staging: rsync code
    GH->>Staging: execute cleanup.sh
    rect rgb(200, 255, 200)
        Note right of Staging: ✅ Automatic Steps
        Staging->>DB: drush config:import -y
        Staging->>DB: drush cr
    end
Loading
  1. Accessibility Updates
    field.field.media.image.field_media_image
    field.field.media.svg.field_media_svg
    Change: alt_field_required` set to false.

  2. Documentation
    Added ci/CONFIG_MANAGEMENT.md: Guide for the team on how to make config changes using the UI/Drush and safe export/import procedures.

4. Reviewer Guide

Files to Ignore: You can safely IGNORE the ~1000 files in config/. These are auto-generated exports representing the current state of Production. We are committing them to establish a "Clean Baseline" so future PRs only show specific diffs.

Please focus your review on:

  1. ci/deploy/staging/cleanup.sh: Automation logic added.
  2. ci/deploy/production/cleanup.sh: Automation logic added.
  3. config/field.field.media.image.field_media_image.yml: Verified change to alt_field_required: false.
  4. ci/CONFIG_MANAGEMENT.md: New team documentation.

Verification
This has been verified on Staging using the "Break-Fix" method:

Baseline: Manually reverted Staging to require alt text.
Test: Deployed this branch via make deploy.
Result: The deployment script automatically ran config:import, and the site updated to allow empty alt text without any manual SSH intervention.

@Infi-Knight Infi-Knight self-assigned this Jan 15, 2026
@Infi-Knight Infi-Knight added the enhancement New feature or request label Jan 15, 2026
@Infi-Knight Infi-Knight added the documentation Improvements or additions to documentation label Jan 15, 2026
@Infi-Knight Infi-Knight changed the title Allow empty alt text for decorative images Allow Empty Alt Text, Config Management Init, & Automated Deployment Jan 15, 2026
@Infi-Knight Infi-Knight changed the title Allow Empty Alt Text, Config Management Init, & Automated Deployment Allow Empty Alt Text, Config Management Init, & Automated Config Deployment Jan 15, 2026
@Infi-Knight Infi-Knight changed the title Allow Empty Alt Text, Config Management Init, & Automated Config Deployment Allow empty Alt text, config management init, & automated config imports Jan 15, 2026
@Infi-Knight Infi-Knight marked this pull request as ready for review January 15, 2026 12:54
@bosbaber bosbaber requested a review from Copilot January 15, 2026 14:12
Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR establishes the infrastructure for Configuration Management and improves accessibility by allowing empty alt text for decorative images. It creates a synchronized configuration baseline from Production and automates the deployment workflow to eliminate manual intervention.

Changes:

  • Automated deployment workflow now includes drush config:import and cache rebuild
  • Accessibility improvement: decorative images can have empty alt text (alt="")
  • Configuration Management baseline established with ~1000 auto-exported config files
  • Added team documentation for safe config management workflows

Reviewed changes

Copilot reviewed 300 out of 1104 changed files in this pull request and generated no comments.

File Description
config/*.yml Auto-exported baseline configuration from Production (can be ignored per PR description)
ci/deploy/staging/cleanup.sh Added automated config import and cache rebuild
ci/deploy/production/cleanup.sh Added automated config import and cache rebuild
ci/CONFIG_MANAGEMENT.md New documentation for config management workflows

@Infi-Knight
Copy link
Copy Markdown
Contributor Author

moving back to draft, some content types seem to be missing from staging but are in prod. need to verify where the drift is coming from

@Infi-Knight Infi-Knight marked this pull request as draft January 16, 2026 13:39
Comment thread ci/CONFIG_MANAGEMENT.md
3. Commit the changed YAML files to git.
4. Deploy to Staging/Production.
5. **Deployment:** The deployment process (via GitHub Actions or `make deploy`) now **automatically** runs:
- `drush config:import -y` (Configuration import)
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Is it possible that this process is configured to import configuration changes only into the staging/production databases, and not into the local database?
If that is true, we need a way to import `/config' pulled from the PR into the local Db

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

most likely this was the reason, I have updated the local config path so it should not pick up the tracked config

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

documentation Improvements or additions to documentation enhancement New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants