spring-projects / spring-projects/spring-ldap
Simplify Running on Internal CI
Nobody has claimed this yet.
- Dominant language
- Java
- Stars
- 375
- Forks
- 501
- Avg merge
- 6h 4m
- Merged PRs (30d)
- 63
Description
Spring LDAP today runs in two different CI environments, the public one in this repo and a private one. The private CI is what enables Spring LDAP to stage its release with CVE fixes and then be published together with the rest of the portfolio at once.
There are some differences between the way Spring LDAP is configured for the private and public CIs, and it would be nice to remove those differences.
- Align Dependabot configuration
Internally, we need to use on: pull_request_target in order to access certain secrets for Dependabot PRs to work. We don't want to use on: pull_request_target in OSS.
It would be nice to find a way to configure LDAP's PR workflows so that they work internally without changes.
- Align
deploySchemaconfiguration
Schema deployment is done after the staged release and so it is removed from the ci.yml workflow for internal branches. Instead, we can change the workflow to conditionally deploy the schema.
- Align
runs-onconfiguration
The private CI uses its own runners, which requires the workflows to be changed accordingly. Instead, we can use a variable or a conditional to choose which runner to use based on the environmental conditions.
- Add release train workflows
Even though the release train workflows only work for the private CI, having them here will make so that there isn't an additional commit in the commit history whenever a release branch is cut.
- Align secrets configuration
The set of secrets is different for each CI and they are also named differently. Perhaps we can use a condition to check which secret to use.
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by reviewing the existing PR workflows and ci.yml, then compare their public and private CI differences. Determine how Dependabot, deploySchema, runners, secrets, and release train workflows can be conditionally aligned without using pull_request_target in OSS. Done means the workflows support both environments without environment-specific changes.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- github-actions
- Domain
- ci-cd, devops, release
- Issue type
- Feature
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Active
- Clarity
- Mostly clear
- Newbie friendliness
- 48/100