Improve Maintainability of the Repository Permission Updater

Goal: Increase the maintainability of the Repository Permission Updater by adding test coverage, documentation, and move to Java 21

Status: Selected

Team

Details

Abstract

The repository permission updater (RPU) is a critical component in the jenkinsci infrastructure and is used daily to onboard new plugins and update release permission. The project aims to build on top of the existing RPU logic to move it to Java 21, add test coverage, and improve documentation to increase maintainability.

The RPU is a tool that manages artifactory permissions for the jenkinsci GitHub organization. The project aims to improve the maintainability of the RPU by adding test coverage, documentation, and moving the codebase to Java 21.

Rationale

The GSoC project builds on the existing RPU codebase to improve the maintainability of the project. The project aims to increase the test coverage of the RPU codebase, improve the documentation, and move the codebase to Java 21. The project will help ensure that the RPU codebase is easier to maintain and contribute to in the future.

Currently, the RPU codebase is written in a mix of Groovy and Java. By moving the codebase to Java 21 and migrating the Groovy files, we can take advantage of modern Java features and ensure, that the codebase is easier to maintain and contribute to in the future.

Implementation

The project will be divided into the following tasks: - Add test coverage to the RPU codebase - Improve the documentation of the RPU codebase - Move the RPU codebase to Java 21 - Migrate the Groovy files to Java - Refactor the RPU codebase to improve maintainability

Office hours

  • (General) Official weekly Jenkins office hours: Thursdays 13:00 UTC

  • (Project-based) Weekly project based office hours after Bonding Period: Wednesdays 13:00 UTC

Links