kolibri
kolibri copied to clipboard
DevContainer!
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:-
- Install Docker and Docker Compose on your system. (Linux: Docker CE/EE 18.06+ and Docker Compose 1.21+)
- Install VSCode / PyCharm DevContainers Extension.
- 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
andpip
) - Documentation is updated
- Contributor is in AUTHORS.md
Build Artifacts
Asset type | Download link |
---|---|
PEX file | kolibri-0.16.0b10.dev0_git.60.g6b3cd48a.pex |
Windows Installer (EXE) | kolibri-0.16.0b10.dev0+git.60.g6b3cd48a-unsigned.exe |
Debian Package | kolibri_0.16.0b10.dev0+git.60.g6b3cd48a-0ubuntu1_all.deb |
Mac Installer (DMG) | kolibri-0.16.0b10.dev0+git.60.g6b3cd48a-0.3.0.dmg |
Android Package (APK) | kolibri-0.16.0b10.dev0+git.60.g6b3cd48a-0.1.0-debug.apk |
TAR file | kolibri-0.16.0b10.dev0+git.60.g6b3cd48a.tar.gz |
WHL file | kolibri-0.16.0b10.dev0+git.60.g6b3cd48a-py2.py3-none-any.whl |
@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.
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.