#!/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 [name] [private]" >&2 echo "gitea_init_app: o con flags: --directory --owner [--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 "$@"