mirror of https://gitlab.com/famedly/conduit.git
Browse Source
Well, kinda. It crashed on me after 10 minutes because the tests timed out like in <https://github.com/matrix-org/complement/issues/394>. Sounds like this means it's a them problem though. I want to use Nix to build this image instead in the future but this will at least make it work for now and give me a reference for while I'm porting it. I also want to make Conduit natively understand Complement's requirements instead of `sed`ing a bunch of stuff and needing a reverse proxy in the container. Should be more reliable that way. I'm not making this run in CI until the above stuff is addressed and until I can decide on a way to pin the revision of Complement being tested against.merge-requests/594/head
4 changed files with 72 additions and 33 deletions
@ -0,0 +1,37 @@ |
|||||||
|
#!/usr/bin/env bash |
||||||
|
|
||||||
|
set -euo pipefail |
||||||
|
|
||||||
|
# Path to Complement's source code |
||||||
|
COMPLEMENT_SRC="$1" |
||||||
|
|
||||||
|
# A `.jsonl` file to write test logs to |
||||||
|
LOG_FILE="$2" |
||||||
|
|
||||||
|
# A `.jsonl` file to write test results to |
||||||
|
RESULTS_FILE="$3" |
||||||
|
|
||||||
|
OCI_IMAGE="complement-conduit:dev" |
||||||
|
|
||||||
|
env \ |
||||||
|
-C "$(git rev-parse --show-toplevel)" \ |
||||||
|
docker build \ |
||||||
|
--tag "$OCI_IMAGE" \ |
||||||
|
--file complement/Dockerfile \ |
||||||
|
. |
||||||
|
|
||||||
|
# It's okay (likely, even) that `go test` exits nonzero |
||||||
|
set +o pipefail |
||||||
|
env \ |
||||||
|
-C "$COMPLEMENT_SRC" \ |
||||||
|
COMPLEMENT_BASE_IMAGE="$OCI_IMAGE" \ |
||||||
|
go test -json ./tests | tee "$LOG_FILE" |
||||||
|
set -o pipefail |
||||||
|
|
||||||
|
# Post-process the results into an easy-to-compare format |
||||||
|
cat "$LOG_FILE" | jq -c ' |
||||||
|
select( |
||||||
|
(.Action == "pass" or .Action == "fail" or .Action == "skip") |
||||||
|
and .Test != null |
||||||
|
) | {Action: .Action, Test: .Test} |
||||||
|
' | sort > "$RESULTS_FILE" |
||||||
@ -1,13 +1,11 @@ |
|||||||
# Running Conduit on Complement |
# Complement |
||||||
|
|
||||||
This assumes that you're familiar with complement, if not, please readme |
## What's that? |
||||||
[their readme](https://github.com/matrix-org/complement#running). |
|
||||||
|
|
||||||
Complement works with "base images", this directory (and Dockerfile) helps build the conduit complement-ready docker |
Have a look at [its repository](https://github.com/matrix-org/complement). |
||||||
image. |
|
||||||
|
|
||||||
To build, `cd` to the base directory of the workspace, and run this: |
## How do I use it with Conduit? |
||||||
|
|
||||||
`docker build -t complement-conduit:dev -f complement/Dockerfile .` |
The script at [`../bin/complement`](../bin/complement) has automation for this. |
||||||
|
It takes a few command line arguments, you can read the script to find out what |
||||||
Then use `complement-conduit:dev` as a base image for running complement tests. |
those are. |
||||||
|
|||||||
Loading…
Reference in new issue