Skip to content

Commit

Permalink
Updating GitHub actions [3]
Browse files Browse the repository at this point in the history
  • Loading branch information
recursion-ninja committed Aug 28, 2024
1 parent ea71965 commit 73df02d
Showing 1 changed file with 175 additions and 57 deletions.
232 changes: 175 additions & 57 deletions config/cabal.project.integration
Original file line number Diff line number Diff line change
@@ -1,49 +1,171 @@
---------------------------------------------------------------------------------
-- Domain of PHAGE packages
-- * PHAGE-integration-tests
-- Build metadata flags
--
-- Sensible alterations from the defaults to improve the build experience during
-- iterative development. Simultaneously, does not hinder release builds.
---------------------------------------------------------------------------------

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

with-compiler: ghc-9.10.1
Executable-Static: False
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
Semaphore: True


---------------------------------------------------------------------------------
-- Output paths
-- Dependency specifications
--
-- 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`.
-- 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.
---------------------------------------------------------------------------------

-- datadir: ./data
-- docdir: ./doc
-- htmldir: ./doc/html
symlink-bindir: ./bin
installdir: ./bin
logs-dir: ./log
install-method: copy
overwrite-policy: always
Allow-Newer:
aeson,
base,
base-compat,
binary,
bytestring,
Cabal,
containers,
deepseq,
ghc,
ghc-bignum,
ghc-prim,
hashable,
integer-gmp,
lens,
mtl,
pretty,
primative,
semigroupoids,
template-haskell,
text,
text-builder-linear,
th-abstraction,
time

-- Required to use the GHC-bound (installed) version
Constraints:
base installed,
ghc installed,
ghc-bignum installed,
ghc-prim installed,
integer-gmp installed,
template-haskell installed


-- Reduce the project's dependency footprint via build flags
Constraints:
bifunctors -tagged,
comonad -indexed-traversable,
lens +inlining -test-hunit -test-properties -test-templates +trustworthy,
pointed -comonad -kan-extensions -semigroupoids -semigroups -stm -tagged,
semialign -semigroupoids,
semigroups -binary -bytestring -deepseq -hashable -tagged -template-haskell -text -transformers -unordered-containers,
semigroupoids -comonad,


-- Apply performance flags to specific packages
Constraints:
bitvec +simd,
directory +os-string,
hashable -random-initial-seed,
hashtables -bounds-checking -debug -portable +unsafe-tricks,
optparse-applicative +process,
tasty +unix,
text -pure-haskell +simdutf,
vector -BoundsChecks -InternalChecks -UnsafeChecks -Wall,

Preferences:
aeson >= 2.1.0.0,
bytestring >= 0.12.0.0,
filepath >= 1.4.100.0,
mtl >= 2.3.1,
text >= 2.0.1,
unordered-containers >= 0.2.18.0,

Source-Repository-Package
Type: git
Location: https://github.com/amnh/PHANE
Subdir: pkg/PHANE-alphabet
Tag: 6f300d99c3be9e5201f31ac4480bbacb3f547f8b

Source-Repository-Package
Type: git
Location: https://github.com/amnh/PHANE
Subdir: pkg/PHANE-dynamic-character
Tag: 6f300d99c3be9e5201f31ac4480bbacb3f547f8b

Source-Repository-Package
Type: git
Location: https://github.com/amnh/PHANE
Subdir: pkg/PHANE-dynamic-character-element
Tag: 6f300d99c3be9e5201f31ac4480bbacb3f547f8b

Source-Repository-Package
Type: git
Location: https://github.com/amnh/PHANE
Subdir: pkg/PHANE-evaluation
Tag: 6f300d99c3be9e5201f31ac4480bbacb3f547f8b

Source-Repository-Package
Type: git
Location: https://github.com/amnh/PHANE
Subdir: pkg/PHANE-file-formats
Tag: 6f300d99c3be9e5201f31ac4480bbacb3f547f8b

Source-Repository-Package
Type: git
Location: https://github.com/amnh/PHANE
Subdir: pkg/PHANE-measure-class
Tag: 6f300d99c3be9e5201f31ac4480bbacb3f547f8b

Source-Repository-Package
Type: git
Location: https://github.com/amnh/PHANE
Subdir: pkg/PHANE-measure-transition
Tag: 6f300d99c3be9e5201f31ac4480bbacb3f547f8b

Source-Repository-Package
Type: git
Location: https://github.com/amnh/PHANE
Subdir: pkg/PHANE-measure-units
Tag: 6f300d99c3be9e5201f31ac4480bbacb3f547f8b

Source-Repository-Package
Type: git
Location: https://github.com/amnh/PHANE
Subdir: pkg/PHANE-PhyloLib
Tag: 6f300d99c3be9e5201f31ac4480bbacb3f547f8b


---------------------------------------------------------------------------------
-- Build metadata flags
-- Output paths
--
-- Sensible alterations from the defaults to improve the build experience during
-- iterative development. Simultaneously, does not hinder release builds.
-- 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`.
---------------------------------------------------------------------------------

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
Builddir: ./doc
Symlink-bindir: ./bin
Installdir: ./bin
Logs-Dir: ./log
Install-method: copy
Overwrite-Policy: always
-- Datadir: ./data
-- Docdir: ./doc
-- HTMLdir: ./doc/html


---------------------------------------------------------------------------------
Expand All @@ -62,14 +184,16 @@ minimize-conflict-set: True
-- future breaking changes as well as improving overall code quality.
---------------------------------------------------------------------------------

Packages: .

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


-- Applies to *only* the specified package!
package PHAGE-integration-tests
benchmarks: False
documentation: False
Expand All @@ -89,31 +213,25 @@ package PhyGraph


---------------------------------------------------------------------------------
-- Dependency specifications
-- GHC-9.8.* comptibility
--
-- 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.
-- Updated Hackage references for GHC maintainer patched dependency packages
--
-- 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.
-- Also manual source references for other patched dependency packages
---------------------------------------------------------------------------------

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
With-Compiler:
ghc-9.10.1

Active-Repositories:
hackage.haskell.org,
head.hackage.ghc.haskell.org:override

Repository head.hackage.ghc.haskell.org
url: https://ghc.gitlab.haskell.org/head.hackage/
secure: True
key-threshold: 3
root-keys:
26021a13b401500c8eb2761ca95c61f2d625bfef951b939a8124ed12ecf07329
7541f32a4ccca4f97aea3b22f5e593ba2c0267546016b992dfadcd2fe944e55d
f76d08be13e9a61a377a85e2fb63f4c5435d40f8feb3e12eb05905edb8cdea89

0 comments on commit 73df02d

Please sign in to comment.