justfile

1
verse_repo := env_var_or_default("VERSE_REPO", "../verse")
2
 
3
build:
4
	docker build --build-context verse={{verse_repo}} -t riddim .
5
 
6
build-release:
7
	#!/bin/bash
8
	DIR=$(mktemp -d)
9
	hg archive "$DIR"
10
	docker build --build-context verse={{verse_repo}} -t mwild1/riddim "$DIR"
11
	rm -rf -- "$DIR"
12
 
13
release: build-release
14
	docker push mwild1/riddim:latest
15
 
16
run:
17
	docker run --rm --env-file=CONFIG.env -v "$PWD/config.lua:/etc/riddim/config.lua" riddim
18
 
19
# Bring up a local Prosody+riddim and run the end-to-end test
20
test:
21
	cd test && docker compose up --build -d prosody riddim && docker compose run --build --rm tester
22
 
23
# Test recovery from a silent remote-MUC restart (XEP-0410, muc_ping plugin)
24
muc-test:
25
	#!/bin/bash
26
	set -ex
27
	cd test
28
	docker compose up --build -d prosody remotemuc riddim
29
	docker compose run --build --rm muc-tester 60
30
	# Kill the remote MUC server without letting it notify anyone, then bring
31
	# up a fresh instance that has no saved MUC state (and so no occupants)
32
	docker compose kill remotemuc
33
	docker compose up -d --force-recreate remotemuc
34
	docker compose run --rm muc-tester 120