Skip to content

Files

Latest commit

34fff34 · Mar 8, 2025

History

History
72 lines (60 loc) · 3.44 KB

TODO.md

File metadata and controls

72 lines (60 loc) · 3.44 KB

TODO

Bugs

unintended behaviour that should be fixed

  • When using OWN_REPOSITORY on a new instance, without one previously built package, the containers can't udpate themselves

Polish

polish for a better user experience

  • Add more debug and info logs
  • Make tables of cli adaptive to text width
  • Disclaimer about pkgbuilds
  • Clear versioning
  • Shell completions with dynamic packages
  • show webhooks feature in infos
  • fix cli PKGBUILD so version doesn't have a v- prefix
  • Wait for build on multiple packages
  • Add troubleshooting section to docs (e.g. for when build lock is set but failed beyond fatally)
  • clap binary name is off in help cmd
  • Proper documentation in a docs folder or something

Cleanness

changes for a cleaner overall process

  • Enable multilib in build container
  • Set makepkg.conf to build to /app/target (to avoid conflicts with any packages)
  • Figure something out to avoid code duplication from server to cli
  • Cache more data inside the sources after upgrading, so that we don't have to read the filesystem as often
  • Create aur-specific normal source, so that we can check for updating without git
  • Combine devel and non-devel git sources
  • Show info about source (type, some url) on serene info
  • Move SRCINFO gen to container because the current impl is veery sketchy
  • Be able to view pkgbuild from cli
  • More efficient queries for the web handlers
  • Combine DB and Broadcast to one "storage" object

Improvements

not too heavy improvement which can be made

  • Removal of packages from the server
  • Pre-launch scripts to configure container specifically for package (e.g. with eww's keys)
  • serene check command to compare output of pacman -Qm
  • allow changing of settings for package, e.g. enable, schedule, clean
  • allow inspection of builds through cli
  • on-boarding screen when first using the cli, with config to configure pacman, validate server connection
  • Build cli by default on server
  • Pull runner image automatically on startup and periodically
  • Rebuild cleaned when non-clean containers fail
  • Add itself as a source to build container, so we have rudimentary aur dependency support
  • Import server public key through cli
  • add serene manage key to retrieve the server key
  • Add build reason to build struct (#10)
  • Purge logs after a certain age
  • Create serene manage purge command which removes all deps that are no longer needed
  • Add a srcinfo-gen setting to packages which will tell serene to generate a srcinfo before each build to fix bad packages, see #21
  • Generate a keyring package the user can use to import the keys (is this even possible?) ref https://wiki.archlinux.org/title/Talk:Pacman/Package_signing#Addition_of_guide_to_create_unofficial_keyrings

Must haves

features that are required to make this at least usable

  • Store state in a database and not a json file
  • Signing packages
  • Local / Custom source, where a user can upload a custom pkgbuild

Future

things that would be nice but are absolutely not priority

  • Handle in-aur dependencies
  • Allow attachment at build process to view logs real-time
  • Web frontend to view package status - out of scope, can easily be achieved as an external thing
  • Support other vcs than git for devel packages