Skip to content

Draft: Build release binary only when RELEASE=yes is set, fixes #834

Pea Nut requested to merge fix-834 into main

Issue: #834

Changes

  • per default, release and debug binaries are built
  • when RELEASE=yes is set, it only builds release binary

Saves me 1 minute \o/

PROVIDER=riseup make -j 4  476.41s user 48.43s system 364% cpu 2:23.92 total

pea@peabox:bitmask-vpn file build/qt/debug/bitmask 
build/qt/debug/bitmask: ELF 64-bit LSB pie executable, x86-64, version 1 (GNU/Linux), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, BuildID[sha1]=1e8bc50a4a1966d251f57e902aa41d97f8e3a8e2, for GNU/Linux 4.4.0, with debug_info, not stripped
pea@peabox:bitmask-vpn ls build/qt/debug/bitmask  
-rwxr-xr-x 1 pea pea 62M Sep  7 10:48 build/qt/debug/bitmask
pea@peabox:bitmask-vpn ls build/qt/release/riseup-vpn 
-rwxr-xr-x 1 pea pea 26M Sep  7 10:48 build/qt/release/riseup-vpn
pea@peabox:bitmask-vpn file build/qt/release/riseup-vpn
build/qt/release/riseup-vpn: ELF 64-bit LSB pie executable, x86-64, version 1 (GNU/Linux), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, BuildID[sha1]=76e414e6c6974832143627e35b4dd1b07d9767be, for GNU/Linux 4.4.0, stripped
RELEASE=yes PROVIDER=riseup make -j 4  250.38s user 26.96s system 328% cpu 1:24.55 total

pea@peabox:bitmask-vpn file build/qt/release/riseup-vpn 
build/qt/release/riseup-vpn: ELF 64-bit LSB pie executable, x86-64, version 1 (GNU/Linux), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, BuildID[sha1]=b0acb92384cf9acc03592d442864ed3c4ee8af35, for GNU/Linux 4.4.0, stripped
pea@peabox:bitmask-vpn ls build/qt/release/riseup-vpn
-rwxr-xr-x 1 pea pea 26M Sep  7 10:44 build/qt/release/riseup-vpn

TO DISCUSS

  1. Maybe there is a better way to get to get the CONFIG variable to the qmake invocation (just change CONFIG in the if statement and then have a single $MAKE call)
  2. The output of the debug build is still build/qt/debug/bitmask and not riseup - I don't care about that as I don't need the debug binary
  3. To save time and ressources I would like to add RELEASE=yes in the CI
    • when we build the packages. We only have "release" packages
    • in build_test in gitlab-ci.yml we only have build/qt/release as artifact. We should add build/qt/debug as artifact or also add RELEASE=yes (don't have a strong opinion about that)

Merge request reports