76 lines
3.4 KiB
Markdown
76 lines
3.4 KiB
Markdown
# Explorer Monorepo — Gitea Push
|
||
|
||
**Last Updated:** 2026-02-10
|
||
**Status:** Explorer monorepo uses Gitea as its primary integration remote. **virtual-banker** is not part of and not referenced by explorer-monorepo; it lives as a separate repo in the projects directory (`/home/intlc/projects/virtual-banker`) and on Gitea as [d-bis/virtual-banker](https://gitea.d-bis.org/d-bis/virtual-banker).
|
||
|
||
---
|
||
|
||
## Push all projects (including virtual-banker)
|
||
|
||
To push **every** repo under the projects directory (including **virtual-banker**, **proxmox**, **explorer-monorepo** only via proxmox, etc.) to Gitea in one go, from the **proxmox** repo root:
|
||
|
||
```bash
|
||
cd /path/to/proxmox
|
||
# GITEA_TOKEN from .env or export
|
||
bash scripts/dev-vm/push-all-projects-to-gitea.sh
|
||
```
|
||
|
||
- **Discovered repos:** Direct children of `PROJECTS_DIR` (default `/home/intlc/projects`) that have a `.git` directory.
|
||
- **virtual-banker** is included because it lives at `/home/intlc/projects/virtual-banker`.
|
||
- **explorer-monorepo** is **not** a direct child; push it separately (see “How to push explorer-monorepo” below) if needed.
|
||
|
||
---
|
||
|
||
## Why explorer-monorepo isn’t pushed by the usual script
|
||
|
||
- **explorer-monorepo** is a **submodule** of the proxmox repo (`explorer-monorepo` → `https://gitea.d-bis.org/d-bis/explorer-monorepo.git`).
|
||
- **push-all-projects-to-gitea.sh** only considers **direct children** of `PROJECTS_DIR` (default `/home/intlc/projects`), i.e. sibling repos like `proxmox`, `dbis_core`, not subdirectories/submodules inside proxmox.
|
||
- So explorer-monorepo is never discovered or pushed by that script.
|
||
|
||
---
|
||
|
||
## How to push explorer-monorepo to Gitea
|
||
|
||
### 1. Create the repo on Gitea (if it doesn’t exist)
|
||
|
||
From the proxmox repo root, using the same token and org as elsewhere:
|
||
|
||
```bash
|
||
GITEA_TOKEN=xxx bash scripts/dev-vm/gitea-create-orgs-and-repos.sh --dry-run # optional: check list
|
||
GITEA_TOKEN=xxx bash scripts/dev-vm/gitea-create-orgs-and-repos.sh # creates d-bis/explorer-monorepo if missing
|
||
```
|
||
|
||
(`explorer-monorepo` is already in the default `REPO_NAMES` in that script.)
|
||
|
||
### 2. Add Gitea remote and push from the submodule
|
||
|
||
From the **explorer-monorepo** directory (submodule has its own `.git`):
|
||
|
||
```bash
|
||
cd /home/intlc/projects/proxmox/explorer-monorepo
|
||
|
||
# Optional: load Gitea env from proxmox root
|
||
[ -f ../.env ] && set -a && source ../.env && set +a
|
||
|
||
# Add Gitea remote if not already present
|
||
git remote get-url gitea 2>/dev/null || \
|
||
git remote add gitea "https://gitea.d-bis.org/d-bis/explorer-monorepo.git"
|
||
|
||
# Push current branch (e.g. main)
|
||
BRANCH=$(git branch --show-current)
|
||
git push "https://${GITEA_TOKEN}@gitea.d-bis.org/d-bis/explorer-monorepo.git" "$BRANCH" --set-upstream
|
||
```
|
||
|
||
Use the same **GITEA_TOKEN** as for other Gitea operations (e.g. from proxmox `.env` or Gitea → Settings → Applications).
|
||
|
||
### 3. If you get HTTP 413 on push
|
||
|
||
If the repo is large and the push fails with **HTTP 413**, follow [GITEA_LARGE_PUSH_HTTP_413.md](GITEA_LARGE_PUSH_HTTP_413.md) to raise `HTTP_MAX_REQUEST_BODY` in Gitea and `client_max_body_size` in NPMplus for `gitea.d-bis.org`.
|
||
|
||
---
|
||
|
||
## After pushing
|
||
|
||
- In Gitea, add labels per [GITEA_ORG_STRUCTURE.md](GITEA_ORG_STRUCTURE.md): e.g. `project/explorer`, `domain/blockchain` / `domain/web` as appropriate.
|
||
- The proxmox repo now points at Gitea for this submodule by default. After cloning or after remote changes, run `git submodule sync explorer-monorepo` so local submodule config follows `.gitmodules`.
|