Turns out Incremental builds were not actually incremental


(Michael Gottesman) #1

Given the backup in the CI, I started looking at what was going on there and I found that the following incremental bots were actually /NOT/ incremental:

1. OS X Swift incremental.
2. 14.04 Linux Swift incremental.
3. 15.10 Linux Swift incremental.
4. OSX LLDB incremental

This is in addition to the smoke test bot which was also made non-incremental (I fixed it yesterday).

These are now incremental as they should be. This should reduce the load on the CI system.

Michael


(Dave Abrahams) #2

Thanks a billion, Michael!

···

on Tue Jul 19 2016, Michael Gottesman <swift-dev-AT-swift.org> wrote:

Given the backup in the CI, I started looking at what was going on
there and I found that the following incremental bots were actually
/NOT/ incremental:

1. OS X Swift incremental.
2. 14.04 Linux Swift incremental.
3. 15.10 Linux Swift incremental.
4. OSX LLDB incremental

This is in addition to the smoke test bot which was also made non-incremental (I fixed it yesterday).

These are now incremental as they should be. This should reduce the load on the CI system.

--
Dave


(Jordan Rose) #3

IIRC this was deliberate because of some past issues with things not getting rebuilt. In particular, even an incremental build should trash the module cache folder every build, and I don’t think we do this. Nicole, do you remember specifically why this was changed? (Or Mishal, when back from vacation?)

Jordan

···

On Jul 19, 2016, at 09:32, Michael Gottesman via swift-dev <swift-dev@swift.org> wrote:

Given the backup in the CI, I started looking at what was going on there and I found that the following incremental bots were actually /NOT/ incremental:

1. OS X Swift incremental.
2. 14.04 Linux Swift incremental.
3. 15.10 Linux Swift incremental.
4. OSX LLDB incremental

This is in addition to the smoke test bot which was also made non-incremental (I fixed it yesterday).

These are now incremental as they should be. This should reduce the load on the CI system.

Michael
_______________________________________________
swift-dev mailing list
swift-dev@swift.org
https://lists.swift.org/mailman/listinfo/swift-dev


(Michael Gottesman) #4

IIRC this was deliberate because of some past issues with things not getting rebuilt. In particular, even an incremental build should trash the module cache folder every build, and I don’t think we do this. Nicole, do you remember specifically why this was changed? (Or Mishal, when back from vacation?)

The problem IIRC actually had to do with cloning ninja without checking if we had already checked it out. I updated the bots to do a check if the directory exists before attempting to clone it.

Michael

···

On Jul 21, 2016, at 2:54 PM, Jordan Rose <jordan_rose@apple.com> wrote:

Jordan

On Jul 19, 2016, at 09:32, Michael Gottesman via swift-dev <swift-dev@swift.org> wrote:

Given the backup in the CI, I started looking at what was going on there and I found that the following incremental bots were actually /NOT/ incremental:

1. OS X Swift incremental.
2. 14.04 Linux Swift incremental.
3. 15.10 Linux Swift incremental.
4. OSX LLDB incremental

This is in addition to the smoke test bot which was also made non-incremental (I fixed it yesterday).

These are now incremental as they should be. This should reduce the load on the CI system.

Michael
_______________________________________________
swift-dev mailing list
swift-dev@swift.org
https://lists.swift.org/mailman/listinfo/swift-dev


(Jordan Rose) #5

Okay, but if we don’t trash the module cache folder every build, we’re going to see problems with apinotes.

Jordan

···

On Jul 21, 2016, at 15:06, Michael Gottesman <mgottesman@apple.com> wrote:

On Jul 21, 2016, at 2:54 PM, Jordan Rose <jordan_rose@apple.com> wrote:

IIRC this was deliberate because of some past issues with things not getting rebuilt. In particular, even an incremental build should trash the module cache folder every build, and I don’t think we do this. Nicole, do you remember specifically why this was changed? (Or Mishal, when back from vacation?)

The problem IIRC actually had to do with cloning ninja without checking if we had already checked it out. I updated the bots to do a check if the directory exists before attempting to clone it.


(Michael Gottesman) #6

I believe we do trash the module cache folder.

···

On Jul 21, 2016, at 3:46 PM, Jordan Rose <jordan_rose@apple.com> wrote:

On Jul 21, 2016, at 15:06, Michael Gottesman <mgottesman@apple.com> wrote:

On Jul 21, 2016, at 2:54 PM, Jordan Rose <jordan_rose@apple.com> wrote:

IIRC this was deliberate because of some past issues with things not getting rebuilt. In particular, even an incremental build should trash the module cache folder every build, and I don’t think we do this. Nicole, do you remember specifically why this was changed? (Or Mishal, when back from vacation?)

The problem IIRC actually had to do with cloning ninja without checking if we had already checked it out. I updated the bots to do a check if the directory exists before attempting to clone it.

Okay, but if we don’t trash the module cache folder every build, we’re going to see problems with apinotes.

Jordan