Commit Graph

11 Commits

Author SHA1 Message Date
joneshf
d096c84527
Limit the number of simultaneous jobs
We might be trying to overdo it with the number of CPU cores available.
If we limit the jobs, it might speed up the build.
2018-08-26 10:28:05 -07:00
joneshf
3868f30777
Don't remove the default.nix
If we `make clean` outside of the nix shell,
we can't necessarily get back in.
Certainly, `make shell` doesn't work.
But, building `default.nix` might not work if `hpack` doesn't exist.
2018-08-11 06:38:00 -07:00
joneshf
79f82a54ac
Move to a nix-based setup
With nix, we get more reproducable builds.
Everything that goes into making the build can be specified.
The dependencies we need for development/CI can be made the same.

And, we ought to be able to parameterize the build better.
When we want to check if things compile on 8.4.x,
we can change the compiler to that version in one place.

Assuming this works out, it should make for a lower amount of overall work.
2018-08-09 08:09:26 -07:00
joneshf
b968bb53a4
Split out test targets
It looks like,
when we switch jobs in CI the new checkout has newer timestamps
than what's in the make cache.
Rather than dealing with that anymore, we alter the targets.

We can change `test` to ensure builds are up to date.
Then we can leave the individual test targets to run whatever is there.

In CI this means we can set the workflow to run the tests separately.
2018-07-29 13:17:19 -07:00
joneshf
19177f0fc5
Remove accidentally added dependency 2018-07-29 12:50:11 -07:00
joneshf
c1a34f3b86
Persist the make cache
If we don't do this, the test job will try to rebuild everything.
That defeats the purpose.

Probably, we've got our Make dependencies/targets setup improprerly.
2018-07-29 12:34:55 -07:00
joneshf
2fca1f2892
Add back build target
Even though we changed the structure of the targets,
we can still make it easier on everyone if we keep the build target.
2018-07-29 12:26:42 -07:00
joneshf
5deb32b2c0
Separate the compile stage from testing
Might be overkill for this small of a workflow.
Good to get practice with circleci and Make.
2018-07-29 12:19:06 -07:00
joneshf
1abae7fc5f
Cleanup Makefile
Makes most variables able to be overridden.
Simpleifies some rules.
Quiets most of the output.
2018-07-29 10:10:11 -07:00
joneshf
d5d6d73769
Add rules for uploading to hackage
While it would be really nice to run this from CI,
The only way to upload a package involves using account-wide credentials.
We can either use a username/password, or an API token.
Both of these credentials have the same privileges,
and that's too much power to give to CI.

For now, we run this from the local machine.
Maybe we can think of another way that's a bit safer.
2018-07-29 09:14:10 -07:00
joneshf
a53fe52f09
Add a Makefile
We can make things easier on contributors if we setup a build system.
We can also make CI easier if we use Make.
2018-07-24 23:08:36 -07:00