Skip to content
Permalink

Comparing changes

Choose two branches to see what’s changed or to start a new pull request. If you need to, you can also or learn more about diff comparisons.

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also . Learn more about diff comparisons here.
base repository: buildbot/buildbot
Failed to load repositories. Confirm that selected base ref is valid, then try again.
Loading
base: master
Choose a base ref
...
head repository: slamcore/buildbot_source
Failed to load repositories. Confirm that selected head ref is valid, then try again.
Loading
compare: slamcore_release
Choose a head ref
Checking mergeability… Don’t worry, you can still create the pull request.
  • 6 commits
  • 13 files changed
  • 1 contributor

Commits on May 16, 2025

  1. [QA-347] Sync submodules recursively.

    Kit Axelrod committed May 16, 2025
    Configuration menu
    Copy the full SHA
    4272b1c View commit details
    Browse the repository at this point in the history
  2. [QA-390] Clean stale submodules when mode=full, method=copy

    This change calls `git clean` appropriately for the checked-out
    repository and any submodules when checking out or switching branches.
    
    Motivation:
    
    Consider the case where a submodule exists on branch-a but not branch-b.
    When using `mode=full` and `method=copy`, a `source` directory will
    exist and it will contain the repository at branch-a. If the next build
    is for branch-b, the following commands will be executed:
    
    1. git fetch -f -t <source> branch-b --progress
    2. git reset --hard <tip of branch-b> --
    3. git checkout -B branch-b
    4. git submodule sync
    5. git submodule update --init --recursive --force --checkout
    
    Command 2 here is expected to reset the checkout to the state <tip of
    branch-b>, however it will fail to remove the submodule directory and
    will issue a warning like:
    
    ```
    warning: unable to rmdir 'path/to/submodule': Directory not empty
    ```
    
    This leaves the source directory in an unexpected state and may cause
    errors in the build.
    
    Implementation:
    
    This change ensures that `git clean -f -f -d -x` is called on the
    checkout and that `_cleanSubmodule()` is called to clean submodules
    recursively also.
    
    Note that `-f` is required twice as:
    > Git will refuse to modify untracked nested git repositories (directories
    > with a .git subdirectory) unless a second -f is given.
    -- man git-clean
    
    Alternatives:
    
    Initially, the option to `git submodule deinit --all` before resetting
    the state was considered but this would require re-cloning submodules in
    the more common case where they exist on both the current and previous
    build.
    Kit Axelrod committed May 16, 2025
    Configuration menu
    Copy the full SHA
    028ae45 View commit details
    Browse the repository at this point in the history
  3. [QA-466] Accept non-virtual builder name in builders filter

    Change the filtering in `is_message_needed_by_props` to accept the
    non-virtual builder name for a build.
    
    Motivation
    
    The [Virtual Builders
    pattern](https://docs.buildbot.net/latest/manual/configuration/builders.html?highlight=virtual_builder_name#virtual-builders)
    allows us to schedule multiple builds of the same source and builder
    with different properties. We use this to split the testing and
    packaging work over many workers.
    
    The issue is that we would like to define a GitHubStatusPush reporter
    for each of these builders, however, as the `virtual_builder_name` of the
    builder is calculated at build time, we can't enumerate them during
    configuration.
    Kit Axelrod committed May 16, 2025
    Configuration menu
    Copy the full SHA
    d54d39f View commit details
    Browse the repository at this point in the history

Commits on May 19, 2025

  1. [QA-XXX] Add .sc/{test,pack} recipes

    Kit Axelrod committed May 19, 2025
    Configuration menu
    Copy the full SHA
    e023468 View commit details
    Browse the repository at this point in the history

Commits on Jun 10, 2025

  1. [QA-816] Option to full clone submodules in shallow clone repo

    In #6993, the submodule
    initialisation logic was fixed to respect the `shallow` option.
    
    This change adds a flag to maintain the previous behviour which we need
    for some of our builds.
    Kit Axelrod committed Jun 10, 2025
    Configuration menu
    Copy the full SHA
    7ce9dc0 View commit details
    Browse the repository at this point in the history
  2. [QA-XXX] Remove buildbot/buildbot CI infra

    Kit Axelrod committed Jun 10, 2025
    Configuration menu
    Copy the full SHA
    666266b View commit details
    Browse the repository at this point in the history
Loading