-
Notifications
You must be signed in to change notification settings - Fork 80
Development
João Mário Lago edited this page Mar 11, 2024
·
21 revisions
- Code-style
- Code-style is defined on the
eslint
configuration file. What passes it is considered valid. New rules can/will come with time. - Exception to the rule above are variables names. While all other identifiers should follow the Google Javascript conventions, variables should use snake_case, to make them compatible with external APIs.
- Code-style is defined on the
- Files-naming
- Vue files use PascalCase while other files (e.g.: .ts) uses camel_case.
- Install docker
- Each operating system has a different way, but it's recommended to install the latest version, check the docker installation instructions.
- Make sure you follow the instructions to manage docker as a non-root-user.
- Install docker buildx
- Enable docker experimental features
- You can check that with
docker version
- For more information check docker experimental README
- You can check that with
- Create a node to for armv7 with the correct configuration
docker buildx create --use --platform=linux/arm/v7 --buildkitd-flags '--allow-insecure-entitlement network.host --allow-insecure-entitlement security.insecure' --name arm-builder
- Pull latest changes to avoid building everything from scratch
docker pull --platform linux/arm/v7 bluerobotics/blueos-core:master
- Go inside the core folder
- Build it
- Be aware that crosscompiling the core image will take some time in a good computer.
docker buildx build --allow security.insecure --platform linux/arm/v7 . -t yourdockerhubuser/blueos-core:yournewtag --push --build-arg VITE_APP_GIT_DESCRIBE=$(git describe --long --always --dirty --all) --output type=registry --progress=plain
You can replace
yournewtag
with$(git rev-parse --abbrev-ref HEAD)
to create images based on your development branch name
- Navigate to http://blueos.local:8081 and the new tag should show in VersionChooser when using your remote name
You can access it via: sudo docker exec -it blueos-core /usr/bin/tmux
- To develop the frontend first install yarn on your system.
- Go to the frontend folder with
cd core/frontend
- Install the necessary packages with
yarn install
- Now just do your changes and try them with
yarn serve
You can also lint your code anytime with yarn lint
Is know that qemu-arm-static version 5.2.0 has DNS problems, so git clone step may fail, for more information check this builx issue.
- Check qemu-arch-extra