Move source repos under dev/edu

This commit is contained in:
mpabi
2026-04-26 13:02:12 +02:00
parent fbf1fb1daa
commit 331e87ff90
4 changed files with 34 additions and 14 deletions
+13 -4
View File
@@ -12,7 +12,7 @@ Launcher do workspace `rv`.
Repo oryginalne trzymamy poza workspace: Repo oryginalne trzymamy poza workspace:
```bash ```bash
~/dev/rv/repos ~/dev/edu/repos/rv
``` ```
Workspace sluzy do klonow roboczych i cwiczen: Workspace sluzy do klonow roboczych i cwiczen:
@@ -24,15 +24,24 @@ Workspace sluzy do klonow roboczych i cwiczen:
Typowy uklad: Typowy uklad:
```text ```text
~/dev/rv/repos/rv-launcher ~/dev/edu/repos/rv/rv-launcher
~/dev/rv/repos/rv32i-hazard3-env ~/dev/edu/repos/rv/rv32i-hazard3-env
~/dev/edu/repos/rv/series/<seria>/<karta>
~/dev/workspace/rv/tools/rv-launcher ~/dev/workspace/rv/tools/rv-launcher
~/dev/workspace/rv/tools/rv32i-hazard3-env ~/dev/workspace/rv/tools/rv32i-hazard3-env
~/dev/workspace/rv/series/<seria>/<karta> ~/dev/workspace/rv/series/<seria>/<karta>
``` ```
Launcher szuka `rv32i-hazard3-env` najpierw w workspace, a jesli nie znajdzie Launcher szuka `rv32i-hazard3-env` najpierw w workspace, a jesli nie znajdzie
klona roboczego, moze uzyc repo oryginalnego z `~/dev/rv/repos`. klona roboczego, moze uzyc repo oryginalnego z `~/dev/edu/repos/rv`.
Karty pracy tez sa rozdzielone:
- `~/dev/edu/repos/rv/series/...` to checkouty zrodlowe, nad ktorymi pracujemy
- `~/dev/workspace/rv/series/...` to klony testowe pobierane z Gitea
Launcher wykonuje `list-series`, `list-cards`, `submission` i `tmux-container`
na kartach z workspace, nie na repo zrodlowych.
## Przygotowanie katalogu ## Przygotowanie katalogu
+13 -5
View File
@@ -7,7 +7,7 @@ Plik opisuje przelaczniki i liste komend skryptu `workspace.py`.
Repo oryginalne trzymamy poza workspace: Repo oryginalne trzymamy poza workspace:
```bash ```bash
~/dev/rv/repos ~/dev/edu/repos/rv
``` ```
Workspace sluzy do klonow roboczych i cwiczen: Workspace sluzy do klonow roboczych i cwiczen:
@@ -19,8 +19,9 @@ Workspace sluzy do klonow roboczych i cwiczen:
Typowy uklad: Typowy uklad:
```text ```text
~/dev/rv/repos/rv-launcher ~/dev/edu/repos/rv/rv-launcher
~/dev/rv/repos/rv32i-hazard3-env ~/dev/edu/repos/rv/rv32i-hazard3-env
~/dev/edu/repos/rv/series/<seria>/<karta>
~/dev/workspace/rv/tools/rv-launcher ~/dev/workspace/rv/tools/rv-launcher
~/dev/workspace/rv/tools/rv32i-hazard3-env ~/dev/workspace/rv/tools/rv32i-hazard3-env
~/dev/workspace/rv/series/<seria>/<karta> ~/dev/workspace/rv/series/<seria>/<karta>
@@ -28,8 +29,14 @@ Typowy uklad:
`workspace.py` czyta karty z `series_root` w workspace. Tool repo `workspace.py` czyta karty z `series_root` w workspace. Tool repo
`rv32i-hazard3-env` wybiera najpierw z workspace, a potem z fallbacku `rv32i-hazard3-env` wybiera najpierw z workspace, a potem z fallbacku
`~/dev/rv/repos` lub `~/dev/rv/tools`, jesli taki klon roboczy jeszcze nie `~/dev/edu/repos/rv`, jesli taki klon roboczy jeszcze nie istnieje.
istnieje.
Karty pracy tez sa rozdzielone:
- `original_series_root` wskazuje repo zrodlowe kart, na przyklad `~/dev/edu/repos/rv/series`
- `series_root` wskazuje klony testowe w workspace, na przyklad `~/dev/workspace/rv/series`
Komendy launchera pracuja na `series_root`, czyli na klonach testowych.
## Pobranie repo i przelaczenie galezi ## Pobranie repo i przelaczenie galezi
@@ -179,6 +186,7 @@ Typowy format:
```text ```text
config_path<TAB>... config_path<TAB>...
original_root<TAB>... original_root<TAB>...
original_series_root<TAB>...
workspace_root<TAB>... workspace_root<TAB>...
series_root<TAB>... series_root<TAB>...
socket_root<TAB>... socket_root<TAB>...
+3 -3
View File
@@ -1,14 +1,14 @@
{ {
"version": 1, "version": 1,
"original_root": "~/dev/rv/repos", "original_root": "~/dev/edu/repos/rv",
"original_series_root": "~/dev/edu/repos/rv/series",
"workspace_root": "~/dev/workspace/rv", "workspace_root": "~/dev/workspace/rv",
"series_root": "~/dev/workspace/rv/series", "series_root": "~/dev/workspace/rv/series",
"socket_root": "~/dev/workspace/rv/sockets", "socket_root": "~/dev/workspace/rv/sockets",
"token_file": "~/dev/workspace/rv/tokens/tokens.json", "token_file": "~/dev/workspace/rv/tokens/tokens.json",
"tools_root_candidates": [ "tools_root_candidates": [
"~/dev/workspace/rv/tools/rv32i-hazard3-env", "~/dev/workspace/rv/tools/rv32i-hazard3-env",
"~/dev/rv/repos/rv32i-hazard3-env", "~/dev/edu/repos/rv/rv32i-hazard3-env"
"~/dev/rv/tools/rv32i-hazard3-env"
], ],
"git": { "git": {
"base_url": "http://77.90.8.171:3001", "base_url": "http://77.90.8.171:3001",
+5 -2
View File
@@ -37,6 +37,7 @@ class GitConfig:
class WorkspaceConfig: class WorkspaceConfig:
config_path: Path config_path: Path
original_root: Path original_root: Path
original_series_root: Path
workspace_root: Path workspace_root: Path
series_root: Path series_root: Path
socket_root: Path socket_root: Path
@@ -51,8 +52,9 @@ def load_config(config_path: Path) -> WorkspaceConfig:
raw = json.loads(config_path.read_text(encoding="utf-8")) raw = json.loads(config_path.read_text(encoding="utf-8"))
base_dir = config_path.parent base_dir = config_path.parent
original_root = expand_path(raw.get("original_root", "~/dev/rv/repos"), base_dir) original_root = expand_path(raw.get("original_root", "~/dev/edu/repos/rv"), base_dir)
workspace_root = expand_path(raw.get("workspace_root", "~/dev/workspace/rv"), base_dir) workspace_root = expand_path(raw.get("workspace_root", "~/dev/workspace/rv"), base_dir)
original_series_root = expand_path(raw.get("original_series_root", str(original_root / "series")), base_dir)
series_root = expand_path(raw.get("series_root", str(workspace_root / "series")), base_dir) series_root = expand_path(raw.get("series_root", str(workspace_root / "series")), base_dir)
socket_root = expand_path(raw.get("socket_root", str(workspace_root / "sockets")), base_dir) socket_root = expand_path(raw.get("socket_root", str(workspace_root / "sockets")), base_dir)
token_path = expand_path(raw.get("token_file", str(workspace_root / "tokens" / "tokens.json")), base_dir) token_path = expand_path(raw.get("token_file", str(workspace_root / "tokens" / "tokens.json")), base_dir)
@@ -62,7 +64,6 @@ def load_config(config_path: Path) -> WorkspaceConfig:
candidate_values = [ candidate_values = [
raw.get("tools_root", str(workspace_root / "tools" / "rv32i-hazard3-env")), raw.get("tools_root", str(workspace_root / "tools" / "rv32i-hazard3-env")),
str(original_root / "rv32i-hazard3-env"), str(original_root / "rv32i-hazard3-env"),
"~/dev/rv/tools/rv32i-hazard3-env",
] ]
tools_root_candidates = [expand_path(value, base_dir) for value in candidate_values] tools_root_candidates = [expand_path(value, base_dir) for value in candidate_values]
@@ -82,6 +83,7 @@ def load_config(config_path: Path) -> WorkspaceConfig:
return WorkspaceConfig( return WorkspaceConfig(
config_path=config_path, config_path=config_path,
original_root=original_root, original_root=original_root,
original_series_root=original_series_root,
workspace_root=workspace_root, workspace_root=workspace_root,
series_root=series_root, series_root=series_root,
socket_root=socket_root, socket_root=socket_root,
@@ -1006,6 +1008,7 @@ def run_tmux_container(config: WorkspaceConfig, args: argparse.Namespace) -> Non
def print_config(config: WorkspaceConfig) -> None: def print_config(config: WorkspaceConfig) -> None:
print(f"config_path\t{config.config_path}") print(f"config_path\t{config.config_path}")
print(f"original_root\t{config.original_root}") print(f"original_root\t{config.original_root}")
print(f"original_series_root\t{config.original_series_root}")
print(f"workspace_root\t{config.workspace_root}") print(f"workspace_root\t{config.workspace_root}")
print(f"series_root\t{config.series_root}") print(f"series_root\t{config.series_root}")
print(f"socket_root\t{config.socket_root}") print(f"socket_root\t{config.socket_root}")