Skip to content

This is my submission report of Checkstyle for Google Summer Of Code 2022

Notifications You must be signed in to change notification settings

Rahulkhinchi03/GSOC-2022-Project-Report

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

8 Commits
 
 

Repository files navigation

Project: "Automate Release Process of Checkstyle"

Student Rahul Khinchi
Organisation Checkstyle
Project Link Automate Release Process of Checkstyle
Topic Automation and Release Process
Tech Stack Java, Maven, Shell Scripting, Bash Scripting, CI, Git, GitHub Action and API, JUnit, Docker
GitHub @Rahulkhinchi03
LinkedIn Rahul Khinchi
Email rahulkhinchirk7@gmail.com
Twitter rahhulk7

About Me

I’m a Rising Junior pursuing my bachelor's in Computer Science & Engineering. I will be graduating in 2024. My aim is to become a T-Shaped Developer (Design, Develop, Test, Deploy). I am leading technical communities like GitHub Campus Expert, Microsoft Learn Student Ambassadors, and Google Developers Student Club.

Special thanks to my mentor and community:

Also Big Thanks to Project Maintainers for helping with organizing things nicely!

Primary Goals of the Project

  • Maintaining the project without the last human factor point.

Project type: Infrastructure improvement

In our project CI process is already set in code and everyone can see it and propose changes for it. But we still have the release process 80% automated; unfortunately, it depends on 1 person to do this. The release process takes a bit of time to complete that is why we have the release process set in "ones a month" but in reality, we are ready to release at any point of time from any commit, as our development process already implies this. The release process focuses on delivery detail to users rather than just bumping a version and sharing jars. So we focus on release note generation to share all details with users and share it at web hostings and social media. The release process requires a lot of actions from a certain person who has admin access to websites/hosts and other accounts to make a release.

The goal of this project is to finish automation to let any person with Read-Write access in GitHub do release by activation of CI execution. The release process should be in scripts/code of our repo(s) to let all see what is going on and even is required to release manually in case CI is experiencing downtime or any other problems.

Completion of this project will help us to increase the frequency of releases if required to make sure that users can receive the released version to use almost right after code changes are merged into the main code base. It will make a contribution to the project more attractive as it will be apparent that as soon as a code change is accepted you can use it in a project where you are experiencing problems with defects. The frequency of releases will be defined later on and probably be based on the severity of fixed defects, contributors can share with us how much they ok to wait for the release.

A BRIEF OVERVIEW OF MY WORK

Community Bonding Period

  • Understanding the current release process.
  • Explored releasenotes-builder, a checkstyle tool for generating all the needful things for release.
  • Interacted with Mentor to understand the scope of the project.
  • Worked on the skills needed for the Project.

Sequence Diagram: Scope.

Work During GSoC coding period

June 15 - July 30

PR for enchancement!

August 1 - September 10th

PR for enchancement!

  1. (checkstyle/checkstyle#12176)
  2. (checkstyle/contribution#650)
  3. (sevntu-checkstyle/checkstyle-samples#42)
  4. (sevntu-checkstyle/sevntu.checkstyle#898)
  • satelite projects should use latest checkstyle as soon at is appears in maven repo -
  1. (checkstyle/contribution#635)
  2. (checkstyle/contribution#636)
  3. (checkstyle/contribution#637)
  4. (sevntu-checkstyle/checkstyle-samples#39)
  5. (sevntu-checkstyle/checkstyle-samples#38)
  6. (sevntu-checkstyle/checkstyle-samples#37)
  7. (sevntu-checkstyle/checkstyle-samples#36)
  8. (sevntu-checkstyle/sevntu.checkstyle#896)
  9. (sevntu-checkstyle/sevntu.checkstyle#895)
  10. (sevntu-checkstyle/sevntu.checkstyle#894)

PR's left, will be completed before 15th September 2022!

My overall contribution to Checkstyle!

Release Process: BEFORE and AFTER Summer!

Further steps:

  • My experience with GSoC was great, and I plan on staying here and enjoying the open-source culture. I met some really good mentors and organizers. That being said, I think I got the essence of what GSoC was intended for. Opensource is my favorite way to do work!

Thank you Checkstyle for an amazing summer of code 2022!

About

This is my submission report of Checkstyle for Google Summer Of Code 2022

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published