2.9 KiB
RV Launcher
Repo rv-launcher zawiera narzedzie do pracy z workspace RISC-V. W pierwszej
kolejnosci sluzy ono do zarzadzania tokenami; pozostale funkcje obejmuja prace
z kartami pracy i uruchamianie srodowiska kontenerowego.
Wlasciwym skryptem CLI jest wykonywalny plik rvctl.py. To on implementuje
zarzadzanie tokenami, listowanie serii i kart, przygotowanie repo odpowiedzi i
start kontenera.
Publicznym entrypointem dla uzytkownika jest krotki wrapper rvctl:
./rvctl
Wrapper uruchamia:
python3 rvctl.py "$@"
rvctl.py mozna tez uruchomic bezposrednio:
./rvctl.py
Sciezki i domyslne ustawienia sa trzymane w workspace.json.
Co robi narzedzie
rvctl porzadkuje prace w trzech obszarach.
-
Zarzadzanie tokenami
Narzedzie obsluguje lokalny store
tokens/tokens.json, porownuje go z git remotes i potrafi synchronizowac token w obie strony. Szczegoly modelu, format pliku i opis komend sa wdoc/tokens.md. -
Listowanie i pobieranie kart pracy
rvctlczyta serie i karty z workspace, pomaga wybrac material do pracy oraz przygotowuje remotes potrzebne do repo odpowiedzi. Szczegoly komendlist-series,list-cardsisubmissionsa wdoc/rvctl.md. -
Uruchamianie srodowiska programistycznego w kontenerach
Dla wybranej karty
rvctluruchamia sesje tmux i kontener z przygotowanym srodowiskiem developerskim. Szczegoly komendytmux-containersa wdoc/rvctl.md.
Model katalogow
Repozytoria zrodlowe trzymamy poza workspace:
~/dev/edu/repos/rv
Workspace sluzy do klonow roboczych, cwiczen, tokenow i socketow:
~/dev/workspace/rv
Typowy uklad:
~/dev/edu/repos/rv/rv-launcher
~/dev/edu/repos/rv/rv32i-hazard3-env
~/dev/edu/repos/rv/series/<seria>/<karta>
~/dev/workspace/rv/tools/rv-launcher
~/dev/workspace/rv/tools/rv32i-hazard3-env
~/dev/workspace/rv/series/<seria>/<karta>
~/dev/workspace/rv/tokens/tokens.json
rvctl pracuje na kartach z series_root w workspace. Repo zrodlowe w
~/dev/edu/repos/rv sa punktem odniesienia i fallbackiem dla narzedzi.
Szybki start
Najpierw zobacz konfiguracje i dostepne komendy:
./rvctl
./rvctl show-config
Typowy przeplyw pracy:
./rvctl tokens compare
./rvctl list-series
./rvctl list-cards inf
./rvctl tmux-container inf 03 --dry-run
./rvctl tmux-container inf 03 --session rv-inf03 --attach
./rvctl submission inf 03 --class 4i --nick u1
--dry-run jest przydatny przy sprawdzaniu planu uruchomienia lub konfiguracji
repo, zanim narzedzie cos zmieni.
Dokumentacja
doc/rvctl.md- komendy CLI, przelaczniki i przyklady uzyciadoc/tokens.md- model tokenow, synchronizacja remote <-> storedoc/tokens.schema.json- schemattokens/tokens.jsondoc/workspace.md- krotki opis konfiguracji workspace
README jest tylko mapa projektu. Szczegoly operacyjne trzymamy w doc/, zeby
nie dublowac instrukcji w kilku miejscach.