1. 21 Dec, 2018 1 commit
  2. 18 Dec, 2018 2 commits
    • Ben Gamari's avatar
      circleci: Fix LLVM build · 6318d874
      Ben Gamari authored
      Might as well make sure it works before we retire it.
      6318d874
    • Ben Gamari's avatar
      circleci: Don't use xlarge instances · 098a3c76
      Ben Gamari authored
      As discussed on ghc-devops, CircleCI is changing their billing policy to require
      users of instances larger than `medium` to use a paid account. Consequently
      these instances will no longer be available to us starting tomorrow.
      098a3c76
  3. 15 Dec, 2018 1 commit
  4. 14 Dec, 2018 2 commits
  5. 11 Dec, 2018 3 commits
  6. 08 Dec, 2018 1 commit
  7. 07 Dec, 2018 1 commit
    • Ben Gamari's avatar
      CircleCI: Don't ignore gitlab/.* branches · c77fbd94
      Ben Gamari authored
      This was added (for good reasons) in b9260e92
      but it seems this field isn't allowed in this context. Sadly there doesn't
      appear to be an easy way to accomplish what we are after with CircleCI's rather
      restrictive configuration language. Sigh.
      c77fbd94
  8. 01 Dec, 2018 2 commits
    • Ben Gamari's avatar
      Add GitLab CI · b6108395
      Ben Gamari authored
      b6108395
    • Alp Mestanogullari's avatar
      Add a Gitlab CI script that runs Circle CI validation jobs · b9260e92
      Alp Mestanogullari authored
      And put it to use for running i386 and x86_64 linux validate,
      x86_64 darwin validate and building with hadrian. For all the validate
      jobs, we save the artifacts (bindist + test results for now) in Circle CI
      and subsequently grab them in Gitlab. The nice side effect is that merge
      requests now show the change in test results from the patches and let you
      download or browse the artifacts.
      b9260e92
  9. 24 Nov, 2018 2 commits
  10. 22 Nov, 2018 1 commit
  11. 12 Nov, 2018 1 commit
  12. 07 Nov, 2018 3 commits
    • davide's avatar
      testsuite: Save performance metrics in git notes. · 932cd41d
      davide authored
      This patch makes the following improvement:
        - Automatically records test metrics (per test environment) so that
          the programmer need not supply nor update expected values in *.T
          files.
          - On expected metric changes, the programmer need only indicate the
            direction of change in the git commit message.
        - Provides a simple python tool "perf_notes.py" to compare metrics
          over time.
      
      Issues:
        - Using just the previous commit allows performance to drift with each
          commit.
          - Currently we allow drift as we have a preference for minimizing
            false positives.
          - Some possible alternatives include:
            - Use metrics from a fixed commit per test: the last commit that
              allowed a change in performance (else the oldest metric)
            - Or use some sort of aggregate since the last commit that allowed
              a change in performance (else all available metrics)
            - These alternatives may result in a performance issue (with the
              test driver) having to heavily search git commits/notes.
        - Run locally, performance tests will trivially pass unless the tests
          were run locally on the previous commit. This is often not the case
          e.g.  after pulling recent changes.
      
      Previously, *.T files contain statements such as:
      ```
      stats_num_field('peak_megabytes_allocated', (2, 1))
      compiler_stats_num_field('bytes allocated',
                               [(wordsize(64), 165890392, 10)])
      ```
      This required the programmer to give the expected values and a tolerance
      deviation (percentage). With this patch, the above statements are
      replaced with:
      ```
      collect_stats('peak_megabytes_allocated', 5)
      collect_compiler_stats('bytes allocated', 10)
      ```
      So that programmer must only enter which metrics to test and a tolerance
      deviation. No expected value is required. CircleCI will then run the
      tests per test environment and record the metrics to a git note for that
      commit and push them to the git.haskell.org ghc repo. Metrics will be
      compared to the previous commit. If they are different by the tolerance
      deviation from the *.T file, then the corresponding test will fail. By
      adding to the git commit message e.g.
      ```
       # Metric (In|De)crease <metric(s)> <options>: <tests>
      Metric Increase ['bytes allocated', 'peak_megabytes_allocated'] \
               (test_env='linux_x86', way='default'):
          Test012, Test345
      Metric Decrease 'bytes allocated':
          Test678
      Metric Increase:
          Test711
      ```
      This will allow the noted changes (letting the test pass). Note that by
      omitting metrics or options, the change will apply to all possible
      metrics/options (i.e. in the above, an increase for all metrics in all
      test environments is allowed for Test711)
      
      phabricator will use the message in the description
      
      Reviewers: bgamari, hvr
      
      Reviewed By: bgamari
      
      Subscribers: rwbarton, carter
      
      GHC Trac Issues: #12758
      
      Differential Revision: https://phabricator.haskell.org/D5059
      932cd41d
    • Ben Gamari's avatar
      Revert "CircleCI: Build DWARF-enabled Linux bindists" · 82a5c241
      Ben Gamari authored
      This reverts commit 406978c4.
      82a5c241
    • Ben Gamari's avatar
      CircleCI: Build DWARF-enabled Linux bindists · 406978c4
      Ben Gamari authored
      406978c4
  13. 30 Oct, 2018 1 commit
  14. 29 Oct, 2018 1 commit
  15. 02 Oct, 2018 1 commit
  16. 01 Oct, 2018 1 commit
  17. 12 Aug, 2018 1 commit
  18. 09 Aug, 2018 3 commits
  19. 05 Aug, 2018 1 commit
  20. 06 Jul, 2018 1 commit
  21. 16 Jun, 2018 2 commits
  22. 15 Jun, 2018 2 commits
  23. 08 Jun, 2018 1 commit
  24. 05 May, 2018 1 commit
    • Mark Karpov's avatar
      Update docker images to use GHC 8.4.2 and cabal-install-2.2 · 56e8c6fc
      Mark Karpov authored
      The ‘haskell’ images are not being updated and there is no image with GHC
      8.4.2, so we probably should not use them anymore. I adapted Dockerfiles
      used by those images so the end result is almost the same except we get
      newer GHC and cabal-install.
      56e8c6fc
  25. 03 May, 2018 1 commit
  26. 10 Apr, 2018 1 commit
  27. 07 Apr, 2018 2 commits