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

Balena removal: opentrons integration: Execute integration #2877

Closed
sfoster1 opened this issue Jan 4, 2019 · 0 comments
Closed

Balena removal: opentrons integration: Execute integration #2877

sfoster1 opened this issue Jan 4, 2019 · 0 comments
Labels
api Affects the `api` project extra-large robot-os Affects the robot's operating system

Comments

@sfoster1
Copy link
Member

sfoster1 commented Jan 4, 2019

Per #2876 integrate the buildroot and opentrons repos:

  1. As an Opentrons API developer, I want to be able to do my work without ever thinking about buildroot, with as little change from the current state of affairs as possible
  2. As an Opentrons system developer, I want to be able to easily coordinate changes in the API server and buildroot layers
  3. As an Opentrons devops/infrastructure person, I want to always have buildroot builds available for canonically "latest" builds

These lead to this implementation strategy:

The opentrons api (and possibly the update server / some new embodiment of the update server) are added to buildroot as python packages, built from source.

The version of the api used is determined by the following rules:

On the CI side, we have the following triggers:

On push and pr open to https://github.com/opentrons/buildroot:

  • Build buildroot using the above rules

On push and pr open to https://github.com/opentrons/opentrons:

  • If the branch matches a branch in buildroot start a buildroot build of the matching branch (using above logic, but without the default to edge)
  • If the branch is edge [optional: and the diff since last build contains changes to api/, shared-data/, update-server/], build opentrons-develop of buildroot
  • If neither of those rules match, do not build buildroot

Change make push-api to:

  • remount the rootfs rw
  • transfer the wheel
  • pip install the wheel
  • reboot the system

(the push-api part should probably be a different target so as not to interfere with current workflows)

@sfoster1 sfoster1 added api Affects the `api` project robot-os Affects the robot's operating system labels Jan 4, 2019
@sfoster1 sfoster1 added this to the Migrate Off Of Balena milestone Jan 4, 2019
@sfoster1 sfoster1 added the medium label Jan 4, 2019
sfoster1 added a commit to Opentrons/buildroot that referenced this issue Mar 26, 2019
- Adds a BR2_EXTERNAL tree from the
  monorepo (Opentrons/opentrons#3217) and pulls in the opentrons api server to the build.

- Fixes some issues in systemd services and targets. Codebuild rewrites
  broken (and maybe non-broken) absolute links to fit inside its chroot jail,
  which was breaking the absolute links that aren’t supposed to be valid until
  they’re on the robot

- Add a VERSIONS file taken from a combination of the buildroot version (from
  git) and opentrons api server versions (from package.json) and save to
  /etc/VERSIONS.json

- VERSIONS.json is a new artifact and also zipped up with the full images and
  update images when uploaded to s3

Closes Opentrons/opentrons#2877
sfoster1 added a commit to Opentrons/buildroot that referenced this issue Mar 26, 2019
- Adds a BR2_EXTERNAL tree from the
  monorepo (Opentrons/opentrons#3217) and pulls in the opentrons api server to the build.

- Fixes some issues in systemd services and targets. Codebuild rewrites
  broken (and maybe non-broken) absolute links to fit inside its chroot jail,
  which was breaking the absolute links that aren’t supposed to be valid until
  they’re on the robot

- Add a VERSIONS file taken from a combination of the buildroot version (from
  git) and opentrons api server versions (from package.json) and save to
  /etc/VERSIONS.json

- VERSIONS.json is a new artifact and also zipped up with the full images and
  update images when uploaded to s3

Closes Opentrons/opentrons#2877
sfoster1 added a commit to Opentrons/buildroot that referenced this issue Jan 4, 2024
- Adds a BR2_EXTERNAL tree from the
  monorepo (Opentrons/opentrons#3217) and pulls in the opentrons api server to the build.

- Fixes some issues in systemd services and targets. Codebuild rewrites
  broken (and maybe non-broken) absolute links to fit inside its chroot jail,
  which was breaking the absolute links that aren’t supposed to be valid until
  they’re on the robot

- Add a VERSIONS file taken from a combination of the buildroot version (from
  git) and opentrons api server versions (from package.json) and save to
  /etc/VERSIONS.json

- VERSIONS.json is a new artifact and also zipped up with the full images and
  update images when uploaded to s3

Closes Opentrons/opentrons#2877
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
api Affects the `api` project extra-large robot-os Affects the robot's operating system
Projects
None yet
Development

No branches or pull requests

1 participant