Skip to content

Commit 793b764

Browse files
authored
Merge pull request #1929 from wireapp/release_2021_11_15
2 parents d6b9490 + 0106e27 commit 793b764

File tree

494 files changed

+13806
-4940
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

494 files changed

+13806
-4940
lines changed

.github/workflows/ci.yml

Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
on:
2+
pull_request:
3+
push:
4+
branches: [master]
5+
6+
jobs:
7+
build-dev-env:
8+
name: Build dev env
9+
strategy:
10+
matrix:
11+
os:
12+
- ubuntu-latest
13+
# This is too expensive
14+
# - macos-latest
15+
runs-on: ${{ matrix.os }}
16+
steps:
17+
- uses: actions/checkout@v2
18+
with:
19+
submodules: true
20+
- uses: cachix/[email protected]
21+
- uses: cachix/cachix-action@v10
22+
with:
23+
name: wire-server
24+
signingKey: '${{ secrets.CACHIX_SIGNING_KEY }}'
25+
authToken: '${{ secrets.CACHIX_AUTH_TOKEN }}'
26+
- name: Build the wire-server-direnv
27+
run: nix-build --no-out-link direnv.nix
28+
- name: Install the wire-server-direnv
29+
run: nix-env -f direnv.nix -i
30+
- name: Ensure everything is formatted
31+
run: make formatc

.gitignore

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -99,3 +99,7 @@ b.yaml
9999
telepresence.log
100100

101101
/.ghci
102+
103+
# local config
104+
.envrc.local
105+
cabal.project.local

CHANGELOG.md

Lines changed: 45 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,50 @@
11
<!-- if you're not the release manager, do your edits to changelog under CHANGELOG.d/ -->
22

3+
# [2021-11-15]
4+
5+
## Release notes
6+
7+
* In case you use a multi-datacentre cassandra setup (most likely you do not), be aware that now [LOCAL_QUORUM](https://docs.datastax.com/en/cassandra-oss/3.0/cassandra/dml/dmlConfigConsistency.html) is in use as a default. (#1884)
8+
* Deploy galley before brig. (#1857)
9+
* Upgrade webapp version to 2021-11-01-production.0-v0.28.29-0-d919633 (#1856)
10+
11+
## API changes
12+
13+
* Remove locale from publicly facing user profiles (but not from the self profile) (#1888)
14+
15+
## Features
16+
17+
* End-points for configuring self-deleting messages. (#1857)
18+
19+
## Bug fixes and other updates
20+
21+
* Ensure that all endpoints have a correct handler in prometheus metrics (#1919)
22+
* Push events when AppLock or SelfDeletingMessages config change. (#1901)
23+
24+
## Documentation
25+
26+
* Federation: Document how to deploy local builds (#1880)
27+
28+
## Internal changes
29+
30+
* Add a 'filterNodesByDatacentre' config option useful during cassandra DC migration (#1886)
31+
* Add ormolu to the direnv, add a GH Action to ensure formatting (#1908)
32+
* Turn placeholder access effects into actual Polysemy effects. (#1904)
33+
* Fix a bug in the IdP.Mem interpreter, and added law tests for IdP (#1863)
34+
* Introduce fine-grained error types and polysemy error effects in Galley. (#1907)
35+
* Add polysemy store effects and split off Cassandra specific functionality from the Galley.Data module hierarchy (#1890, #1906). (#1890)
36+
* Make golden-tests in wire-api package a separate test suite (for faster feedback loop during development). (#1926)
37+
* Separate IdPRawMetadataStore effect from IdP effect (#1924)
38+
* Test sending message to multiple remote domains (#1899)
39+
* Use cabal to build wire-server (opt-in) (#1853)
40+
41+
## Federation changes
42+
43+
* Close GRPC client after making a request to a federator. (#1865)
44+
* Do not fail user deletion when a remote notification fails (#1912)
45+
* Add a one-to-one conversation test in getting conversations in the federation API (#1899)
46+
* Notify remote participants when a user leaves a conversation because they were deleted (#1891)
47+
348
# [2021-10-29]
449

550
## Release notes

Makefile

Lines changed: 38 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -39,12 +39,37 @@ init:
3939
# Build all Haskell services and executables, run unit tests
4040
.PHONY: install
4141
install: init
42+
ifeq ($(WIRE_BUILD_WITH_CABAL), 1)
43+
cabal build all
44+
./hack/bin/cabal-run-all-tests.sh
45+
./hack/bin/cabal-install-all-artefacts.sh
46+
else
4247
stack install --pedantic --test --bench --no-run-benchmarks --local-bin-path=dist
48+
endif
4349

4450
# Build all Haskell services and executables with -O0, run unit tests
4551
.PHONY: fast
4652
fast: init
53+
ifeq ($(WIRE_BUILD_WITH_CABAL), 1)
54+
make install
55+
else
4756
stack install --pedantic --test --bench --no-run-benchmarks --local-bin-path=dist --fast $(WIRE_STACK_OPTIONS)
57+
endif
58+
59+
# Usage: make c package=brig test=1
60+
.PHONY: c
61+
c:
62+
cabal build $(WIRE_CABAL_BUILD_OPTIONS) $(package)
63+
ifeq ($(test), 1)
64+
./hack/bin/cabal-run-tests.sh $(package)
65+
endif
66+
./hack/bin/cabal-install-artefacts.sh $(package)
67+
68+
# ci here doesn't refer to continuous integration, but to cabal-integration
69+
# Usage: make ci package=brig test=1
70+
.PHONY: ci
71+
ci: c
72+
make -C services/$(package) i-$(pattern)
4873

4974
# Build everything (Haskell services and nginz)
5075
.PHONY: services
@@ -54,12 +79,12 @@ services: init install
5479
# Build haddocks
5580
.PHONY: haddock
5681
haddock:
57-
WIRE_STACK_OPTIONS="--haddock --haddock-internal" make fast
82+
WIRE_STACK_OPTIONS="$(WIRE_STACK_OPTIONS) --haddock --haddock-internal" make fast
5883

5984
# Build haddocks only for wire-server
6085
.PHONY: haddock-shallow
6186
haddock-shallow:
62-
WIRE_STACK_OPTIONS="--haddock --haddock-internal --no-haddock-deps" make fast
87+
WIRE_STACK_OPTIONS="$(WIRE_STACK_OPTIONS) --haddock --haddock-internal --no-haddock-deps" make fast
6388

6489
# formats all Haskell files (which don't contain CPP)
6590
.PHONY: format
@@ -232,14 +257,15 @@ libzauth:
232257
#
233258
# Run this again after changes to libraries or dependencies.
234259
.PHONY: hie.yaml
235-
hie.yaml: stack-dev.yaml
236-
stack build implicit-hie
237-
stack exec gen-hie | yq "{cradle: {stack: {stackYaml: \"./stack-dev.yaml\", components: .cradle.stack}}}" > hie.yaml
238-
239-
.PHONY: stack-dev.yaml
240-
stack-dev.yaml:
260+
hie.yaml:
261+
ifeq ($(WIRE_BUILD_WITH_CABAL), 1)
262+
echo -e 'cradle:\n cabal: {}' > hie.yaml
263+
else
241264
cp stack.yaml stack-dev.yaml
242265
echo -e '\n\nghc-options:\n "$$locals": -O0 -Wall -Werror' >> stack-dev.yaml
266+
stack build implicit-hie
267+
stack exec gen-hie | yq "{cradle: {stack: {stackYaml: \"./stack-dev.yaml\", components: .cradle.stack}}}" > hie.yaml
268+
endif
243269

244270
#####################################
245271
# Today we pretend to be CI and run integration tests on kubernetes
@@ -277,6 +303,10 @@ kube-integration-test:
277303
kube-integration-teardown:
278304
export NAMESPACE=$(NAMESPACE); ./hack/bin/integration-teardown-federation.sh
279305

306+
.PHONY: kube-integration-e2e-telepresence
307+
kube-integration-e2e-telepresence:
308+
./services/brig/federation-tests.sh $(NAMESPACE)
309+
280310
.PHONY: kube-integration-setup-sans-federation
281311
kube-integration-setup-sans-federation: guard-tag charts-integration
282312
# by default "test-<your computer username> is used as namespace

0 commit comments

Comments
 (0)