lbryio / lbrycrd

The blockchain that provides the digital content namespace for the LBRY protocol
https://lbry.com
MIT License
2.57k stars 178 forks source link

build system enhancements; make Travis do more stuffs #193

Open BrannonKing opened 6 years ago

BrannonKing commented 6 years ago

Includes:

  1. Move "secrets" out of .travis.yml and into Travis variables.
  2. Make the Windows run of the unit tests work. (It's now running with a Wine Docker image, which is working okay, but it's probably not ideal.)
  3. Add in a run of the python integration tests and the fuzzy tests.
  4. Can we use newer compilers with the older GLIBC?
  5. Publish a debug build for Linux?
  6. Validate the static linking as part of the build.
  7. Produce a snap and flatpak output (with SHAs of them)
  8. Report code complexity on all files with claim in the name.
  9. Run the unit tests on Alpine and Fedora docker images.
bvbfan commented 6 years ago

For 4, i'm using 7.3 with boost 1.66, project is still not compilable without a patch (boost changes), but you should wait to upstream merge, i can help you on that point. Also build with different boost should be noted as 6, maybe, because it has some changes time to time. For 3, 18.04 LTS will be good enough, i can make other script to build on non-Debian environment (as i use Arch, i perform autogen and configure by hand cause script is Ubuntu/Debian specific) or we can switch entirely on CMake, which will be good for all distros.

BrannonKing commented 5 years ago

The functional tests should run as part of the "quality" stage of the build. It should run the test/functional/test_runner.py, test/lint/all, and test/util/*.py

BrannonKing commented 5 years ago

A word of warning on the functional tests before I forget: I think that the vars in the config.ini.in correspond to vars in configure.ac . I ran through some of the functional tests today; I had to do quite a bit of bitcoin renaming and port updating (search 8332) to make it work.

find . -name '*.py' -exec sed -i "s/bitcoind/lbrycrdd/g" {} +
find . -name '*.py' -exec sed -i "s/BITCOIN/LBRYCRD/g" {} +
find . -name '*.py' -exec sed -i "s/bitcoin\.conf/lbrycrd\.conf/g" {} +

However, I think the second sed messes up the configure.ac correspondence.

BrannonKing commented 4 years ago

At the moment, items 2, 3a, and 4 of the original list have been done.