E2E environment for Linux
Context
My initial intention was to try to implement my own version of the verifier. In order to get some test data, I tried to setup the E2E test environment.
Problem description
My main point is that the E2E environment should not, in order to make it more accessible to the community, require a machine running Windows. I tried a setup on Linux anyway and report here the first issue I encountered.
Windows requirement
I understand that the initial need was a software easily executable by the cantons and that the first platform was Windows. But it seems like significant efforts have been made to get feedback from the e-voting/cryptography/security community, and I would therefore expect it to be possible to run a basic end-to-end test of the system on Linux.
Attempt at building on Linux
Since someone else tried to setup the system on Linux (cf #5 (closed)), I gave it a go.
I could complete the first step by building the docker image myself (there is a broken link in the guide, see below).
But when start a container with the image and run ./build.sh inside, I get this as output:
$ ./build.sh
17:30:55 [INFO] Checking tools and versions. Please wait...
3 npm version
$
When inspecting the corresponding scripts, it appears to come from this function and means that the version of npm is not the one expected.
Proposed solution
Aside from the issue of making the Secure Data Manager compatible with Linux (which might not be such a big effort since it is a Java application with an Angular frontend?), here are some small fixes:
- fix the dockerfile link in the build guide (looks like it was moved from the main repo to this one)
- improve the error message of the
check_versionfunction - fix the npm version issue between the enviroment_checker.sh script and the dockerfile