Closed JRoybot closed 5 months ago
Why are we switching from release to continuous here? A bit more description of the need and problem this solves would be great.
Why are we switching from release to continuous here? A bit more description of the need and problem this solves would be great.
The issue we experienced is gobysoft release packages not compatible continuous 1.y jaiabot software.
Jaia tool was merged in but it needed the newest gobysoft packages.
Following the process to point at the right gobysoft packages we had a mismatch with what our local machines were using.
The mismatch also led to errors when deploying code.
Build error for goby.ev optional field.
bin/tool/config.proto:85:24: Error while parsing option value for "field": Message type "goby.GobyFieldOptions.ConfigurationOptions" has no field named "position".
bin/tool/config.proto:42:19: Option "(goby.ev)" unknown. Ensure that your proto definition file imports the proto which defines the option.
bin/tool/config.proto:52:21: Option "(goby.ev)" unknown. Ensure that your proto definition file imports the proto which defines the option.
bin/tool/config.proto:57:18: Option "(goby.ev)" unknown. Ensure that your proto definition file imports the proto which defines the option.
bin/tool/config.proto:68:22: Option "(goby.ev)" unknown. Ensure that your proto definition file imports the proto which defines the option.
bin/tool/config.proto:71:18: Option "(goby.ev)" unknown. Ensure that your proto definition file imports the proto which defines the option.
bin/tool/config.proto:31:12: Option "(goby.msg).cfg" unknown. Ensure that your proto definition file imports the proto which defines the option.
gmake[2]: *** [src/CMakeFiles/jaiabot_config.dir/build.make:193: include/bin/tool/config.pb.cc] Error 1
gmake[1]: *** [CMakeFiles/Makefile2:734: src/CMakeFiles/jaiabot_config.dir/all] Error 2
gmake: *** [Makefile:136: all] Error 2```
Ok, well this PR as written will break the CircleCI deb builds for beta and release as it will build against the continuous repo.
The relevant lines are here: https://github.com/jaiarobotics/jaiabot/blob/1.y/.circleci/config.yml#L68-L72, which adds "newer" repos as needed. This only works though if the one in the Docker container version is older than any added (release < beta < continuous < test).
So if you switch the Dockerfile to default to continuous, this will always take precedence for packages installed, even on beta/release builds.
I think the Dockerfile needs to take repo
as an argument (as it takes distro
already), defaulting to "release", and the local build scripts can set it to "continuous" when they build the Dockerfile locally.
And while we're at it, might as well set version
as well (1.y, 2.y, etc.) to set ourselves up for forthcoming 2.y
Ok, well this PR as written will break the CircleCI deb builds for beta and release as it will build against the continuous repo.
Interesting. I wonder why CircleCi was not breaking then using the release goby packages to build against the continuous repos.
Nice Catch!
Let's remove the docker configuration from this pull request and just have the fix for the local development environments. Toby has a pull request that addresses the docker issues. This way developers can continue to make progress.
Update path to goby and jaibot packages in build scripts