Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .envrc
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
env=$(nix-build --no-out-link "$PWD/direnv.nix")
PATH_add "${env}/bin"
load_prefix "${env}"

# allow local .envrc overrides
[[ -f .envrc.local ]] && source_env .envrc.local
4 changes: 4 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -99,3 +99,7 @@ b.yaml
telepresence.log

/.ghci

# local config
.envrc.local
cabal.project.local
38 changes: 32 additions & 6 deletions Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -39,12 +39,37 @@ init:
# Build all Haskell services and executables, run unit tests
.PHONY: install
install: init
ifeq ($(WIRE_BUILD_WITH_CABAL), 1)
cabal build all
./hack/bin/cabal-run-all-tests.sh
./hack/bin/cabal-install-all-artefacts.sh
else
stack install --pedantic --test --bench --no-run-benchmarks --local-bin-path=dist
endif

# Build all Haskell services and executables with -O0, run unit tests
.PHONY: fast
fast: init
ifeq ($(WIRE_BUILD_WITH_CABAL), 1)
make install
else
stack install --pedantic --test --bench --no-run-benchmarks --local-bin-path=dist --fast $(WIRE_STACK_OPTIONS)
endif

# Usage: make c package=brig test=1
.PHONY: c
c:
cabal build $(WIRE_CABAL_BUILD_OPTIONS) $(package)
ifeq ($(test), 1)
./hack/bin/cabal-run-tests.sh $(package)
endif
./hack/bin/cabal-install-artefacts.sh $(package)

# ci here doesn't refer to continuous integration, but to cabal-integration
# Usage: make ci package=brig test=1
.PHONY: ci
ci: c
make -C services/$(package) i-$(pattern)

# Build everything (Haskell services and nginz)
.PHONY: services
Expand Down Expand Up @@ -232,14 +257,15 @@ libzauth:
#
# Run this again after changes to libraries or dependencies.
.PHONY: hie.yaml
hie.yaml: stack-dev.yaml
stack build implicit-hie
stack exec gen-hie | yq "{cradle: {stack: {stackYaml: \"./stack-dev.yaml\", components: .cradle.stack}}}" > hie.yaml

.PHONY: stack-dev.yaml
stack-dev.yaml:
hie.yaml:
ifeq ($(WIRE_BUILD_WITH_CABAL), 1)
echo -e 'cradle:\n cabal: {}' > hie.yaml
else
cp stack.yaml stack-dev.yaml
echo -e '\n\nghc-options:\n "$$locals": -O0 -Wall -Werror' >> stack-dev.yaml
stack build implicit-hie
stack exec gen-hie | yq "{cradle: {stack: {stackYaml: \"./stack-dev.yaml\", components: .cradle.stack}}}" > hie.yaml
endif

#####################################
# Today we pretend to be CI and run integration tests on kubernetes
Expand Down
280 changes: 280 additions & 0 deletions cabal.project
Original file line number Diff line number Diff line change
@@ -0,0 +1,280 @@
-- Generated by stackage-to-hackage

with-compiler: ghc-8.8.4

packages:
libs/api-bot/
, libs/api-client/
, libs/bilge/
, libs/brig-types/
, libs/cargohold-types/
, libs/cassandra-util/
, libs/extended/
, libs/dns-util/
, libs/deriving-swagger2/
, libs/galley-types/
, libs/gundeck-types/
, libs/hscim/
, libs/imports/
, libs/metrics-core/
, libs/metrics-wai/
, libs/polysemy-wire-zoo/
, libs/ropes/
, libs/schema-profunctor/
, libs/sodium-crypto-sign/
, libs/ssl-util/
, libs/tasty-cannon/
, libs/types-common/
, libs/types-common-aws/
, libs/types-common-journal/
, libs/wai-utilities/
, libs/wire-api/
, libs/wire-api-federation/
, libs/wire-message-proto-lens/
, libs/zauth/
, services/brig/
, services/cannon/
, services/cargohold/
, services/federator/
, services/galley/
, services/gundeck/
, services/proxy/
, services/spar/
, tools/api-simulations/
, tools/bonanza/
, tools/db/auto-whitelist/
, tools/db/migrate-sso-feature-flag/
, tools/db/service-backfill/
, tools/db/billing-team-member-backfill/
, tools/db/find-undead/
, tools/db/move-team/
, tools/db/repair-handles/
, tools/makedeb/
, tools/rex/
, tools/stern/

source-repository-package
type: git
location: https://github.com/dpwright/HaskellNet-SSL
tag: ca84ef29a93eaef7673fa58056cdd8dae1568d2d

source-repository-package
type: git
location: https://github.com/fimad/prometheus-haskell
tag: 2e3282e5fb27ba8d989c271a0a989823fad7ec43
subdir: wai-middleware-prometheus

source-repository-package
type: git
location: https://github.com/haskell-servant/servant-swagger
tag: bb0a84faa073fa9530f60337610d7da3d5b9393c

source-repository-package
type: git
location: https://github.com/kim/hs-collectd
tag: 885da222be2375f78c7be36127620ed772b677c9

source-repository-package
type: git
location: https://github.com/kim/snappy-framing
tag: d99f702c0086729efd6848dea8a01e5266c3a61c

source-repository-package
type: git
location: https://github.com/lucasdicioccio/http2-client
tag: 73f5975e18eda9d071aa5548fcea6b5a51e61769

source-repository-package
type: git
location: https://github.com/vincenthz/hs-certificate
tag: a899bda3d7666d25143be7be8f3105fc076703d9
subdir: x509-store

source-repository-package
type: git
location: https://github.com/wireapp/amazonka
tag: 412172d8c28906591f01576a78792de7c34cc3eb
subdir: amazonka
amazonka-cloudfront
amazonka-dynamodb
amazonka-s3
amazonka-ses
amazonka-sns
amazonka-sqs
core

source-repository-package
type: git
location: https://github.com/wireapp/bloodhound
tag: 92de9aa632d590f288a353d03591c38ba72b3cb3

source-repository-package
type: git
location: https://github.com/wireapp/cryptobox-haskell
tag: 7546a1a25635ef65183e3d44c1052285e8401608

source-repository-package
type: git
location: https://github.com/wireapp/haskell-multihash.git
tag: 300a6f46384bfca33e545c8bab52ef3717452d12

source-repository-package
type: git
location: https://github.com/wireapp/hsaml2
tag: b652ec6e69d1647e827cbee0fa290605ac09dc63

source-repository-package
type: git
location: https://github.com/wireapp/hspec-wai
tag: 0a5142cd3ba48116ff059c041348b817fb7bdb25

source-repository-package
type: git
location: https://github.com/wireapp/http-client
tag: 9100baeddbd15d93dc58a826ae812dafff29d5fd
subdir: http-client
http-client-openssl
http-client-tls
http-conduit

source-repository-package
type: git
location: https://github.com/wireapp/http2
tag: 7c465be1201e0945b106f7cc6176ac1b1193be13

source-repository-package
type: git
location: https://github.com/wireapp/http2-grpc-haskell
tag: eea98418672626eafbace3181ca34bf44bee91c0
subdir: http2-client-grpc

source-repository-package
type: git
location: https://github.com/wireapp/saml2-web-sso
tag: 60398f375987b74d6b855b5d225e45dc3a96ac06

source-repository-package
type: git
location: https://github.com/wireapp/servant.git
tag: a4e15fe75f294816d9ead19ed8a48cae8e0b76e7
subdir: servant
servant-client
servant-client-core
servant-server

source-repository-package
type: git
location: https://github.com/wireapp/snappy
tag: b0e5c08af48911caecffa4fa6a3e74872018b258

source-repository-package
type: git
location: https://gitlab.com/twittner/wai-routing
tag: 7e996a93fec5901767f845a50316b3c18e51a61d

allow-older: *
allow-newer: *

-- Changes by ./tools/convert-to-cabal/generate.sh

tests: True


package api-bot
ghc-options: -Werror
package api-client
ghc-options: -Werror
package api-simulations
ghc-options: -Werror
package auto-whitelist
ghc-options: -Werror
package bilge
ghc-options: -Werror
package billing-team-member-backfill
ghc-options: -Werror
package bonanza
ghc-options: -Werror
package brig
ghc-options: -Werror
package brig-types
ghc-options: -Werror
package cannon
ghc-options: -Werror
package cargohold
ghc-options: -Werror
package cargohold-types
ghc-options: -Werror
package cassandra-util
ghc-options: -Werror
package deriving-swagger2
ghc-options: -Werror
package dns-util
ghc-options: -Werror
package extended
ghc-options: -Werror
package federator
ghc-options: -Werror
package find-undead
ghc-options: -Werror
package galley
ghc-options: -Werror
package galley-types
ghc-options: -Werror
package gundeck
ghc-options: -Werror
package gundeck-types
ghc-options: -Werror
package hscim
ghc-options: -Werror
package imports
ghc-options: -Werror
package makedeb
ghc-options: -Werror
package metrics-core
ghc-options: -Werror
package metrics-wai
ghc-options: -Werror
package migrate-sso-feature-flag
ghc-options: -Werror
package move-team
ghc-options: -Werror
package polysemy-wire-zoo
ghc-options: -Werror
package proxy
ghc-options: -Werror
package repair-handles
ghc-options: -Werror
package rex
ghc-options: -Werror
package ropes
ghc-options: -Werror
package schema-profunctor
ghc-options: -Werror
package service-backfill
ghc-options: -Werror
package sodium-crypto-sign
ghc-options: -Werror
package spar
ghc-options: -Werror
package ssl-util
ghc-options: -Werror
package stern
ghc-options: -Werror
package tasty-cannon
ghc-options: -Werror
package types-common
ghc-options: -Werror
package types-common-aws
ghc-options: -Werror
package types-common-journal
ghc-options: -Werror
package wai-utilities
ghc-options: -Werror
package wire-api
ghc-options: -Werror
package wire-api-federation
ghc-options: -Werror
package wire-message-proto-lens
ghc-options: -Werror
package zauth
ghc-options: -Werror
Loading