Skip to content

Commit

Permalink
Updating integration test configuration
Browse files Browse the repository at this point in the history
  • Loading branch information
recursion-ninja committed Aug 28, 2024
1 parent c13bb6b commit 166810e
Show file tree
Hide file tree
Showing 2 changed files with 120 additions and 1 deletion.
2 changes: 1 addition & 1 deletion .github/workflows/integration-test-suite.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ defaults:
shell: bash

env:
PROJECTFILE: --project-file=cfg/cabal.project.integration
PROJECTFILE: --project-file=config/cabal.project.integration
TESTDETAILS: --test-show-details=streaming
TESTOPTIONS: --test-options="--timeout=30s"
THISMAINEXE: PhyGraph:phyg
Expand Down
119 changes: 119 additions & 0 deletions config/cabal.project.integration
Original file line number Diff line number Diff line change
@@ -0,0 +1,119 @@
---------------------------------------------------------------------------------
-- Domain of PHAGE packages
-- * PHAGE-integration-tests
---------------------------------------------------------------------------------

packages:
pkg/PHAGE-integration-tests
pkg/PhyGraph
pkg/PhyloLib
pkg/*/*.cabal

with-compiler: ghc-9.2.4


---------------------------------------------------------------------------------
-- Output paths
--
-- Place build output(s) in more accessible locations. Binaries should go in `bin`
-- and log files of the build/benchmarks/tests should go in `log`.
---------------------------------------------------------------------------------

-- datadir: ./data
-- docdir: ./doc
-- htmldir: ./doc/html
symlink-bindir: ./bin
installdir: ./bin
logs-dir: ./log
install-method: copy
overwrite-policy: always


---------------------------------------------------------------------------------
-- Build metadata flags
--
-- Sensible alterations from the defaults to improve the build experience during
-- iterative development. Simultaneously, does not hinder release builds.
---------------------------------------------------------------------------------

haddock-html: True
haddock-tests: True
haddock-benchmarks: True
haddock-internal: True
haddock-hyperlink-source: True
jobs: $ncpus
keep-going: True
minimize-conflict-set: True


---------------------------------------------------------------------------------
-- Package flags (useful defaults)
--
-- Instruct all transative dependencies to be built *with both* optimization and
-- profiling enabled. This reduces rebuilds when debugging while not sacraficing
-- undue execution speed from imported code.
--
-- Contrastingly, *disable both* optimization and profiling when building the
-- current package's codebase. This improves the frequent recompilation speed
-- during iterative development.
--
-- Finally, enable all warnings and then prune out the undesirable ones. Having
-- the large litany of warnings enabled forces pre-emptive compatibility with
-- future breaking changes as well as improving overall code quality.
---------------------------------------------------------------------------------

-- Applies to *all* packages, not just dependencies...
package *
benchmarks: False
documentation: False
tests: False
optimization: 2


package PHAGE-integration-tests
benchmarks: False
documentation: False
tests: True
executable-static: False
optimization: 2
flags: -SingleThreaded


package PhyGraph
benchmarks: False
documentation: False
tests: False
executable-static: False
optimization: 2
flags: -SingleThreaded


---------------------------------------------------------------------------------
-- Dependency specifications
--
-- Always allow a newer version of libraries which are tightly coupled to the GHC
-- compiler version. This allows the project to build with newer versions of the
-- compiler without having to tediously tinker with dependencies, both direct and
-- transitive.
--
-- Always allow a newer version of libraries which have had a major release due
-- to a security or performance patch. Add a `preference` indicating the desire
-- to use a version greater than or equal to the patch.
---------------------------------------------------------------------------------

allow-newer:
aeson,
bytestring,
text,

preferences:
aeson >= 2.0.0,
bytestring >= 0.11.3,
filepath >= 1.4.100.0,
mtl >= 2.3,
text >= 2.0,

source-repository-package
type: git
location: https://github.com/recursion-ninja/bv-little
tag: 4541d78545933f450af5c241a83e4b07a0e69dca

0 comments on commit 166810e

Please sign in to comment.