Doesn't seem to be updating device to latest release

I am almost sure it is my mistake but here goes. My directory looks like this more or less (see https://github.com/campusrover/gpg_bran_balena for all of it)

./ros/
    catkin_ws/
       src/
          gpg_bran
          ydlidar
./Dockerfile.template

and inside the template I copy the ros directory into the container:

COPY ./ros /ros

Which would cause a copy of that /ros directory to end up in on the device.

Now I am trying to get a change to what’s in the /ros directory onto the device, but it seems not to be going. I’ve tried it more than once gradually making it simpler to no avail.

Is it possible that docker decides to use a cached version because it doesn’t realize, notice that the directory that is going to be copied contains something different? In other words, “I copied that directory before so it must be in my cache”?

I find it hard to believe. But can you help me figure this out?

Hi
Can you try editing your dockerfile and adding a backslash at the end of the directory. Something like what we have here - https://www.balena.io/docs/learn/develop/dockerfile/#dockerfile-templates
Like you said, I don’t think it’s something to do with any kind of caching. Should be a small typo

I assume you mean a forward slash, that is:

COPY ./ros/ /ros

Anyway I deleted everything, created a new source directory, application and device, and it’s cleared up. Still wondering what was wrong. I don’t think it’s the slash though.

No really. That was my first thought as well.

Could it have to do with local vs. non-local mode?

Hi
What do you mean by local vs non-local mode?
Were you trying to do something in the local mode, it didn’t work and then you pushed it to balenaCloud?
If you kept the dockerfiles the same and it worked with the above workaround - then its a bug and I’d love to take a closer look at your dockerfiles

  1. I meant doing a Belana push when local was “on” and then with local “off” (I know the commands are a little different; they both worked. I even did the Belana push with local on and --nocache. The build done in the Balena Cloud got the right result, the other two seemed to be using something older.

Here is the whole GitHub repo I’ve been using: https://github.com/campusrover/gpg_bran_balena2

Unfortunately I am abandoning Balena for now. Too many problems.

Your support has been really good though.

Pito Salas
Faculty, Computer Science
Brandeis University

Hi @pitosalas it sounds like an issue with the local mode specifically as it tries to do some more intelligent caching and file watching than vanilla docker to allow for rapid and incremental builds. Its unforutnately you are moving a way from balena, but if you find sometime to retest this, it would be interesting if you try balena push 10.0.0.1 --nolive , the --nolive flag should disable all the fancy bits and just do a more regular docker build and help us narrow down the issue.