Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

complete nirvai/boat #6

Open
16 tasks
noahehall opened this issue Mar 14, 2023 · 0 comments
Open
16 tasks

complete nirvai/boat #6

noahehall opened this issue Mar 14, 2023 · 0 comments

Comments

@noahehall
Copy link
Contributor

noahehall commented Mar 14, 2023

C

  • logic in Nirv scripts has become too mission-critical for bash
  • Boat should be used instead, especially for hashistack related scripts

T

  • ADRs
    • can create and execute Duties
    • can create and execute Pipelines
    • can install packages, especially through transport
    • can create Decks, especiialy for development
  • Sanity check
    • high probability the functionality in nirvai/scripts can be ported to boat with light boat rework
      • focus on hashistack related scripts
  • quickies
    • deal with the growing list of asides
    • remember to clean up the doc comments
    • remember to clean up the inlined todos
    • ADRs need to be refreshed
    • add bddAsync to bdd: we'll need it for fetching remote files and other things down stream
    • ensure procs have runnableExamples
    • update github action to not auto run for Draft prs
    • figure out why docgen reports 404 when loading html files from root/_._/something/here.html
      • might be something with github pages, not sure if _._ is valid for a uri, dunno
      • create a ticket with nimlang if unable to figure out / its actually a bug and not somethign stupid we did
    • you merged dependabot without setting it up lol
    • reduce the amount of case of statements in procs, and instead use overloads
      • push this off until somewhere close to the end, and after you take a look at the program interface in general

A


# from config round 1

--- 
DONE
remember self.use maybe different than the effective path

    e.g. user provides a directory
    e.g. user provides a remote location

this should follow the existing pattern of proc(self: config, path = self.use)
- if self.use != path we know captains log should point all requests for self.use to path
-- this issue only surfaces when self.use points to a directory, as remote URIs must point to a manifest
-- ^ when this is encountered we should mutate self.use to self.use / manifestName
-- ^ if the directory doesnt contain a manifest.nim.ini the existing logic with throw

---
TODO
we didnt spend enough time thinking through the caching strategy
it should look like

    captainslog
        contains > actions taken that impact runtime logic
        points to > cachedDir/cached files
        etc

the idea is not to bloat captains log as it will likely be write & read heavy at runtime

    anything thats not critical to runtime usage should be in a separate cached file
        e.g. all the intialization logic in Config
update ADRs to include a breakdown of Boat's lifecycle
that will help cement what needs to go where

---
TODO
; confirm $HOME can be parsed to absolute path
; ^ FYI: $HOME wont be available for accounts without a $HOME dir (e.g. some sys accounts)
; ^^ supporting these accounts will likely increase scope
; ^^ check implementation of nimlangs getHomeDir() which may have already solved this problem
; ^^^ else move this to a post-alpha issue on the project board
---
---
TODO
- [ ] all the methods in manifest.nim log warnings
  - e.g. `manifest.nim(45, 8) Warning: method has lock level <unknown>, but another method has 0 [LockLevel]` 
 ---
@noahehall noahehall mentioned this issue Mar 14, 2023
1 task
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
Status: SLOW lane
Development

No branches or pull requests

1 participant