Files
radicle-explorer/scripts/create-seed-fixture
T
Rūdolfs Ošiņšandxphoniex 1a5430aced Rename URN -> ID
Co-authored-by: xphoniex <dj.2dixx@gmail.com>
Signed-off-by: Rūdolfs Ošiņš <rudolfs@osins.org>
2022-12-27 15:43:46 +01:00

95 lines
2.6 KiB
Bash
Executable File

#!/usr/bin/env bash
set -euo pipefail
function cleanup {
docker kill radicle-git-server-test
}
trap cleanup EXIT
PASSPHRASE=asdf
REV=40bdc662b2d48cbfaa87182b21457ef8f861b04a
REPO_ROOT=$(git rev-parse --show-toplevel)
ID=$(echo $RANDOM | md5sum | head -c 8)
BASE_PATH=$REPO_ROOT/tests/tmp/create-seed-fixture-$ID
TEST_REPO_ARCHIVE=$REPO_ROOT/tests/fixtures/repos/source-browsing.tar.bz2
TEST_REPO_NAME=source-browsing
TEST_REPO_PATH=$BASE_PATH/repos/$TEST_REPO_NAME
PALM_RAD_HOME=$BASE_PATH/seeds/palm
ALICE_RAD_HOME=$BASE_PATH/peers/alice
ALICE_CHECKOUT=$BASE_PATH/checkout/alice
BOB_RAD_HOME=$BASE_PATH/peers/bob
BOB_CHECKOUT=$BASE_PATH/checkout/bob
mkdir -p $PALM_RAD_HOME
mkdir -p $ALICE_RAD_HOME
mkdir -p $ALICE_CHECKOUT
mkdir -p $BOB_RAD_HOME
mkdir -p $BOB_CHECKOUT
mkdir -p $TEST_REPO_PATH
tar -xf $TEST_REPO_ARCHIVE -C $TEST_REPO_PATH
RAD_HOME=$PALM_RAD_HOME rad auth --init --name palm --passphrase $PASSPHRASE
docker run \
--detach \
--init \
--publish 8778:8778 \
--rm \
--env RAD_HOME=/app/radicle \
--name radicle-git-server-test \
--volume $PALM_RAD_HOME:/app/radicle \
"gcr.io/radicle-services/git-server:$REV" \
--passphrase $PASSPHRASE \
--allow-unauthorized-keys
# git-server takes a while to copy commit hooks to the monorepo
sleep 10
GIT_AUTHOR_NAME="Alice Liddell"
GIT_AUTHOR_EMAIL="alice@radicle.xyz"
GIT_COMMITTER_NAME="Alice Liddell"
GIT_COMMITTER_EMAIL="alice@radicle.xyz"
RAD_HOME=$ALICE_RAD_HOME rad auth --init --name alice --passphrase $PASSPHRASE
cd $ALICE_CHECKOUT
git clone $TEST_REPO_PATH
cd $TEST_REPO_NAME
git checkout feature/branch
git checkout orphaned-branch
git checkout main
RAD_HOME=$ALICE_RAD_HOME rad init --name "source-browsing" --description "Git repository for source browsing tests" --default-branch "main" --no-confirm
sleep 10
RAD_HOME=$ALICE_RAD_HOME rad push --seed 0.0.0.0:8778 --all --sync
PROJECT_ID=$(rad .)
GIT_AUTHOR_NAME="Bob Belcher"
GIT_AUTHOR_EMAIL="bob@radicle.xyz"
GIT_COMMITTER_NAME="Bob Belcher"
GIT_COMMITTER_EMAIL="bob@radicle.xyz"
RAD_HOME=$BOB_RAD_HOME rad auth --init --name bob --passphrase $PASSPHRASE
cd $BOB_CHECKOUT
RAD_HOME=$BOB_RAD_HOME rad clone $PROJECT_ID --seed 0.0.0.0:8778 --no-confirm
cd $TEST_REPO_NAME
echo "Updated readme" > README.md
git add README.md
git commit --message "Update readme" --date "Mon Nov 21 14:00 2022 +0100"
RAD_HOME=$BOB_RAD_HOME rad push --seed 0.0.0.0:8778
RAD_HOME=$BOB_RAD_HOME rad sync --seed 0.0.0.0:8778 --self
RAD_HOME=$BOB_RAD_HOME rad sync --seed 0.0.0.0:8778
cd $BASE_PATH
tar -cjf palm.tar.bz2 --exclude "post-receive" --exclude "pre-receive" -C $PALM_RAD_HOME .