mirror of
https://github.com/dashpay/dash.git
synced 2024-12-26 20:42:59 +01:00
1fddc53f53
* ci: build alpha action
* ci: use self-hosted runner
* ci: build faster
* ci: multicore dash build
* chore: copy build, dockerize and push
* chore: dockerize build
* chore: remove unnecessary cachedir and checkout steps
* chore: disable qemu
* chore: remove buildx steps now included in AMI
* chore: move binaries in to place for second stage copy
* fix: runner using incorrect build driver
* chore: debug builder info
* chore: more detailed debug
* chore: install qemu and buildx in actions
* fix: indentation
* fix: remove debug code
* feat: multi-arch cross-compiling dockerfile
* chore: remove unnecessary docker layers
* chore: add debug output
* chore: dump context
* fix: use event inputs tag for docker_meta
* chore: dump context again
* fix: context reference syntax
* feat: attempt to use gitian builder
* chore: ff changes from other branches
* chore: disable macOS build
* Revert "chore: ff changes from other branches"
This reverts commit daece1c505
.
* chore: restore GHA changes to fix incorrect merge
* chore: remove duplicate code
* chore: bump buildx version to latest
* chore: try to build without signing
* chore: setup tmate to find build
* chore: run tmate on failure
* fix: invalid path to binaries on copy
* chore: remove unnecessary GPG steps
* chore: replace strophy with dashpay
* fix: gha cache not providing speedup
* Update .github/workflows/release_alpha.yml
Co-authored-by: UdjinM6 <UdjinM6@users.noreply.github.com>
81 lines
2.0 KiB
Docker
81 lines
2.0 KiB
Docker
# syntax=docker/dockerfile:1.3
|
|
|
|
FROM --platform=$BUILDPLATFORM ubuntu:focal as builder
|
|
RUN apt-get update && \
|
|
apt-get -y install --no-install-recommends \
|
|
automake \
|
|
autotools-dev \
|
|
bsdmainutils \
|
|
build-essential \
|
|
ca-certificates \
|
|
curl \
|
|
g++-arm-linux-gnueabihf \
|
|
libtool \
|
|
pkg-config \
|
|
python3 \
|
|
wget \
|
|
&& rm -rf /var/lib/apt/lists/*
|
|
|
|
WORKDIR /dash
|
|
|
|
COPY . .
|
|
|
|
ARG TARGETPLATFORM
|
|
|
|
RUN case "$TARGETPLATFORM" in \
|
|
"linux/arm64") make HOST=arm-linux-gnueabihf -C depends -j`nproc | awk '{x=$1/2; print x}'` ;; \
|
|
"linux/amd64") make HOST=x86_64-pc-linux-gnu -C depends -j`nproc | awk '{x=$1/2; print x}'` ;; \
|
|
*) exit 1 ;; \
|
|
esac
|
|
|
|
RUN ./autogen.sh && \
|
|
case "$TARGETPLATFORM" in \
|
|
"linux/arm64") ./configure --prefix=`pwd`/depends/arm-linux-gnueabihf ;; \
|
|
"linux/amd64") ./configure --prefix=`pwd`/depends/x86_64-pc-linux-gnu ;; \
|
|
esac
|
|
|
|
RUN make -j`nproc | awk '{x=$1/2; print x}'` && make install
|
|
|
|
RUN mkdir built-target && \
|
|
case "$TARGETPLATFORM" in \
|
|
"linux/arm64") cp depends/arm-linux-gnueabihf/bin/dash* /dash/built-target ;; \
|
|
"linux/amd64") cp depends/x86_64-pc-linux-gnu/bin/dash* /dash/built-target ;; \
|
|
esac
|
|
|
|
FROM ubuntu:focal
|
|
LABEL maintainer="Dash Developers <dev@dash.org>"
|
|
LABEL description="Dockerised DashCore"
|
|
|
|
ARG USER_ID
|
|
ARG GROUP_ID
|
|
ARG TAG
|
|
|
|
ENV HOME /dash
|
|
|
|
# add user with specified (or default) user/group ids
|
|
ENV USER_ID ${USER_ID:-1000}
|
|
ENV GROUP_ID ${GROUP_ID:-1000}
|
|
RUN groupadd -g ${GROUP_ID} dash && \
|
|
useradd -u ${USER_ID} -g dash -s /bin/bash -m -d /dash dash && \
|
|
mkdir /dash/.dashcore && \
|
|
chown dash:dash -R /dash
|
|
|
|
RUN apt-get update && \
|
|
apt-get -y install --no-install-recommends \
|
|
wget \
|
|
ca-certificates \
|
|
&& rm -rf /var/lib/apt/lists/*
|
|
|
|
COPY --from=builder /dash/built-target/dash* /usr/local/bin
|
|
|
|
USER dash
|
|
|
|
VOLUME ["/dash"]
|
|
|
|
COPY docker/docker-entrypoint.sh /docker-entrypoint.sh
|
|
ENTRYPOINT ["/docker-entrypoint.sh"]
|
|
|
|
EXPOSE 9998 9999 19998 19999
|
|
|
|
WORKDIR /dash
|