kolibri icon indicating copy to clipboard operation
kolibri copied to clipboard

DevContainer!

Open vkWeb opened this issue 1 year ago • 3 comments

Summary

This is an early draft for the team to look into. To run Kolibri in a DevContainer follow the steps below after getting the PR locally:-

  1. Install Docker and Docker Compose on your system. (Linux: Docker CE/EE 18.06+ and Docker Compose 1.21+)
  2. Install VSCode / PyCharm DevContainers Extension.
  3. Open kolibri project as usual, open command pallete in VSCode by pressing Ctrl + Shift + P then search and select "rebuild and reopen in container". Wait for 5 mins or so, then you'll be presented with a contarised developer enviornment.

TODO --

  • [x] Clean up of the whole legacy docker dev setup. (can be done later on)
  • [x] Update developer docs. (Done with the help of @ThEditor)
  • [x] Test this new devcontainer setup with multiple team members. (Done - tested with @ThEditor who did a fresh kolibri install)

References

Closes https://github.com/learningequality/kolibri/issues/11585. Closes https://github.com/learningequality/kolibri/issues/11368. Closes https://github.com/learningequality/kolibri/issues/11214.

Reviewer guidance


Testing checklist

  • [ ] Contributor has fully tested the PR manually
  • [ ] If there are any front-end changes, before/after screenshots are included
  • [ ] Critical user journeys are covered by Gherkin stories
  • [ ] Critical and brittle code paths are covered by unit tests

PR process

  • [ ] PR has the correct target branch and milestone
  • [ ] PR has 'needs review' or 'work-in-progress' label
  • [ ] If PR is ready for review, a reviewer has been added. (Don't use 'Assignees')
  • [ ] If this is an important user-facing change, PR or related issue has a 'changelog' label
  • [ ] If this includes an internal dependency change, a link to the diff is provided

Reviewer checklist

  • Automated test coverage is satisfactory
  • PR is fully functional
  • PR has been tested for accessibility regressions
  • External dependency files were updated if necessary (yarn and pip)
  • Documentation is updated
  • Contributor is in AUTHORS.md

vkWeb avatar Oct 20 '23 17:10 vkWeb

@bjester until we are deciding on dev vs base dockerfile stuff, whenever you feel like, please give the documentation a read. Documentation is complete and ready for review. We just need to finalise on our dockerfile.

vkWeb avatar Jan 04 '24 18:01 vkWeb

Just a comment, no expectations here.

I'm not familiar with VSCode DevContainers yet, but I'm all for containerizing development to ease developer onboarding, setup, and deployment.

When/if Kolibri is containerized, it would be nice to add a devfile.yaml to the project https://devfile.io/ and maybe make the whole dev workspace portable, importable, and sharable via Eclipse Che Workspaces. https://eclipse.dev/che/

I don't know if there are any synergies between VsCode DevContainers and containers via devfile.yaml but it would be interesting to find out.

Mbd06b avatar Apr 09 '24 14:04 Mbd06b