robotpy / robotpy/robotpy-installer

installer deploy support for on-robot development

Open
#164 4 comments 1 reaction 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
Python
Stars
6
Forks
18
Avg merge
34m
Merged PRs (30d)
1

Description

When a user is doing development on systemcore, we need a way to deploy code locally. This issue is here to collect requirements and questions/discussion for that. The documentation for the current deploy is at https://github.com/robotpy/robotpy-docs/blob/main/dev/deploy.rst

Eventual products the deploy needs to create:

  • standalone python needs to be extracted to /home/systemcore/.python
  • a venv with robotpy + requirements needs to be created at /home/systemcore/venv

Questions:

  • Should the standalone python tar file be installed on the robot, or the extracted version? What is responsible for putting it there, the ipk? Where is that built?
  • Is the venv created from a set of wheels, or is it created and shipped as an ipk?
    • What about vendor wheels + support? How do they get on the robot?
  • robotpy-installer needs to exist somewhere
  • How much does disk space matter? I think there's only 4GB or so on the systemcore partition, that will only go so far
  • What user is this running as?
  • If blocks is running these commands, they need to not ask the user questions from stdin -- what's the best way to facilitate this sort of thing?

Ideas:

  • My thought is probably the local installer functionality should be run via robotpy installer subcommands
  • When we make a robotpy release via robotpy-meta, it runs an install to ensure that everything works. Maybe the wheel bundle should be created by robotpy-meta and made available as a tarfile or something that can be downloaded from github releases or artifactory?
  • Resulting deployed environment should be identical for on-bot and off-bot development

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start with the current deployment documentation in robotpy-docs at dev/deploy.rst, then review the listed requirements and open questions in this issue. Trace the proposed robotpy installer subcommands and robotpy-meta release flow; this issue is done when the deployment artifacts, installation ownership, runtime user, noninteractive behavior, and storage constraints have agreed requirements.

Written by the indexing model from the issue text.

Assessment

Tech stack
python
Domain
cli, devops
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Quiet
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.