Skip to content

Commit

Permalink
Merge pull request #1929 from wireapp/release_2021_11_15
Browse files Browse the repository at this point in the history
  • Loading branch information
akshaymankar authored Nov 16, 2021
2 parents d6b9490 + 0106e27 commit 793b764
Show file tree
Hide file tree
Showing 494 changed files with 13,806 additions and 4,940 deletions.
31 changes: 31 additions & 0 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
on:
pull_request:
push:
branches: [master]

jobs:
build-dev-env:
name: Build dev env
strategy:
matrix:
os:
- ubuntu-latest
# This is too expensive
# - macos-latest
runs-on: ${{ matrix.os }}
steps:
- uses: actions/checkout@v2
with:
submodules: true
- uses: cachix/[email protected]
- uses: cachix/cachix-action@v10
with:
name: wire-server
signingKey: '${{ secrets.CACHIX_SIGNING_KEY }}'
authToken: '${{ secrets.CACHIX_AUTH_TOKEN }}'
- name: Build the wire-server-direnv
run: nix-build --no-out-link direnv.nix
- name: Install the wire-server-direnv
run: nix-env -f direnv.nix -i
- name: Ensure everything is formatted
run: make formatc
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
45 changes: 45 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,50 @@
<!-- if you're not the release manager, do your edits to changelog under CHANGELOG.d/ -->

# [2021-11-15]

## Release notes

* 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)
* Deploy galley before brig. (#1857)
* Upgrade webapp version to 2021-11-01-production.0-v0.28.29-0-d919633 (#1856)

## API changes

* Remove locale from publicly facing user profiles (but not from the self profile) (#1888)

## Features

* End-points for configuring self-deleting messages. (#1857)

## Bug fixes and other updates

* Ensure that all endpoints have a correct handler in prometheus metrics (#1919)
* Push events when AppLock or SelfDeletingMessages config change. (#1901)

## Documentation

* Federation: Document how to deploy local builds (#1880)

## Internal changes

* Add a 'filterNodesByDatacentre' config option useful during cassandra DC migration (#1886)
* Add ormolu to the direnv, add a GH Action to ensure formatting (#1908)
* Turn placeholder access effects into actual Polysemy effects. (#1904)
* Fix a bug in the IdP.Mem interpreter, and added law tests for IdP (#1863)
* Introduce fine-grained error types and polysemy error effects in Galley. (#1907)
* Add polysemy store effects and split off Cassandra specific functionality from the Galley.Data module hierarchy (#1890, #1906). (#1890)
* Make golden-tests in wire-api package a separate test suite (for faster feedback loop during development). (#1926)
* Separate IdPRawMetadataStore effect from IdP effect (#1924)
* Test sending message to multiple remote domains (#1899)
* Use cabal to build wire-server (opt-in) (#1853)

## Federation changes

* Close GRPC client after making a request to a federator. (#1865)
* Do not fail user deletion when a remote notification fails (#1912)
* Add a one-to-one conversation test in getting conversations in the federation API (#1899)
* Notify remote participants when a user leaves a conversation because they were deleted (#1891)

# [2021-10-29]

## Release notes
Expand Down
46 changes: 38 additions & 8 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 All @@ -54,12 +79,12 @@ services: init install
# Build haddocks
.PHONY: haddock
haddock:
WIRE_STACK_OPTIONS="--haddock --haddock-internal" make fast
WIRE_STACK_OPTIONS="$(WIRE_STACK_OPTIONS) --haddock --haddock-internal" make fast

# Build haddocks only for wire-server
.PHONY: haddock-shallow
haddock-shallow:
WIRE_STACK_OPTIONS="--haddock --haddock-internal --no-haddock-deps" make fast
WIRE_STACK_OPTIONS="$(WIRE_STACK_OPTIONS) --haddock --haddock-internal --no-haddock-deps" make fast

# formats all Haskell files (which don't contain CPP)
.PHONY: format
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 Expand Up @@ -277,6 +303,10 @@ kube-integration-test:
kube-integration-teardown:
export NAMESPACE=$(NAMESPACE); ./hack/bin/integration-teardown-federation.sh

.PHONY: kube-integration-e2e-telepresence
kube-integration-e2e-telepresence:
./services/brig/federation-tests.sh $(NAMESPACE)

.PHONY: kube-integration-setup-sans-federation
kube-integration-setup-sans-federation: guard-tag charts-integration
# by default "test-<your computer username> is used as namespace
Expand Down
Loading

0 comments on commit 793b764

Please sign in to comment.