Speeding Up Your CI

Speeding Up Your CI

9f33218af7ae5c04e102fcc3076f2f5c?s=128

yhkaplan

March 28, 2019
Tweet

Transcript

  1. SPEEDING UP YOUR CI 1

  2. SELF INTRO > Joshua Kaplan > minne @ GMO Pepabo

    > Danger-Swift contributer > Likes 2
  3. WHAT DO WE USE CI FOR? 3

  4. 1. Automated testing 2. Static analysis (linting etc) 3. Beta

    deployment 4. Release build deployment 4
  5. WHAT WERE BUILD TIMES LIKE? 5

  6. > 1st build: 55 minutes > 2nd and later: 35

    minutes 6
  7. WHAT DID THEY BECOME? 7

  8. > 14-16 minutes 8

  9. HOW? 9

  10. CACHING FRAMEWORKS 10

  11. > Moving to Carthage and using Rome > Biggest impact:

    55 to 33 minutes 11
  12. WHAT IS ROME? 12

  13. UPGRADING PLAN 13

  14. 14

  15. > Not much to explain here > 33 to 20

    minutes 15
  16. ONLY GETTING CODE COVERAGE WHEN TESTS CHANGE 16

  17. > 2 minutes less 17

  18. REMOVE POINTLESS INDEXING 18

  19. 19

  20. > Saves 1 or 2 minutes COMPILER_INDEX_STORE_ENABLE=NO 20

  21. OTHER TECHNIQUES I LOOK FORWARD TO 21

  22. > Parallelization > Separate modules 22

  23. CONCLUSION 23

  24. MESS AROUND 24