LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

Jenkins builds are shifting control labels

The executables produced by our CI have shifted control labels(mostly checkboxes).

Everything is aligned and looks fine on multiple machines in the development environment, even at different resolutions but when the exe is built through the jenkins pipeline some of the lables get shifted. Manual builds produce aligned executables identical to the development environment.

 

There are some extra steps that we do in the pipeline, like running a resize VI that calls the OpenG Fit to largest decoration on a list of VIs but I've done that manually and it didn't affect the position of the labels in any way.

We're also running some unit tests with the JKI VI Tester and that's pretty much it.

 

Jenkins calls LabVIEW and the AppBuilder in a different way in that if I am logged onto the build machine I don't see LabVIEW being open or anything like that. It does show up in the task manager.
Right now this is my best lead, the fact that the build is done somehow in the background and that breaks the alignment of various labels. All of this is on Windows 10 using LabVIEW 2021.

Did anyone experience this behaviour?

0 Kudos
Message 1 of 6
(1,408 Views)

Are you using define fonts or symbolic fonts? Symbolic fonts adjust to the windows theme and font scaling (100%, 150%, etc.) and thus might depend in environment settings of the target machine. I never use symbolic fonts (there is a VI analyzer test for that!), but if you do, make sure to define the fonts in the ini of the executable consistently.

0 Kudos
Message 2 of 6
(1,402 Views)

Absolutely no expert here but, I will ask if the text moves are on actual Labels or are they Captions?

 

Is the text.text alignment of those objects Left, Center, Right justified?  Not the label or caption position justification but the actual text justification. 

 

I can imagine Jenkins automagically adjusting Caption text widths to leave extra room for language support.  It certainly should not do that with labels. 

 

Food for thought and maybe a Velma Dinkley moment. (Jinkies!)


"Should be" isn't "Is" -Jay
0 Kudos
Message 3 of 6
(1,398 Views)

I haven't played with the fonts in any way so it uses the windows default ones. The point I was trying to make is that on the same machine if I build the executable manually(using the AppBuilder or right-click build) there's no shift in position. If jenkins does it there is. It doesn't affect all the controls.

0 Kudos
Message 4 of 6
(1,392 Views)

I don't understand how jenkins does that. afaik jenkins only calls a vi with a set arguments(major minor etc.) that eventually builds our executable. It doesn't know anything about the compiler itself. as far as the label/caption goes I've just checked a few of the boolean checkboxes and it seems it's the actual boolean text that's being displayed.

The text itself is left justified.

0 Kudos
Message 5 of 6
(1,369 Views)

Some other random thoughts...

 

As others have suggested, fonts are going to be something to double check.

The original comment "like running a resize VI that calls the OpenG Fit to largest decoration" obviously is something else to triple check.... it would use the labels (fonts again) in it's calculations.

When you are doing it manually, are  you logged in with the same account that Jenkins uses?

 

 

---------------------------------------------
Former Certified LabVIEW Developer (CLD)
0 Kudos
Message 6 of 6
(1,352 Views)