01042bc23c
Nuevas funciones bash: gestión Gitea (create_repo, list_repos, add_collaborator, push_directory), install_android_sdk, install_mantine, frontend_doctor. Pipelines: capacitor_build_apk y gitea_init_app. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
80 lines
2.7 KiB
Bash
80 lines
2.7 KiB
Bash
#!/usr/bin/env bash
|
|
# Pipeline: gitea_init_app — Crea repo en Gitea, sube directorio y añade colaborador egutierrez
|
|
set -euo pipefail
|
|
|
|
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
|
|
source "$SCRIPT_DIR/../infra/gitea_create_repo.sh"
|
|
source "$SCRIPT_DIR/../infra/gitea_push_directory.sh"
|
|
source "$SCRIPT_DIR/../infra/gitea_add_collaborator.sh"
|
|
|
|
main() {
|
|
local directory=""
|
|
local owner=""
|
|
local name=""
|
|
local private="false"
|
|
|
|
# Parsear argumentos
|
|
while [[ $# -gt 0 ]]; do
|
|
case "$1" in
|
|
--directory) directory="$2"; shift 2 ;;
|
|
--owner) owner="$2"; shift 2 ;;
|
|
--name) name="$2"; shift 2 ;;
|
|
--private) private="$2"; shift 2 ;;
|
|
*)
|
|
# Argumentos posicionales: directory owner [name] [private]
|
|
if [[ -z "$directory" ]]; then
|
|
directory="$1"
|
|
elif [[ -z "$owner" ]]; then
|
|
owner="$1"
|
|
elif [[ -z "$name" ]]; then
|
|
name="$1"
|
|
else
|
|
private="$1"
|
|
fi
|
|
shift
|
|
;;
|
|
esac
|
|
done
|
|
|
|
if [[ -z "$directory" || -z "$owner" ]]; then
|
|
echo "gitea_init_app: uso: gitea_init_app <directory> <owner> [name] [private]" >&2
|
|
echo "gitea_init_app: o con flags: --directory <dir> --owner <owner> [--name <name>] [--private true]" >&2
|
|
return 1
|
|
fi
|
|
|
|
# Inferir nombre del repo desde basename del directorio si no se especificó
|
|
if [[ -z "$name" ]]; then
|
|
name=$(basename "$directory")
|
|
echo "gitea_init_app: nombre inferido del directorio: '$name'" >&2
|
|
fi
|
|
|
|
if [[ -z "${GITEA_URL:-}" ]]; then
|
|
echo "gitea_init_app: GITEA_URL no está seteada" >&2
|
|
return 1
|
|
fi
|
|
if [[ -z "${GITEA_TOKEN:-}" ]]; then
|
|
echo "gitea_init_app: GITEA_TOKEN no está seteado" >&2
|
|
return 1
|
|
fi
|
|
|
|
echo "gitea_init_app: iniciando pipeline para '$owner/$name'..." >&2
|
|
echo "gitea_init_app: directorio fuente: '$directory'" >&2
|
|
|
|
# Paso 1: Crear repo
|
|
echo "gitea_init_app: [1/3] creando repositorio..." >&2
|
|
gitea_create_repo "$owner" "$name" "$private" "" > /dev/null
|
|
|
|
# Paso 2: Subir directorio
|
|
echo "gitea_init_app: [2/3] subiendo directorio al repositorio..." >&2
|
|
gitea_push_directory "$directory" "$owner" "$name"
|
|
|
|
# Paso 3: Añadir colaborador egutierrez con permisos admin
|
|
echo "gitea_init_app: [3/3] añadiendo colaborador egutierrez..." >&2
|
|
gitea_add_collaborator "$owner" "$name" "egutierrez" "admin"
|
|
|
|
echo "gitea_init_app: pipeline completado — ${GITEA_URL}/${owner}/${name}" >&2
|
|
echo "${GITEA_URL}/${owner}/${name}"
|
|
}
|
|
|
|
main "$@"
|