Commit graph

16 commits

Author SHA1 Message Date
Aaron Dewes
a00778cf42
Simplify Docker builds 2022-03-11 16:26:59 +01:00
mainnet-pat
bdf82ca9bb
Use github actions for docker builds (#85)
* Create publish.yml
Autobuild fulcrum docker multiarch image with github actions

* Remove --from clause from Dockerfile to fix the multiarch build. Dockerfile_nobuildx is now unnecessary
2021-07-03 12:04:13 +03:00
Calin Culianu
7e1269db97
Added Dockerfile_nobuildx for use on docker hub
This is because hub.docker.com doesn't support buildx multi-platform
builds, so we have to point it to this file rather than the more
advanced Dockerfile.
2021-07-01 19:31:44 -04:00
mainnet-pat
8b63f55a21
Add arm64 support to Docker image + add librocksdb.a for linux aarch64 (#84)
This commit:

- Adds building docker images for multiple architectures (currently intel, arm64) 
  using docker `buildx`
- Temporarily modifies the `Dockerfile` to use `ppa:mainnet-pat/opt-qt-5.13.2-bionic` 
  which is a clone of previously used `ppa:beineri/opt-qt-5.13.2-bionic` but builds 
  arm64 deb packages as well. Author is contacted to support this in their repo.
    - Calin verified that the input source tree and build control files are identical to ~beineri
- Adds librocksdb.a static lib built for arm64 (should be generally useful outside of docker)
2021-07-02 01:36:51 +03:00
Calin Culianu
d6c56ac19a
Fix for docker build
A header was in the wrong place. Also added pkg-config to the
Dockerfile.
2021-02-09 02:16:59 +02:00
Calin Culianu
362e31ae72
CI: Added zeromq to docker, travis, and redhar CI's
Hopefully this will work -- still testing.
2021-02-07 15:23:06 +02:00
Axel Gembe
651f83f36d
Docker: Remove jemalloc preload and use new config test instead
We now detect a linkable jemalloc library automatically, so we
don't need the preload anymore.
2020-08-26 18:06:24 +07:00
Axel Gembe
12299fbf80
Docker: Preload jemalloc to reduce heap fragmentation
Jemalloc is better suited for the memory usage pattern of Fulcrum,
which is allocating/freeing lots of random sized buffers from multiple
threads, resulting in lots of fragmentation.

Jemalloc is a general purpose malloc(3) implementation that emphasizes
fragmentation avoidance and scalable concurrency support.

gdb was used to check the malloc symbol comes from libjemalloc.so.1
2020-08-26 14:28:12 +07:00
Axel Gembe
a80b94c644
Build: Set correct prefix in Dockerfile to install in /usr 2020-01-15 14:44:39 +07:00
Axel Gembe
c4544c8bb6
Build: Add script to start the docker build 2020-01-11 20:01:40 +07:00
Axel Gembe
ebf1eeb86d
Build: Make Docker build cachable and build from the local repo
To use, run this in the project root:

docker build -t fulcrum-test -f contrib/docker/Dockerfile .
2020-01-11 20:01:38 +07:00
Axel Gembe
1633b82181
Build: Replace cores with MAKEFLAGS
By default we don't pass any additional arugments to make.
2020-01-11 19:45:58 +07:00
Calin Culianu
ee73e39af0
Made Dockerfile accept the cores= build arg 2020-01-11 13:39:21 +02:00
Calin Culianu
380c3ae7ca Made Dockerfile use parallel build -j4 2020-01-11 13:29:42 +02:00
Axel Gembe
4cee70f63e
Build: Use Qt 5.13.2 in Dockerfile 2020-01-11 18:22:01 +07:00
Axel Gembe
6387e2f250
Build: Add Dockerfile based on Ubuntu Bionic + Qt 5.13.2 PPA
Docker Hub runs an older version of docker, so we can't use any
newer glibc (>= 2.28) that support the statx syscall. Because of
this we use Ubuntu Bionic as a base, which ships with version 2.27.

When Docker Hub upgrades to Docker >= 18.04 we can use a newer base.
2020-01-10 18:57:08 +07:00