Welcome to the beta experience of the SailPoint community. Pardon our dust! Learn more
I would advise to adjust your development process to where builds occur every time code is submitted to the codebase. In our case using Azure DevOps, every pull requests requires build validation where the code check and XML syntax check is performed on the entire codebase with every submission. That way you catch the error at the file level before you submit that change to the codebase.
So doing full build on every pull request would cause issues for us. We also are in DevOps
We have it setup on our Azure Pipeline where pull request branches (not dev/test/master) do not trigger a deployment to the servers. On the build agents, it pulls the repo and does the Apache Ant builder step and reports if errors were found to tell the developer to go fix it before merging into codebase.
From personal experience, I strongly advise skipping files that are errored. It is very easy to forget these kinds of settings 6 months down the road. We had a problem where someone circumvented the build process and did a “quick fix”. The import step silently failed and we weren’t importing half of our codebase because that error was silently popping up stopping the import and our ADO pipeline was still giving green lights.
You are referring to sandbox when you say PR branch? When you say build agents you are referring the azaagent on the server? Can you gIve me more detail on Apache Ant builder? The SSB process is the one that perform that correct? You are saying that it perform this step without the SSb build?
We run a “Build and Scan” stage. Here is the task that performs the Ant Builder and has XML validation built in. Because the artifact is built on a separate devops build agent server, there is no issue for us running this on-demand during a PR scenario where the “sandbox” build is checked with the developer’s new branch before being merged into the codebase
Azure Pipeline step
- task: Ant@1
inputs:
buildFile: '$(Build.SourcesDirectory)/build.xml'
targets: '$(BuildConfiguration)'
publishJUnitResults: false
testResultsFiles: '**/TEST-*.xml'
javaHomeOption: 'JDKVersion'
displayName: Build SailPoint using Ant