1. 08 Apr, 2021 1 commit
  2. 28 Mar, 2021 1 commit
    • BigBlockIfTrue's avatar
      Merge manpage generation into the build system · e7b14eec
      BigBlockIfTrue authored
      This ensures the installed manpages always match the installed version,
      and simplifies the release process. An optional dependency on `help2man`
      is added (default on, can be avoided with `-DENABLE_MAN=OFF`).
      Since the autotools build system is deprecated, manpages are simply
      removed from the autotools build.
      Manpages are intended to be used on Unix-like platforms. Therefore, the
      build instructions for Windows include `-DENABLE_MAN=OFF`, and in Gitian
      manpages are now excluded from the Windows releases (zip file and
      This also fixes a bug in the Gitian build where it would unnecessarily
      extract the source tarball without using the extracted stuff.
      Test plan:
      * `./autogen.sh;./configure --enable-deprecated-build-system;make
      * `cmake -GNinja . -DENABLE_MAN=OFF;ninja install`
      * `cmake -GNinja . -DENABLE_MAN=ON;ninja install;man bitcoind`
      * Gitian builds for all platforms (verify hashes, inspect
      Linux/MacOS/Windows zip files, try Windows i...
  3. 04 Mar, 2021 1 commit
  4. 02 Mar, 2021 1 commit
    • BigBlockIfTrue's avatar
      Create ninja target for building Markdown documentation · 78f9989a
      BigBlockIfTrue authored
      This moves auto-generation of Markdown documentation out of
      `contrib/devtools/gen-manpages.sh` and into the build system, with a new
      ninja target `doc-md`. `contrib/devtools/gen-manpages.sh` returns to its
      original purpose of generating manpages only (can be integrated into the
      build system later as well).
      The auto-generated Markdown documentation is no longer committed into
      the repository, but built as needed. CI will build it for GitLab pages,
      so that docs.bitcoincashnode.org will always be fully up-to-date with
      the master branch. A `DOC_ONLINE` option has been added to the build
      system to differentiate between documentation generated for the website
      and for local use (default off), replacing the previous CI hacks.
      Test plan: `ninja doc-html` (with `-DDOC_ONLINE=ON` and
  5. 16 Feb, 2021 1 commit
    • BigBlockIfTrue's avatar
      Create ninja target for building HTML documentation with mkdocs · 78d7dd9f
      BigBlockIfTrue authored
      Long-term purpose of this MR is to allow shipping offline HTML
      documentation along with our releases, so you can always locally access
      HTML docs for your specific installed version (online documentation is
      only for latest version). This is a lot more user-friendly than manually
      browsing an unorganised bunch of Markdown files.
      Simplified logic of which files to include for `mkdocs`: everything in
      the `docs` folder plus any `.md` files outside it. This dramatically
      reduces the run-time of `mkdocs` and the size of the generated
      documentation folder. It also broke links to source code files. These
      links can be removed in a follow-up MR.
      * Changed site directory from `site` (default) to `doc-html`.
      * Renamed `files-for-mkdocs` directory to `doc-html-src`.
      * Moved `mkdocs.yml` into `doc` folder.
      This also makes the following changes for locally building
      documentation, but these changes are reversed when building online
  6. 14 Jan, 2021 3 commits
  7. 05 Jan, 2021 1 commit
  8. 08 Dec, 2020 2 commits
  9. 14 Sep, 2020 1 commit
    • BigBlockIfTrue's avatar
      Update UniValue readme · 42706ea1
      BigBlockIfTrue authored
      Note: I went through the changelog between RFC 7159 and RFC 8259
      (included within RFC 8259), and found nothing that affects us.
  10. 06 Aug, 2020 2 commits
    • Dagur's avatar
      [ci] Add AArch64 CI jobs · 1e273d17
      Dagur authored
      Cross-compile for aarch64 and run test with emulator
    • Dagur's avatar
      [ci] Enforce RPC coverage in CI · 4c2de7ed
      Dagur authored
      Follow-up of !571
      This coverage checks the RPC functions. The CI will complain if any RPC
      methods are not tested.
      This creates a job that runs the full extended suite of tests, instead
      of the setup we have now here quick tests and long tests run in two
      separate jobs. This is required to be able to test full coverage.
  11. 12 Jul, 2020 1 commit
  12. 02 Jul, 2020 1 commit
  13. 17 Jun, 2020 1 commit
    • Søren Bredlund Caspersen's avatar
      [doc] Update documentation and 'pages' deployment to get rid of dead links · 01e63bad
      Søren Bredlund Caspersen authored
      Get rid of some dead links in documentation, both removing entirely dead links, and updated links that needed it.
      This should make links work correctly both in GitLab and on docs.bitcoincashnode.org.
      One link (to src/.clang-format) could not be handled by `mkdocs` - probably it has issues with dotfiles.
      This link has been turned into a non-link.
      Additionally, temporary folders created by the `mkdocs` deployment have been added to .gitignore:
      - `files-for-mkdocs/`
      - `site/`
      Test plan
      You will need the `mkdocs` program installed to test this - see gitlab-ci.yml's `before_script` section of the `pages` job for relevant commands.
      - On a checkout of this MR, manually perform the commands in the `script` section of the `pages` job in `.gitlab-ci.yml`.
      - Check that no warnings or errors are reported by the `mkdocs build` command
      - Run 'mkdocs serve' and inspect the documents at
      - Check that relative links work in GitLab's folder view of the documentation
  14. 12 Jun, 2020 1 commit
    • Søren Bredlund Caspersen's avatar
      [doc] Run mkdocs on everything · 3a28c856
      Søren Bredlund Caspersen authored
      As discussed in !451 this creates a new folder containing all that is needed from the entire source tree, and run `mkdocs` on that folder.
      Changes contained here:
      * build site from entire tree, allowing access to documents in various other directories
      * adjust `mkdocs.yml` to point to correct folder for all docs
      * the above fixes a lot (most) of broken links
      * exclude most of `src` and `depends`, include only those files from there which are linked
      * fix up bare URL links, make them into markdown links
      * a few doc reference improvements (e.g. to `doc/README.md`)
      This increases the built site size from 33M to 41M, remaining under current limit of 100M.
      Test plan:
      * run the doc deployment CI steps in `.gitlab-ci.yml` manually to create the folder and build the docs using `mkdocs`, checking only that it builds.
        Note: there will still be some broken links, these will be fixed in other MRs.
      * use `mkdocs serve` to inspect the docs
  15. 09 Jun, 2020 1 commit
  16. 22 May, 2020 1 commit
  17. 20 May, 2020 1 commit
  18. 11 May, 2020 1 commit
  19. 07 May, 2020 2 commits
  20. 27 Apr, 2020 1 commit
  21. 31 Mar, 2020 1 commit
  22. 27 Mar, 2020 1 commit
    • matricz's avatar
      The created binary has changed name in the `ninja` build, and that's... · 6d3f9c6c
      matricz authored
      The created binary has changed name in the `ninja` build, and that's inconsistent. This MR reverts the binary's name back to bench_bitcoin, while leaving the current ninja targets as-is.
      TEST PLAN:
      A. Checkout and build, check that the file built has the expected name; check the ninja targets in master and in this MR
      1. The before and after behaviour of `ninja bitcoin-bench` does not change: it will build the benchmarking binary
      2. The before and after behaviour of `ninja bench-bitcoin` does non change: it will build and run the benchmarking binary
      3. The name of the binary has changed from `bitcoin-bench` to `bench_bitcoin`
      4. A new ninja target exists `ninja bench_bitcoin` which actually builds the `bench_bitcoin` binary; the `ninja bitcoin-bench` target is only an alias to this one.
      B. Check the latest pipeline for the MR.
  23. 23 Mar, 2020 1 commit
    • Dagur's avatar
      [ci] Add clang build · 290de1ad
      Dagur authored
      Adds jobs to test that we can build the software using clang. Also runs
      unit tests built with clang.
  24. 22 Mar, 2020 1 commit
  25. 01 Mar, 2020 1 commit
  26. 28 Feb, 2020 1 commit
  27. 26 Feb, 2020 3 commits
  28. 25 Feb, 2020 1 commit
    • Dagur's avatar
      CI: More targets and jobs · 1b508307
      Dagur authored
      This change adds 3 new targets: Win64, ARM and "no wallet".
      The cross-platform targets need a dependency compilation stage. "No
      wallet" also gets a unittest target.
      All jobs are set to have explicit dependencies, so all tasks that can be
      run in parallel, do run in parallel, regardless of stage.
  29. 22 Feb, 2020 1 commit
    • Dagur's avatar
      [CI] Split CI into stages and jobs · a358d1f9
      Dagur authored
      This splits the CI process into 3 stages and multiple jobs.
      It also adds a new base image with all the dependencies pre-installed.
      Stage "build" build the main project.
      Stage "build_test" builds the tests. This was separated out to avoid the
      build stage taking more than 1 hour on cold cache.
      Stage "test" spawns four jobs and runs unit tests and functional tests
      in pre-upgrade and post-upgrade states.
  30. 20 Feb, 2020 1 commit