Test Overhaul#818
Draft
Schmarvinius wants to merge 2 commits intopipeline-overhaulfrom
Draft
Conversation
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.
CI/CD and Integration Test Overhaul: CF Bind-Based Service Binding
Refactor
♻️ This PR replaces environment-variable-based and mock-based service credential injection with real Cloud Foundry service bindings via
cds bind. Integration tests now discover real service bindings fromVCAP_SERVICESusingDefaultServiceBindingAccessor, and CI workflows use CF login +npx cds bindfor hybrid testing. Mutation testing (Pitest) has also been removed from the build pipeline.Changes
GitHub Actions & Workflows
.github/actions/cf-bind/action.yml(new): Composite action that installs CF CLI, logs in to Cloud Foundry, and bindsobjectstoreandmalware-scannerservices vianpx cds bindfor hybrid test execution..github/actions/scan-with-codeql/action.yml(new): Extracted CodeQL analysis into a standalone reusable action..github/actions/integration-tests/action.yml: Removedtest-typeinput and direct Maven invocations; tests now run vianpx cds bind --exec -- mvn ...fromintegration-tests/mtx-localworking directory..github/actions/build/action.yml: Removedmutation-testinginput and Pitest step; build now runsmvn clean install -DskipTests..github/actions/scan-with-sonar/action.yml: ReplacedSAP/project-piper-actionwith directmvn sonar-maven-plugin:sonarinvocation..github/actions/scan-with-blackduck/action.yml: Replaced Piper-based BlackDuck scan with directdetect.shinvocation; renamed step toGet Revision..github/workflows/pipeline.yml: Replacedbuildjob (with matrix) +deploy-snapshotwith aspotlesscheck job; integration-tests matrix now usesauth-method×hyperscalerinstead oftest-type; added CF bind step to bothintegration-testsandsonarqube-scanjobs; extracted CodeQL into reusable action; removed deploy-snapshot job..github/workflows/main.yml,pr.yml,release.yml: Added top-levelpermissionsblocks; pinned all action references to commit SHAs; removeddeploy-snapshotinput from workflow calls..github/workflows/issue.yml,prevent-issue-labeling.yml,stale.yml: Moved permissions to job level (permissions: {}at workflow level); pinned action SHAs..github/dependabot.yml: Addedcooldown.default-days: 7for both Maven and GitHub Actions ecosystems; removed version ignore rule forcom.sap.cds:*.Integration Tests (Java)
AWSClientIT,AzureClientIT,GoogleClientIT: Replaced environment variable + Mockito mock pattern withDefaultServiceBindingAccessorto discover realobjectstorebindings fromVCAP_SERVICES.AwsMtxOssStorageTest,AzureMtxOssStorageTest,GcpMtxOssStorageTest: Same refactor — now read bindings fromVCAP_SERVICESinstead of env vars.MalwareScanClientIT: Readsmalware-scannerbinding fromVCAP_SERVICES; removednormalizePemhelper and Mockito mocks.Build Configuration
cds-feature-attachments/pom.xml: Removed the entirepitest-mavenplugin configuration and its dependencies.pom.xml: Removed Pitest plugin version management; consolidatedcds.services.versionandcds.cdsdk.versionproperties (removed separate build/latest-test split)..pipeline/config.yml: Removed (Piper pipeline config no longer needed).Documentation
CLAUDE.md,doc/Design.md: Removed all references to mutation testing; updated workflow descriptions to reflect the new CF bind-based integration test approach.PR Bot Information
Version:
1.20.3742dd0e65-2635-4e80-8e20-bb0d7f442acdanthropic--claude-4.6-sonnetpull_request.opened