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 |
||||
[their readme](https://github.com/matrix-org/complement#running). |
||||
## What's that? |
||||
|
||||
Complement works with "base images", this directory (and Dockerfile) helps build the conduit complement-ready docker |
||||
image. |
||||
Have a look at [its repository](https://github.com/matrix-org/complement). |
||||
|
||||
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 .` |
||||
|
||||
Then use `complement-conduit:dev` as a base image for running complement tests. |
||||
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 |
||||
those are. |
||||
|
||||
Loading…
Reference in new issue