-
Notifications
You must be signed in to change notification settings - Fork 13
feat: expand self-healing pipeline to any failed pipelines due to codestyles #4777
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
Conversation
Co-authored-by: mfranzke <787658+mfranzke@users.noreply.github.com>
…tation Co-authored-by: mfranzke <787658+mfranzke@users.noreply.github.com>
|
| runs-on: ubuntu-24.04 # Use Ubuntu 24.04 explicitly | ||
| permissions: | ||
| contents: write | ||
| pull-requests: write |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
| pull-requests: write |
I think we don’t need pull-requests: write here because the job doesn't modifiy PR metadata.
This PR expands the self-healing pipeline capability from dependabot-only PRs to any PR with codestyle issues, automatically detecting and fixing common formatting problems that cause pipeline failures.
Problem
When developers edit files directly in the GitHub UI (which doesn't run prettier on save or pre-commit hooks), the pipeline often fails due to codestyle violations. Previously, only dependabot PRs had self-healing capabilities, leaving manual PRs to fail and require manual intervention.
Solution
New Self-Healing Lint Workflow
Created
01-lint-self-healing.ymlthat replaces the basic lint workflow with intelligent auto-fixing:--fixflags on supported linters:xo --fix(JavaScript/TypeScript formatting via prettier)stylelint --fix(CSS/SCSS formatting)markdownlint --fix(Markdown formatting)Smart Behavior Matrix
Integration
default.ymlto use the new self-healing lint workflowAuto-Fixable vs Non-Fixable Issues
✅ Auto-fixable (formatting issues):
❌ Non-fixable (structural issues that correctly fail):
Testing
Validated with comprehensive tests:
This implementation solves the original problem of pipelines failing due to GitHub UI edits while maintaining code quality standards and appropriate failure modes for issues requiring human intervention.
Fixes #4562.
Warning
Firewall rules blocked me from connecting to one or more addresses (expand for details)
I tried to connect to the following addresses, but was blocked by firewall rules:
googlechromelabs.github.ionode install.js(dns block)If you need me to access, download, or install something from one of these locations, you can either:
💡 You can make Copilot smarter by setting up custom instructions, customizing its development environment and configuring Model Context Protocol (MCP) servers. Learn more Copilot coding agent tips in the docs.
🔭🐙🐈 Test this branch here: https://design-system.deutschebahn.com/core-web/review/copilot/fix-4562