====== Evergreen Bug Squashing Week ====== ===== Introduction ===== The goal of **Bug Squashing Week** is for contributors and volunteers to commit time throughout the week to the following activities: * Fixing bugs; * Testing bug fixes that have pullrequest tags; * General bug wrangling activities (confirming bugs, marking duplicates, etc.); * Pushing bug fixes into Evergreen (for core committers). **Feedback Fest** is a week(ish)-long event with the goal to provide feedback on each and every outstanding pull request. Feedback can take many forms, including: * rebasing older pull request branches against the current main branch * commenting on the bug and the proposed patches * deciding if the bug no longer applies * testing and signing off on the patches * writing automated test cases for pull requests that need them * writing human test plans * writing release note entries ===== Upcoming Bug Squashing / Feedback Fest Weeks ===== * June 2024 - //(Dates TBD)// * September 2024 - //(Dates TBD)// ===== Overview ===== **1. Launchpad** [[https://bugs.launchpad.net/evergreen/|Launchpad]] is the bug tracking system used by the Evergreen community. Register for a login so that you can participate in bug reporting and testing. * [[https://wiki.evergreen-ils.org/doku.php?id=dev:bug_wrangler:faq|More information about using Launchpad from the Bug Wrangler Documents]] * [[https://docs.google.com/presentation/d/13mGh0XIBArQfqAMaL5S3U9jl7-LfrChoOALBKXqg_B8/edit#slide=id.p|Launchpad presentation (slides) from the 2018 Evergreen International Conference]] * Launchpad presentation from the 2021 Evergreen International Conference: [[https://youtu.be/rhE3L7WSpIs|Video]] and [[https://evergreen-ils.org/wp-content/uploads/2021/06/Intro-to-Launchpad-Notes.pdf|Handout]] **2. Testing** You may participate in Bug Squashing Week by... * Testing [[https://bugs.launchpad.net/evergreen/+bugs?field.searchtext=&orderby=-importance&search=Search&field.status%3Alist=NEW&field.status%3Alist=TRIAGED&assignee_option=any&field.assignee=&field.bug_reporter=&field.bug_commenter=&field.subscriber=&field.structural_subscriber=&field.tag=&field.tags_combinator=ANY&field.has_cve.used=&field.omit_dupes.used=&field.omit_dupes=on&field.affects_me.used=&field.has_patch.used=&field.has_branches.used=&field.has_branches=on&field.has_no_branches.used=&field.has_no_branches=on&field.has_blueprints.used=&field.has_blueprints=on&field.has_no_blueprints.used=&field.has_no_blueprints=on| bugs with the "New" status]] that other people have reported in order to confirm them. * Testing [[https://bugs.launchpad.net/evergreen/+bugs?field.searchtext=&orderby=datecreated&search=Search&field.status%3Alist=NEW&field.status%3Alist=CONFIRMED&field.status%3Alist=TRIAGED&field.status%3Alist=INPROGRESS&field.importance%3Alist=UNKNOWN&field.importance%3Alist=UNDECIDED&field.importance%3Alist=CRITICAL&field.importance%3Alist=HIGH&field.importance%3Alist=MEDIUM&field.importance%3Alist=LOW&assignee_option=any&field.assignee=&field.bug_reporter=&field.bug_commenter=&field.subscriber=&field.structural_subscriber=&field.tag=-pullrequest&field.tags_combinator=ANY&field.has_cve.used=&field.omit_dupes.used=&field.omit_dupes=on&field.affects_me.used=&field.has_patch.used=&field.has_branches.used=&field.has_branches=on&field.has_no_branches.used=&field.has_no_branches=on&field.has_blueprints.used=&field.has_blueprints=on&field.has_no_blueprints.used=&field.has_no_blueprints=on|old bugs]] to see if they are still valid. If they are, add feedback to confirm that they are still valid in the Evergreen version you are working on. If they are not, add feedback and change the status to "Won't Fix." * Testing bug fixes that have the [[https://bugs.launchpad.net/evergreen/+bugs?field.searchtext=&field.status%3Alist=NEW&field.status%3Alist=CONFIRMED&field.status%3Alist=TRIAGED&field.status%3Alist=INPROGRESS&field.status%3Alist=INCOMPLETE_WITH_RESPONSE&field.status%3Alist=INCOMPLETE_WITHOUT_RESPONSE&assignee_option=any&field.assignee=&field.bug_reporter=&field.bug_commenter=&field.subscriber=&field.structural_subscriber=&field.tag=pullrequest%20-signedoff&field.tags_combinator=ALL&field.has_cve.used=&field.omit_dupes.used=&field.omit_dupes=on&field.affects_me.used=&field.has_patch.used=&field.has_branches.used=&field.has_branches=on&field.has_no_branches.used=&field.has_no_branches=on&field.has_blueprints.used=&field.has_blueprints=on&field.has_no_blueprints.used=&field.has_no_blueprints=on&search=Search&orderby=-id&start=0|pullrequest tag]] to be sure that they work (see Testing Bugs section below). * Providing additional feedback on bugs that have not yet been fixed. * Adding tags to bugs - please see the [[dev:lp_tags|list of current official tags]] (as of May 2022). * Submitting new bug fixes (see Fixing Bugs section below). * Submitting documentation updates. * Pushing bug fixes into Evergreen (for Core Committers only). **3. Sign-Offs** If you test a bug fix that has a //pullrequest// tag and find that it works as described, you can sign off on it: * Sign off on the code through git //or// add a comment to the Launchpad bug that says "I have tested this code and consent to signing off on it with my name, [enter name or consistent alias] and my email address, [enter email address]." * Git setup and signoff instructions are available on the [[:newdevs:start|New Developers Group]] page. * Add a //signedoff// tag to the LP bug. (Do not remove the pullrequest tag.) ===== More Detailed Information ===== ==== Testing Bug Fixes ==== These [[https://bugs.launchpad.net/evergreen/+bugs?field.searchtext=&orderby=-importance&search=Search&field.status%3Alist=NEW&field.status%3Alist=CONFIRMED&field.status%3Alist=TRIAGED&field.status%3Alist=INPROGRESS&field.importance%3Alist=UNKNOWN&field.importance%3Alist=UNDECIDED&field.importance%3Alist=CRITICAL&field.importance%3Alist=HIGH&field.importance%3Alist=MEDIUM&field.importance%3Alist=LOW&assignee_option=any&field.assignee=&field.bug_reporter=&field.bug_commenter=&field.subscriber=&field.structural_subscriber=&field.tag=pullrequest+-signedoff&field.tags_combinator=ALL&field.has_cve.used=&field.omit_dupes.used=&field.omit_dupes=on&field.affects_me.used=&field.has_patch.used=&field.has_branches.used=&field.has_branches=on&field.has_no_branches.used=&field.has_no_branches=on&field.has_blueprints.used=&field.has_blueprints=on&field.has_no_blueprints.used=&field.has_no_blueprints=on|Evergreen bugs with pullrequest tags]] are ready for testing. According to community guidelines, each piece of new code needs to be tested and get a sign-off from somebody else before it can be merged into Evergreen Testing involves the following steps: - Loading the code on a non-production server. The bug squashing coordinator will also arrange to have test servers loaded with proposed bug fixes and new features. - To avoid duplication of testing effort, add yourself to the "Assigned To" field in the Launchpad bug. - If your testing finds the bug fix works as expected and does not break other functionality: - Sign off on the code through Git or add a comment to the Launchpad bug that says "I have tested this code and consent to signing off on it with my name, [enter name or consistent alias] and my email address, [enter email address]." * Git setup and signoff instructions are available on the [[:newdevs:start|New Developers Group]] page. - Add a //signedoff// tag to the LP bug. - Remove yourself from the "Assigned To" field. - If you discover problems when testing, add a comment to the Launchpad bug. ==== Fixing Bugs ==== To avoid duplication of effort, add yourself to the "Assigned To" field in the Launchpad bug before working on it. If you're new to contributing code, see our [[http://wiki.evergreen-ils.org/doku.php?id=contributing#code_contribution|code contribution guidelines]]. Need help deciding which bugs to fix? * Find dusty bugs by looking at the [[https://bugs.launchpad.net/evergreen/+bugs?field.searchtext=&orderby=datecreated&search=Search&field.status%3Alist=NEW&field.status%3Alist=CONFIRMED&field.status%3Alist=TRIAGED&field.status%3Alist=INPROGRESS&field.importance%3Alist=UNKNOWN&field.importance%3Alist=UNDECIDED&field.importance%3Alist=CRITICAL&field.importance%3Alist=HIGH&field.importance%3Alist=MEDIUM&field.importance%3Alist=LOW&assignee_option=any&field.assignee=&field.bug_reporter=&field.bug_commenter=&field.subscriber=&field.structural_subscriber=&field.tag=-pullrequest&field.tags_combinator=ANY&field.has_cve.used=&field.omit_dupes.used=&field.omit_dupes=on&field.affects_me.used=&field.has_patch.used=&field.has_branches.used=&field.has_branches=on&field.has_no_branches.used=&field.has_no_branches=on&field.has_blueprints.used=&field.has_blueprints=on&field.has_no_blueprints.used=&field.has_no_blueprints=on|oldest non-wishlist bugs on Launchpad]] * Start with the bugs that are most important to users by looking at the [[https://bugs.launchpad.net/evergreen/+bugs?field.searchtext=&orderby=-heat&search=Search&field.status%3Alist=NEW&field.status%3Alist=CONFIRMED&field.status%3Alist=TRIAGED&field.status%3Alist=INPROGRESS&field.importance%3Alist=UNKNOWN&field.importance%3Alist=UNDECIDED&field.importance%3Alist=CRITICAL&field.importance%3Alist=HIGH&field.importance%3Alist=MEDIUM&field.importance%3Alist=LOW&assignee_option=any&field.assignee=&field.bug_reporter=&field.bug_commenter=&field.subscriber=&field.structural_subscriber=&field.tag=-pullrequest&field.tags_combinator=ANY&field.has_cve.used=&field.omit_dupes.used=&field.omit_dupes=on&field.affects_me.used=&field.has_patch.used=&field.has_branches.used=&field.has_branches=on&field.has_no_branches.used=&field.has_no_branches=on&field.has_blueprints.used=&field.has_blueprints=on&field.has_no_blueprints.used=&field.has_no_blueprints=on|non-wishlist bugs with the most heat]] * Try these [[https://bugs.launchpad.net/evergreen/+bugs?field.searchtext=&orderby=-importance&search=Search&field.status%3Alist=NEW&field.status%3Alist=CONFIRMED&field.status%3Alist=TRIAGED&field.status%3Alist=INPROGRESS&field.importance%3Alist=UNKNOWN&field.importance%3Alist=UNDECIDED&field.importance%3Alist=CRITICAL&field.importance%3Alist=HIGH&field.importance%3Alist=MEDIUM&field.importance%3Alist=LOW&assignee_option=any&field.assignee=&field.bug_reporter=&field.bug_commenter=&field.subscriber=&field.structural_subscriber=&field.tag=bitesize+-pullrequest&field.tags_combinator=ALL&field.has_cve.used=&field.omit_dupes.used=&field.omit_dupes=on&field.affects_me.used=&field.has_patch.used=&field.has_branches.used=&field.has_branches=on&field.has_no_branches.used=&field.has_no_branches=on&field.has_blueprints.used=&field.has_blueprints=on&field.has_no_blueprints.used=&field.has_no_blueprints=on|bitesize bugs]] * See the separate [[evergreen-docs:documentation_needs|Documentation Needs list]] for a variety of tasks not on Launchpad. **See also:** [[https://www.youtube.com/watch?v=9ktRUTw76lM&list=PLsktT5b82paUn2A_n85c13oMMmdTRlVFY|Creating and Testing Patches YouTube Playlist]] ===== Previous Bug Squashing Days ===== * [[dev:bug_squashing:2024-03|March 18-22, 2024]] * [[dev:bug_squashing:2023-11|November 6-10, 2023 (Feedback Fest for 3.12)]] * [[dev:bug_squashing:2023-08|August 21-25, 2023]] * [[dev:bug_squashing:2023-05|May 8-12, 2023 (Feedback Fest for 3.11)]] * [[dev:bug_squashing:2023-03|February 27-March 3, 2023]] * [[dev:bug_squashing:2022-10|October 31-November 4, 2022]] * [[dev:bug_squashing:2022-09|September 26-30, 2022 (Feedback Fest)]] * [[dev:bug_squashing:2022-07|July 25-29, 2022]] * [[dev:bug_squashing:2022-04|April 4-8, 2022]] * [[dev:bug_squashing:2022-03|March 14-18, 2022 (Feedback Fest)]] * [[dev:bug_squashing:2021-09|September 19-24, 2021]] * [[dev:feedback_fest_2021_08|August 9-13, 2021 (Feedback Fest)]] * [[dev:bug_squashing:2021-03|March 15-19, 2021]] * [[dev:bug_squashing:2021-02|February 8-12, 2021 (Feedback Fest)]] * [[dev:bug_squashing:2020-09|September 21-25, 2020]] * [[dev:feedback_fest_2020-08|August 17-21, 2020 (Feedback Fest)]] * [[dev:feedback_fest_2020-02|February 17 - 21, 2020 (Feedback Fest)]] * [[dev:bug_squashing:2019-09|September 9 - 13, 2019]] * [[dev:3.4:feedback_fest_2|July 29 - August 2, 2019 (Feedback Fest)]] * [[dev:bug_squashing:2019-05|May 20 - 24, 2019]] * [[dev:bug_squashing:2019-03|March 4 - 8, 2019]] * [[dev:bug_squashing:2018-09|September 10 - 14, 2018]] * [[dev:bug_squashing:2018-05-21|May 21 - 25, 2018]] * [[dev:bug_squashing:2017-09-11|September 11 - 15, 2017]] * [[dev:bug_squashing:2017-07-17|July 17 - 21, 2017]] * [[dev:bug_squashing:2017-02-27|February 27 - March 3, 2017]] * [[dev:bug_squashing:2016-09-29|September 29, 2016]] * [[dev:bug_squashing:2016-06-02|June 2, 2016]] * [[dev:bug_squashing:2016-03-04|March 4, 2016]] * [[dev:bug_squashing:2015-06-10|June 10, 2015]] * [[dev:bug_squashing:2014-08-26|August 26, 2014]]