User Tools

Site Tools


dev:bug_squashing

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

  • March 18-22, 2024 Bug Squashing Week!
  • June 2024 - (Dates TBD)
  • September 2024 - (Dates TBD)

Overview

1. Launchpad

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.

2. Testing

You may participate in Bug Squashing Week by…

  • Testing bugs with the "New" status that other people have reported in order to confirm them.
  • Testing 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 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 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 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 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:

  1. 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.
  2. To avoid duplication of testing effort, add yourself to the "Assigned To" field in the Launchpad bug.
  3. If your testing finds the bug fix works as expected and does not break other functionality:
    1. 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]."
    2. Add a signedoff tag to the LP bug.
    3. Remove yourself from the "Assigned To" field.
  4. 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 code contribution guidelines.

Need help deciding which bugs to fix?

See also: Creating and Testing Patches YouTube Playlist

Previous Bug Squashing Days

dev/bug_squashing.txt · Last modified: 2024/02/13 16:03 by tmccanna

Except where otherwise noted, content on this wiki is licensed under the following license: CC Attribution-Share Alike 4.0 International
CC Attribution-Share Alike 4.0 International Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki

© 2008-2022 GPLS and others. Evergreen is open source software, freely licensed under GNU GPLv2 or later.
The Evergreen Project is a U.S. 501(c)3 non-profit organization.