Opened 9 years ago

Closed 8 years ago

#1853 closed enhancement (worksforme)

Honour change filter in build details page (option)

Reported by: jollyroger Owned by:
Priority: major Milestone: 0.8.4
Version: 0.8.3p1 Keywords:
Cc: djmitche, jollyroger

Description

When change filter is defined for scheduler the build status page should display details(blamelist, file changes) for the commit which triggered the build, not the whole list of changes between previously triggered build and the current one.

Use case: build performs tests on a database every time SQL file is changed in VCS. This is implemented via simple Scheduler scheduler and a change filter which checks wether SQL files are available in change.

Steps to reproduce: Master should include the following snippet:

import re
def checkDBChanges(change):
    regexp = re.compile('.sql$)',re.IGNORECASE)
 
    for name in change.files:
        if regexp.search(name):
            return True
    return False

c['schedulers'].append(Scheduler(name="dev_db", branch="trunk",
                                 treeStableTimer=0*60,
                                 fileIsImportant=checkDBChanges,
                                 builderNames=["dev_db"]))
  1. Commit file file1.sql (revision 1).
  2. Commit file file2.txt (revision 2).
  3. Commit file file3.sql (revision 3).

Given result:

  1. Build is triggered. Build details page includes information about revision 1.
  2. Build is not triggered.
  3. Build is triggered. Build details page includes information about both revision 2 and 3.

Expected result:

  1. Build is triggered. Build details page includes information about revision 1.
  2. Build is not triggered.
  3. Build is triggered. Build details page includes information about revision 3.

Perhaps this should be an option because there's a probability grater than zero that current behaviour will have it's use case.

Change History (2)

comment:1 Changed 9 years ago by dustin

  • Milestone changed from undecided to 0.8.4

I'll need to verify that this is still misbehaving in 0.8.4.

comment:2 Changed 8 years ago by dustin

  • Resolution set to worksforme
  • Status changed from new to closed

I should have read this more closely when the bug was filed. This is normal behavior. You're using fileIsImportant, not a change filter. fileIsImportant just decides whether a particular change needs a build (that is, whether it should start the treeStableTimer countdown). If not, that change is batched up until the next important change.

Note: See TracTickets for help on using tickets.