spring-projects / spring-projects/spring-ldap

Simplify Running on Internal CI

Open
#1,712 0 comments 0 reactions 0 assignees View on GitHub

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 deploySchema configuration

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-on configuration

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

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.