Feat: Workflow integration CI/CD pipeline - #1692
Merged
analisopendesa merged 3 commits intoJul 29, 2026
Merged
Conversation
Contributor
|
🔄 AI PR Review sedang antri di server...
|
This was referenced Jul 29, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Pull Request: Feat: Workflow integration CI/CD pipeline
Description
Add a comprehensive CI/CD integration pipeline with GitHub Actions for automated testing, coverage gating, and code quality enforcement. This includes unit tests, integration tests, contract tests, e2e tests, a coverage threshold gate, flaky test detection, and Laravel Pint configuration. The lint job is temporarily disabled to unblock the pipeline while style issues are addressed separately.
Changes made:
.github/workflows/integration-regression.yml— GitHub Actions workflow with jobs for lint (disabled), unit tests (with coverage), integration tests (with coverage), contract tests, e2e tests (gated), and coverage gate validationbin/check-coverage.php— CLI tool to enforce minimum coverage threshold and maximum allowed coverage drop from previous runsbin/detect-flaky-tests.php— Script to analyze JUnit XML reports for flaky, slow, or zero-duration testspint.json— Laravel Pint configuration for enforcing PHP code style standardsphpunit.xml— Added Contract test suite and trailing whitespace cleanuptests/Feature/Auth/AuthorizationTest.php— Removed obsoletekontributor-artikelrole testtests/TestCase.php— Improved Profil seeding to handle existing records gracefullyReason for change:
Impact of change:
Related Issue
#1676
Steps to Reproduce
Before (no CI/CD):
After (CI/CD pipeline):
Checklist
Technical Details
Technical Explanation
The CI/CD pipeline is organized as a DAG with the following stages:
bin/check-coverage.php) validates min threshold (30%) and max allowable drop (2%)bin/detect-flaky-tests.phpanalyzes JUnit XML for unstable testsConfiguration changes
phpunit.xml— Added Contract test suitepint.json— New Laravel Pint configuration for code styleDependencies added
No new dependencies
Testing
Manual Testing
Automated Testing
Breaking Changes
None
Migration Guide
Not required
References
Additional notes: The lint job is currently commented out. It should be re-enabled in a follow-up PR once existing style issues are resolved across the codebase.