mirror of
https://seed.radicle.dev/rad:z4V1sjrXqjvFdnCUbxPFqd5p4DtH5.git
synced 2026-10-27 07:30:34 +08:00
Co-authored-by: xphoniex <dj.2dixx@gmail.com> Signed-off-by: Rūdolfs Ošiņš <rudolfs@osins.org>
95 lines
2.6 KiB
Bash
Executable File
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 .
|