

- #Git submodule point to branch install#
- #Git submodule point to branch update#
- #Git submodule point to branch code#
- #Git submodule point to branch zip#
Gitlab runner with the Kubernetes Executor.
#Git submodule point to branch code#
From ************/test/mymodule * branch 31d631ca35bad5f5b9647500f3a7604b70501542 -> FETCH_HEAD Submodule path 'mymodule': checked out '31d631ca35bad5f5b9647500f3a7604b70501542' Entering 'mymodule' Entering 'mymodule' Executing "step_script" stage of the job script 00:01 $ cd mymodule $ git checkout dev error: pathspec 'dev' did not match any file (s ) known to git Cleaning up file based variables 00:00 ERROR: Job failed: command terminated with exit code 1 Environment description Submodule 'mymodule' *************/test/mymodule.git ) registered for path 'mymodule' Cloning into '/builds/ZNjBtxc3/0/test/test/mymodule'. Updating/initializing submodules recursively with git depth set to 50. Initialized empty Git repository in /builds/ZNjBtxc3/0/test/tes/.git/ Created fresh repository. Getting source from Git repository 00:02 Fetching changes with git depth set to 50. Preparing environment 00:06 Waiting for pod ********************* to be running, status is Pending Waiting for pod ********************* to be running, status is Pending ContainersNotReady: "containers with unready status: " ContainersNotReady: "containers with unready status: " Running on runner-znjbtxc3-project-1471-concurrent-0fwjvh via *********************. Using attach strategy to execute scripts.
#Git submodule point to branch zip#
To obtain the submodules the repo must be Git cloned (not zip downloaded) then once the repo has been cloned a couple of extra steps are required to import the submodules.Running with gitlab-runner 13.11.0 (58ba2b95 ) on ************************ ZNjBtxc3 Preparing the "kubernetes" executor 00:00 Using Kubernetes namespace: ********************* Using Kubernetes executor with image *********************************. git branchUsing the later version of Arduino IDE (1.6+) it’s possible to set the sketchbook location to the project repo to import all the required libs into the IDE. Submodules also make it easy for users to clone a project repo including all the sketch source code and the Arduino libs at exactly the correct version all from one place.
#Git submodule point to branch update#
Using submodules becomes very useful when testing an update to one of the libraries in a development branch, in the development branch the submodule can be fast-forwarded to the latest version leaving the master branch untouched. The visible sub folders contain the required Arduino libs at a specific point in time. Here is the firmware folder of the emonPi GitHub Repo. Also, you can make changes to the submodule from within a project and push those changes to the submodule’s repository to make them available to other projects. If the submodule gets an update, the submodule will not get updated in the repo until you specifically pull the changes into them. This means you can, for example, keep some common code in a separate repository and use a specific, known-working version of this code in other projects. The subfolder stores the submodule repository location and a commit ID. With git submodules a repository can contain a checkout of another repository as a subdirectory. I feel that I have now found the best solution (for now!). However I have always wanted to have all required libs and files for a particular project all in once place. Things have improved in recent years with the increased use of GitHub for Arduino libs allowing changes to be tracked easier and the later version of Arduino IDE including a library manager which can auto-update. Library management becomes even more important when debugging and supporting a project as libraries get changed and updated.
#Git submodule point to branch install#
Library management for Arduino has always been a bit of a pain having to go and download and install all the required libraries for various locations on the internet and hope that they are the correct version. Update: PlatformIO does library management much better then git-submodules, we have switched to using PatformIO to manage library dependencies, see blog posts
