Commit graph

44 commits

Author SHA1 Message Date
BloodStainedCrow 57e625d4dc
Unify docker devcontainer with dockerfile used for CI (#1587)
* Only use one Dockerfile and build.sh script for both docker and devcontainer
* Remove all now unneccessary tasks and scripts
* Update to clang-format-14
* Move devcontainer.json into root folder
* Fix conditional statements in Dockerfile
* Move .devcontainer/README into doc/usingDevcontainers
* Remove obsolete VSCode Task
* Change standard compiler path to the correct compiler
* Set GDB Path for debugging
* Hide broken buttons from CMake Extension
* Refactor .devcontainer
* Remove unneccessary postBuildCommand
* Add devcontainer dependencies to all docker images
* Add Devcontainer Debug launch config
* Add an additional c_cpp_properties config as a fallback for devcontainer
* Remove obsolete Docker Argument
* Fix wrong C/Cpp versions
* Fix silent fail of gdb, add libncurses5
2024-03-23 10:45:45 +01:00
Ben Merritt 9b8eb75f34
docker: Install Node.js in a non-deprecated way (#1849) 2023-11-12 14:09:41 +01:00
Reinhold Gschweicher 77546c9fe2 lv_img_conv_py: minimal python port of node module
Create a minimal python port of the node.js module `lv_img_conv`. Only
the currently in use color formats `CF_INDEXED_1_BIT` and
`CF_TRUE_COLOR_ALPHA` are implemented.

Output only as binary with format `ARGB8565_RBSWAP`.

This is enough to create the `resources-1.13.0.zip`.

Python3 implements "propper" "banker's rounding" by rounding to the nearest
even number. Javascript rounds to the nearest integer.
To have the same output as the original JavaScript implementation add a custom
rounding function, which does "school" rounding (to the nearest integer)

Update CMake file in `resources` folder to call `lv_img_conf.py` instead of
node module.

For docker-files install `python3-pil` package for `lv_img_conv.py` script.
And remove the `lv_img_conv` node installation.

---

gen_img: special handling for python lv_img_conv script

Not needed on Linux systems, as the shebang of the python script is read
and used. But just to be sure use the python interpreter found by CMake.
Also helps if tried to run on Windows host.

---

doc: buildAndProgram: remove node script lv_img_conv mention

Remove node script `lv_img_conv` mention and replace it for
runtime-depency `python3-pil` of python script `lv_img_conv.py`.
2023-10-26 22:45:01 +02:00
Riku Isokoski bd8e6d8c15 docker: Make build.sh more portable 2023-01-07 18:56:15 +02:00
Riku Isokoski 419d8413c6 Revert "enable CMake unity build in build.sh"
This reverts commit 35654fbd98.
2022-12-31 12:41:45 +01:00
Riku Isokoski 2b62eaf65f Revert "Update docker/build.sh"
This reverts commit 7103f9d806.
2022-12-31 12:41:45 +01:00
Dominik Nussbaumer 7103f9d806 Update docker/build.sh
Co-authored-by: NeroBurner <pyro4hell@gmail.com>
2022-12-27 12:17:46 +01:00
tnixeu 35654fbd98 enable CMake unity build in build.sh 2022-12-27 12:17:46 +01:00
cybuzuma 081cc60aa5
fixing build.sh not returning error in build (#1460)
Return the build status as return code from the `main` helper function.
In the process convert the handling if the file was sourced or directly
executed into an explicit if/else statement to make the intent clearer.

In case of an build error the error is now reported at the build step,
where the error happened.

Fixes: https://github.com/InfiniTimeOrg/InfiniTime/issues/1292
2022-12-13 08:18:53 +01:00
Jean-François Milants 6ed8e983e9 Remove CMake targets and corresponding CLI arguments that are specific to the debugging environment (USE_JLINK, USE_OPENOCD and USE_GDB_CLIENT). 2022-09-17 21:25:54 +02:00
Jean-François Milants e2a3d9f0c7 Small improvement in generate-fonts.py following code review.
Add lv_img_conf in Docker image to build resources at build time.
2022-09-11 14:44:36 +02:00
Riku Isokoski c2b6a8de3e
Fix markdown format with autoformatter (#1284) 2022-08-21 14:50:09 +03:00
Finlay Davidson 4482078d84 Downgrade GNU Arm Toolchain to 10.3-2021.10
This is because of this bug:
https://community.arm.com/support-forums/f/compilers-and-libraries-forum/52623/gcc-11-2-arm-none-eabi-internal-compiler-error-illegal-instruction
It is causing some of the GitHub Actions builds to fail.
2022-07-08 17:18:21 +02:00
Finlay Davidson 94cd2ba563 Update arm gcc toolchain to 11.2-2022.02
Updates the buildAndProgram doc and the docker
image, which means GitHub Actions will also use
the new toolchain.
2022-06-11 22:59:38 +03:00
Jean-François Milants 831f93cd92 The main build workflow for GitHub Actions now uses the infinitime-build docker image to build the firmware. This allows to avoid the duplication of the build logic in Docker and Github workflow format.
The Dockerfile has been slightly adapted (remove the USER instructions). Docker images are now published in DockerHub (jf002/infinitime-build).
2022-05-26 11:35:25 +02:00
Yehoshua Pesach Wallach c9f23c11b3 update docker to 22, and use python3 by default 2022-05-10 22:20:02 +02:00
Yehoshua Pesach Wallach f56788465d docker: bump ubuntu to 20.04 and node to 18 2022-05-10 22:20:02 +02:00
Yehoshua Pesach Wallach 95a970a75d fontgen: install npm, lv_font_conv in Dockerfile 2022-05-10 22:20:02 +02:00
carlosperate c4b8ff314a Update git URLS, MCUboot is now independent w/ different GitHub org. 2021-10-17 00:31:21 +01:00
Stoian Minaiev d82a1c5225 docker: add git system package to image 2021-05-14 01:07:32 +03:00
Peter f8c502e447
Gitpod workspace path update due to repo rename
Gitpod workspace path is based on repo name... it was `/workspace/Pinetime`, 
but after the repo rename it's now `/workspace/InfiniTime`. 
Also added second pip call as it's in the main dockerfile.
2021-04-18 17:23:28 +10:00
Jean-François Milants 9f67e6f652 Merge branch 'develop' into recovery-firmware
# Conflicts:
#	src/CMakeLists.txt
#	src/displayapp/DisplayApp.h
#	src/systemtask/SystemTask.cpp
#	src/systemtask/SystemTask.h
2021-03-07 08:44:14 +01:00
Jean-François Milants 5fdfb2112e Fix merge conflict. 2021-02-14 14:19:30 +01:00
Jean-François Milants 740b3d7b58 Add new cmake option to disable the generation of DFU file (which needs adafruit-nrfutil on the build machine) : BUILD_DFU (disabled by default, enabled in docker build). 2021-02-01 21:07:53 +01:00
Jean-François Milants 25f35c7d0e Generate pinetime-recovery : a light version of InfiniTime design to be used as a recovery firmware : it only provides basic UI and BLE connectivity for OTA.
This new FW is build on the same codebasse than the actual InfiniTime. Only the display task is different (this allows to remove lvgl from the recovery fw, which is very heavy).

CMake builds and docker have been modified accordingly.
Note than the fw is converted into an image and then into a DFU in the cmake build (previously, it was only done in the
2021-01-26 20:31:45 +01:00
petter a028c39ddd check for cmake build-success before running post-build.sh 2021-01-23 11:11:14 +01:00
Joe Eaves cf187d342c Use root for package installation
And forget the chown.
sudo can be used if the dependencies ever need to be updated "live"
2021-01-05 00:34:15 +00:00
Joe Eaves 0880d53a94 Custom Dockerfile for gitpod.io
Little configuration to give https://gitpod.io users an environment with the SDKs pre-installed
2021-01-05 00:34:15 +00:00
Joe Eaves 5cdd3f6e6f Improve the post_build again, again? 2020-12-22 12:40:21 +00:00
Joe Eaves 6c6ffc61ee Make the post_build output a little cleaner 2020-12-22 11:39:21 +00:00
Joe Eaves 1f243aeedb Make TOOLS_DIR if needed
Added some extra dir names to gitignore
2020-12-22 11:38:57 +00:00
Joe Eaves 60ef9b54fb Integrate improvements from #137
Also fixed a bug with empty quoted strings
2020-12-21 03:10:42 +00:00
Joe Eaves a7df0a0279 Unify the Dockerfiles by fleshing out build.sh
Script is written to handle it's own dependencies so it can be used within Docker or on the host system
2020-12-21 01:42:41 +00:00
Peter Feerick 3eab95ea4e Add cleanup and make download stages more readable 2020-12-12 13:02:55 +10:00
Peter Feerick 1aaa906a78 Expand update block for readability and add cleanup 2020-12-12 12:58:14 +10:00
Peter Feerick 8a6b828ab7 Move user block to reduce layer change breakage + tweaks 2020-12-12 12:56:21 +10:00
Peter Feerick d50912a837 Reference specific architectures 2020-12-12 12:33:38 +10:00
Peter Feerick 8f69a45fd9 Rename dockerfile folders to correct architectures 2020-11-20 10:07:17 +10:00
JF 8d2e56bf00 Update to the latest version of the bootloader (https://github.com/lupyuen/pinetime-rust-mynewt/releases/tag/v5.0.4) 2020-09-20 11:29:56 +02:00
JF d757344f1b Docker post build : generate post build script with versions from the CMake project. 2020-09-08 22:15:10 +02:00
JF e6a1aff6ce Docker build : split build.sh into 2 scripts : build.sh that always exists and post_build.sh that is generated by cmake build.sh 2020-08-20 09:38:10 +02:00
JF f197a3fe88 All output files (bin, hex, image, dfu) contain the version of the project in their filename.
Update Docker build script accordingly.
Also fix permission issue with docker build (all files belonged to root).
2020-08-19 21:52:46 +02:00
JF 58811d76cf Add doc about Docker image. 2020-08-19 16:01:01 +02:00
JF 5ed7fbe126 Add docker file create docker image that builds the project on amd64 and arm64 arch. 2020-08-19 12:22:48 +02:00