Skip to content
This repository was archived by the owner on Oct 7, 2020. It is now read-only.

Conversation

lukel97
Copy link
Collaborator

@lukel97 lukel97 commented Jan 7, 2019

  • Add a hspec formatter that produces an xml file that CircleCI can use to produce a test summary Gives a slightly nicer way to look at test results instead of reading the terminal output
  • Fix cabal file change detection
    • The aggregate all-cabal.txt file changed every build so every job was redundantly saving the cache at the end
    • Changed it to ignore submodules/test .cabal files (I believe when it was first added there were no submodules in HIE so depending on submodule .cabal files was probably unintended) and sort them before cating so all-cabal.txt file is now deterministic
    • Shaves 6 minutes off of each job
  • Cache Hoogle DB at ~/.hoogle
    • Only generate it if ~/.hoogle doesn't exist
    • Shaves 2 minutes off of each job
  • Add documentation about CircleCI in docs folder

A complete build on CircleCI now takes about ~20 minutes!

@lukel97 lukel97 added the build Continuous integration and building label Jan 7, 2019
@lukel97 lukel97 requested review from lorenzo and alanz January 7, 2019 21:48
Remove extraneous submodules and testdata cabal files
(At the time of this was added there were no submodules so I presume
invalidating the cache on submodule cabal file changes is unintentional)

Also sort the files so it is deterministic
@lukel97 lukel97 changed the title Setup test summaries for CircleCI Setup test summaries for CircleCI and improve caching Jan 8, 2019
@lukel97 lukel97 changed the title Setup test summaries for CircleCI and improve caching CI improvements Jan 8, 2019
stack-8.2.1.yaml Outdated
- syz-0.2.0.0
- yaml-0.8.32
- github: LeastAuthority/hspec-jenkins
commit: e5ad80f176779c99fc6a8c044afc2f89ceb43103
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This should be a submodule, so we don't have to tweak every single config file for it. That is why we do the others that way.

@alanz
Copy link
Collaborator

alanz commented Jan 8, 2019

This looks great, I have been wanting to have the junit output for a long time.

Sort out the submodule and it can merge.

@lukel97
Copy link
Collaborator Author

lukel97 commented Jan 8, 2019 via email

Copy link
Collaborator

@lorenzo lorenzo left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This looks good to me, other than the comments Alan added

, "flags: {}"
, "extra-package-dbs: []"
]

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

If the block below originated elsewhere, provide details/credit.

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I had added an attribution to the fork at xmlFormatter, is this enough?

-- | A Hspec formatter for CircleCI.
-- Originally from https://github.com/LeastAuthority/hspec-jenkins
xmlFormatter :: Formatter
xmlFormatter = silent {
headerFormatter = do

cabal.project Outdated
source-repository-package
type: git
location: https://github.com/LeastAuthority/hspec-jenkins
tag: 2899766bbd36216b81b1719423a5c2443458ae06
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I presume this is no longer needed?

@alanz
Copy link
Collaborator

alanz commented Jan 9, 2019

LGTM, merge when CI passes

@lukel97 lukel97 merged commit 59d4af0 into haskell:master Jan 9, 2019
@alanz alanz added this to the 2019-01 milestone Feb 2, 2019
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
build Continuous integration and building
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants