mirror of
https://github.com/status-im/status-desktop.git
synced 2025-01-10 14:26:34 +00:00
Jakub Sokołowski
2df6def7f9
Adds `scripts/sign-linux-file.sh` which expectes the following variables set: * `LINUX_GPG_PRIVATE_KEY_FILE` - Path to the GPG export of private key. * `LINUX_GPG_PRIVATE_KEY_PASS` - Password necessary to use the private key. Given a file it creates a file with a `.asc` suffix containing the signature: ``` > wget -q https://status-im-prs.ams3.digitaloceanspaces.com/StatusIm-210809-104514-156806-pr.tar.gz > tar xvf StatusIm-210809-104514-156806-pr.tar.gz StatusIm-210809-104514-156806-pr.AppImage StatusIm-210809-104514-156806-pr.AppImage.asc > gpg --verify StatusIm-210809-104514-156806-pr.AppImage.asc gpg: assuming signed data in 'StatusIm-210809-104514-156806-pr.AppImage' gpg: Signature made Mon 09 Aug 2021 12:54:49 PM CEST using RSA key ID E20B4DFD gpg: Good signature from "Status.im Devel Signing (GPG key for signing Status.im development builds.) <devel@status.im>" [ultimate] Primary key fingerprint: BBF0 5F92 536B ED19 30A9 FD44 009F B3BF E20B 4DFD ``` Issue: https://github.com/status-im/infra-ci/issues/25 Requires: https://github.com/status-im/status-jenkins-lib/pull/32 Signed-off-by: Jakub Sokołowski <jakub@status.im>
50 lines
2.1 KiB
Docker
50 lines
2.1 KiB
Docker
FROM a12e/docker-qt:5.14-gcc_64
|
|
|
|
# $QT_PATH and $QT_PLATFORM are provided by the docker image
|
|
# $QT_PATH/$QT_VERSION/$QT_PLATFORM/bin is already prepended to $PATH
|
|
# However $QT_VERSION is not exposed to environment so set it here
|
|
ENV QT_VERSION="5.14.0"
|
|
ENV QTDIR="${QT_PATH}/${QT_VERSION}/${QT_PLATFORM}"
|
|
ENV LD_LIBRARY_PATH="${QTDIR}/lib:${LD_LIBRARY_PATH}"
|
|
# $OPENSSL_PREFIX is provided by the docker image
|
|
ENV LIBRARY_PATH="${OPENSSL_PREFIX}/lib:${LIBRARY_PATH}"
|
|
|
|
RUN export DEBIAN_FRONTEND=noninteractive \
|
|
&& sudo apt update -yq \
|
|
&& sudo apt install -yq software-properties-common \
|
|
&& sudo add-apt-repository -y ppa:git-core/ppa \
|
|
&& sudo apt update -yq \
|
|
&& sudo apt purge -yq gnupg \
|
|
&& sudo apt install -yq --fix-missing \
|
|
build-essential cmake jq git s3cmd gnupg2 \
|
|
libpcre3-dev libnss3 libxcomposite1 libxtst6 \
|
|
gstreamer1.0-plugins-good gstreamer1.0-plugins-bad \
|
|
gstreamer1.0-plugins-ugly gstreamer1.0-libav \
|
|
gstreamer1.0-tools gstreamer1.0-alsa gstreamer1.0-pulseaudio
|
|
|
|
# Installing Golang
|
|
RUN GOLANG_SHA256="aed845e4185a0b2a3c3d5e1d0a35491702c55889192bb9c30e67a3de6849c067" \
|
|
&& GOLANG_TARBALL="go1.14.4.linux-amd64.tar.gz" \
|
|
&& wget -q "https://dl.google.com/go/${GOLANG_TARBALL}" \
|
|
&& echo "${GOLANG_SHA256} ${GOLANG_TARBALL}" | sha256sum -c \
|
|
&& sudo tar -C /usr/local -xzf "${GOLANG_TARBALL}" \
|
|
&& rm "${GOLANG_TARBALL}" \
|
|
&& sudo ln -s /usr/local/go/bin/go /usr/local/bin
|
|
|
|
# Re-install Qt with QtWebEngine by adjusting QT_CI_PACKAGES
|
|
# The http_proxy=invalid is a fix for getting stuck on 'Welcome Page'
|
|
RUN sudo sed /tmp/build/install-qt.sh -i \
|
|
-e 's/^QT_CI_PACKAGES=.*/export QT_CI_PACKAGES=qt.qt5.5140.gcc_64,qt.qt5.5140.qtwebengine,qt.qt5/' \
|
|
-e '\#^/tmp/build/bin/extract-qt-installer.*#i export http_proxy=invalid' \
|
|
&& sudo -E /tmp/build/install-qt.sh
|
|
|
|
# Jenkins user needs a specific UID/GID to work
|
|
RUN sudo groupadd -g 1001 jenkins \
|
|
&& sudo useradd --create-home -u 1001 -g 1001 jenkins
|
|
USER jenkins
|
|
ENV HOME="/home/jenkins"
|
|
|
|
LABEL maintainer="jakub@status.im"
|
|
LABEL source="https://github.com/status-im/status-desktop"
|
|
LABEL description="Build image for the Status Desktop client written in Nim."
|