Im using electron which has already a production env running. For the last months I've been publishing normally with Electron-builder in my ci.yml
file:
release-linux:
stage: release
image: electronuserland/builder:14
before_script:
- export ARCH="x64"
- export BUILD_SCRIPT="build:linux"
- apt-get update && apt-get install -y build-essential cmake
- apt install -y libusb-1.0-0-dev libudev-dev
After running the - apt-get update && apt-get install -y build-essential cmake
line there is the libc6
package installed which installs with latest (2.35
).
My production environment is running on Ubuntu 20.04 LTS. I assume the docker image in which the release is made, is running on a newer version (asuming latest).
The problem is that I have some hardware devices which works correctly with libc6=2.31-0ubuntu9.2
(which is the version that was automatically installed previously by the docker image). Now, for some reason I don't know, the image is pulling the latest version of libc6
and my hardware devices stoped working.
libc6
version (tried this one but failed). Any instructions on how to do this are apreciated.Updating Ubuntu's version at production is not an option right now, so I think the solution should be working out with this package/library version.
The problem solved out on its own randomly, but after some research, it was a electron-builder
change which was causing the problem.
In this commit changes log we can see that buildpack-deps
was changed from buildpack-deps:22.04-curl
(not working) to buildpack-deps:focal-curl
(working).
That give us a clue to where to look at. Here the official supported tags for Dockerfiles. Here we can see that focal-curl
points to 20.04-curl
which I suppose have a different output than 20.04
by its own.
Then, looking at the gitlab jobs running with this ci configs, the libc6
dependency worked with different versions in each case.
Our hardware works correctly with libc6=2.31
which is used when focal-curl
is set by electron-builder
dockerfile, but not with libc6=2.35
which is used by 20.04
.
This is not a solution, but it's the cause of the problem. Now working on how to setup the project to use only the correct configuration of electron-builder
. Currently accepted to work with same config but being careful when releasing by watching which libc6
version is working with.