diff --git a/gitea/docker-compose.yml b/gitea/docker-compose.yml index 3fd6af3..5efab21 100644 --- a/gitea/docker-compose.yml +++ b/gitea/docker-compose.yml @@ -48,3 +48,17 @@ services: - gitea volumes: - ./postgres:/var/lib/postgresql/data + + runner: + image: cerc/act-runner:local + restart: always + environment: + - GITEA_INSTANCE_INSECURE=1 + - GITEA_RUNNER_REGISTRATION_TOKEN=eMdEwIzSo87nBh0UFWZlbp308j6TNWr3WhWxQqIc + - GITEA_INSTANCE_URL=http://host.docker.internal:3000 + - GITEA_RUNNER_LABELS=ubuntu-latest:docker://cerc/act_runner-task-executor:local,ubuntu-22.04:docker://cerc/act_runner-task-executor:local + networks: + - gitea + volumes: + - /var/run/docker.sock:/var/run/docker.sock + - ./act_runner:/data diff --git a/gitea/initialize-gitea.sh b/gitea/initialize-gitea.sh index 20c552b..b78309a 100755 --- a/gitea/initialize-gitea.sh +++ b/gitea/initialize-gitea.sh @@ -7,6 +7,7 @@ GITEA_USER_EMAIL=${GITEA_USER}@example.com GITEA_NEW_ORGANIZATION=cerc-io GITEA_URL_PREFIX=http://localhost:3000 CERC_GITEA_TOKEN_NAME=laconic-so-publication-token +CERC_GITEA_RUNNER_REGISTRATION_TOKEN=eMdEwIzSo87nBh0UFWZlbp308j6TNWr3WhWxQqIc if [[ -n "$CERC_SCRIPT_DEBUG" ]]; then set -x fi @@ -17,8 +18,7 @@ if [[ -z ${CERC_SO_COMPOSE_PROJECT} ]] ; then else compose_command="docker compose -p ${CERC_SO_COMPOSE_PROJECT}" fi -# HACK: sleep a bit because gitea may not be up yet (container reports it has started before service is available) -sleep 5 +sleep 15 ${compose_command} exec --user git server gitea admin user list --admin | grep -v -e "^ID" | awk '{ print $2 }' | grep ${GITEA_USER} > /dev/null if [[ $? == 1 ]] ; then # Then create if it wasn't found @@ -76,5 +76,10 @@ if [[ $? != 0 ]] ; then -d '{"username": "'${GITEA_NEW_ORGANIZATION}'"}' > /dev/null echo "Created the organization ${GITEA_NEW_ORGANIZATION}" fi + + +# Seed a token for act_runner registration. +docker compose -p ${CERC_SO_COMPOSE_PROJECT} exec db psql -U gitea -d gitea -c "INSERT INTO public.action_runner_token(token, owner_id, repo_id, is_active, created, updated, deleted) VALUES('${CERC_GITEA_RUNNER_REGISTRATION_TOKEN}', 0, 0, 'f', 1679000000, 1679000000, NULL);" >/dev/null + echo "Gitea was configured to use host name: gitea.local, ensure that this resolves to localhost, e.g. with sudo vi /etc/hosts" echo "Success, gitea is properly initialized" diff --git a/gitea/run-this-first.sh b/gitea/run-this-first.sh index 8eb3071..9fdad31 100755 --- a/gitea/run-this-first.sh +++ b/gitea/run-this-first.sh @@ -4,3 +4,4 @@ if [[ -n "$CERC_SCRIPT_DEBUG" ]]; then fi mkdir -p ./gitea mkdir -p ./gitea/ssh +mkdir -p ./act_runner