This prevents accidental surprises like the one I've managed to hit
today - `git worktree add master` and building in master directory
tries to look-up `cabal.project` but only discovers one in parent
directory and starts reusing `dist-newstyle` for the build.
Better to have this explicit which devs can also use as a template to
add other temporary deps.
In addition to `interpolate`, this also removes the following
transitive dependencies:
- `haskell-src-exts`
- `haskell-src-meta`
- `safe`
- `th-expand-syns`
- `th-lift`
- `th-lift-instances`
- `th-orphans`
- `th-reify-many`
Since `neat-interpolation`'s `text` quasiquoter trims more whitespace
than `interpolate`'s `i`, the expected output of some tests for
`unsafeGetAttrPos` had to be updated.
This also improves the test failure output of the `constantEqual`
helper.
Fixes#634.
Merge docs (`build.sh`->`default.nix`).
- [x] Included some minor clean-up.
- [x] This consolidates most of the docs for options in the `default.nix`, since it is an entry point for API, it increases its header, but currently, I do not know the more useful, convenient way to expose all these features to the all users.
This closes the #645.
- [x] With Nix installer rollout and after refactoring removing obviously redundant previous hack Nix updates in `.travis.yml`.
- [x] After refactor observed that service changes do not need the `daemon-reload`, so simplified the service to `restart`.
- [x] We still have Nix and channel update right before builds, so I also added into `build.sh` reporting of Nixpkgs revision of the build.
CI: refactor CI setup config
Working gradually, need to test CI passage.
Now when most docs are removed, it is more obvious where to reduce the NOTEs.
Also synchronized the interface explicitness with what `build.sh` provides.
Would test and maybe add a new build feature check.
Working towards #645 and #637.
Renamed `(GHCVERSION->compiler)` to correspond option with the `nix-build` and Nixpkgs Haskell Lib.
---
In the middle of work Nix installer got a major release, so also includded a bigger CI refactoring to keep CI working #648
CI: .travis.yml: clean-up, cosmetics, docs
Further.
I think to merge most of the documentation into build.sh, there is too much duplication of documentation due to the nature of API going through layers of the structure, and then also Nix explicit declarativeness.
buildInputs populated automatically.
Environment overloads we can do any time, no need to keep trivial code
commented.
There is no AWS S3 use. If we would need we would write new deployment
implementation outside of `default.nix` using actual NixOps.
CI: Build options consolidation, tweaking builds
In this PR I consolidate and all options `{Nixpkgs pkgs.haskell.lib, default.nix, build.sh, .travis.yml}` share between them. So I deliver my promise of these features fully.
As also raising the bar for the default CI test - GHC 8.10 to include also {Optimize, Benchmark, Haddock, Shell Completions}.
PR relates to #581