From 80a1ba203c747a23d4701129f084c0322e670262 Mon Sep 17 00:00:00 2001 From: jikstra Date: Thu, 21 Mar 2019 23:52:49 +0100 Subject: [PATCH 01/22] Add dockerfile on which we can build deltachat-desktop --- docker/ubuntu1604/Dockerfile | 44 +++++++++++++++++++ .../ubuntu1604/electron-installer-debian.json | 15 +++++++ 2 files changed, 59 insertions(+) create mode 100644 docker/ubuntu1604/Dockerfile create mode 100644 docker/ubuntu1604/electron-installer-debian.json diff --git a/docker/ubuntu1604/Dockerfile b/docker/ubuntu1604/Dockerfile new file mode 100644 index 0000000000..ece096dcf7 --- /dev/null +++ b/docker/ubuntu1604/Dockerfile @@ -0,0 +1,44 @@ +FROM ubuntu:xenial + + +# Update system +RUN true \ + && apt update \ + && apt -y upgrade + +# Install nvm & node +RUN true \ + && apt -y install wget git \ + && wget -qO- https://raw.githubusercontent.com/creationix/nvm/v0.33.4/install.sh | bash \ + && export NVM_DIR="$HOME/.nvm" \ + && [ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh" \ + && nvm install v10 + +# Install @sqdependencies to build deltachat-core +RUN apt -y install g++- libssl-dev libsqlite3-dev libbz2-dev zlib1g-dev python3.5-dev python-software-properties unzip cmake pkg-config libsasl2-dev + +# Install meson +RUN true \ + && apt -y install python3-pip python3.5 \ + && pip3 install meson + +# Install ninja +RUN true \ + && apt install unzip \ + && wget https://github.com/ninja-build/ninja/releases/download/v1.8.2/ninja-linux.zip \ + && unzip ninja-linux.zip \ + && cp ninja /usr/bin + +# Set the working directory to /app +WORKDIR /build + +# Copy the current directory contents into the container at /app +COPY . /build + +#RUN bash -i -c 'npm install --build-from-source' +#RUN bash -i -c 'npm run build' +#RUN bash -i -c './node-modules/.bin/electron-builder --linux deb' + +# Don't stop docker +CMD tail -f /dev/null + diff --git a/docker/ubuntu1604/electron-installer-debian.json b/docker/ubuntu1604/electron-installer-debian.json new file mode 100644 index 0000000000..e5df75189c --- /dev/null +++ b/docker/ubuntu1604/electron-installer-debian.json @@ -0,0 +1,15 @@ +{ + "dest": "dist/installers/", + "icon": "images/deltachat.png", + "categories": [ + "Utility" + ], + "lintianOverrides": [ + "changelog-file-missing-in-native-package" + ], + "depends": [ + "libsasl2-2", + "libssl1.0.0", + "libsqlite3-0" + ] +} From 739e0dbc74e2841cea2e1e282a6d17c394255a35 Mon Sep 17 00:00:00 2001 From: jikstra Date: Sat, 23 Mar 2019 02:45:43 +0100 Subject: [PATCH 02/22] Refactor whole build logic/structure and implement working 18.10 builder files --- builder/ubuntu-16_04/build-context/build.sh | 6 +++ .../electron-builder-ubuntu.json | 29 ++++++++++++++ builder/ubuntu-16_04/build-image.sh | 5 +++ builder/ubuntu-16_04/build-package.sh | 5 +++ .../ubuntu-16_04/docker}/Dockerfile | 13 ++---- builder/ubuntu-18_10/build-context/build.sh | 6 +++ .../electron-builder-ubuntu.json | 29 ++++++++++++++ builder/ubuntu-18_10/build-image.sh | 5 +++ builder/ubuntu-18_10/build-package.sh | 7 ++++ builder/ubuntu-18_10/docker/Dockerfile | 40 +++++++++++++++++++ .../ubuntu1604/electron-installer-debian.json | 15 ------- 11 files changed, 135 insertions(+), 25 deletions(-) create mode 100755 builder/ubuntu-16_04/build-context/build.sh create mode 100755 builder/ubuntu-16_04/build-context/electron-builder-ubuntu.json create mode 100755 builder/ubuntu-16_04/build-image.sh create mode 100755 builder/ubuntu-16_04/build-package.sh rename {docker/ubuntu1604 => builder/ubuntu-16_04/docker}/Dockerfile (76%) mode change 100644 => 100755 create mode 100755 builder/ubuntu-18_10/build-context/build.sh create mode 100755 builder/ubuntu-18_10/build-context/electron-builder-ubuntu.json create mode 100755 builder/ubuntu-18_10/build-image.sh create mode 100755 builder/ubuntu-18_10/build-package.sh create mode 100755 builder/ubuntu-18_10/docker/Dockerfile delete mode 100644 docker/ubuntu1604/electron-installer-debian.json diff --git a/builder/ubuntu-16_04/build-context/build.sh b/builder/ubuntu-16_04/build-context/build.sh new file mode 100755 index 0000000000..c9ff756d71 --- /dev/null +++ b/builder/ubuntu-16_04/build-context/build.sh @@ -0,0 +1,6 @@ +#!/bin/bash +cd /build +rm -rf node_modules +npm install --build-from-source +npm run build +npx electron-builder -c /build-context/electron-builder-ubuntu.json diff --git a/builder/ubuntu-16_04/build-context/electron-builder-ubuntu.json b/builder/ubuntu-16_04/build-context/electron-builder-ubuntu.json new file mode 100755 index 0000000000..f6594a4d7f --- /dev/null +++ b/builder/ubuntu-16_04/build-context/electron-builder-ubuntu.json @@ -0,0 +1,29 @@ +{ + "appId": "com.deltachat.desktop", + "linux": { + "artifactName": "${productName}-ubuntu-16_04-${version}.${ext}", + "target": [ + "deb" + ], + "category": "Utility", + "depends": [ + "libsasl2-2", + "libssl1.0.0", + "libsqlite3-0" + ] + }, + "files": [ + "!node_modules/deltachat-node/deltachat-core${/*}", + "!**/*", + "node_modules", + "_locales/*.json", + "index.js", + "src", + "!src/renderer", + "static", + "images" + ], + "directories": { + "output": "dist/ubuntu-16_04" + } +} diff --git a/builder/ubuntu-16_04/build-image.sh b/builder/ubuntu-16_04/build-image.sh new file mode 100755 index 0000000000..593d3d4038 --- /dev/null +++ b/builder/ubuntu-16_04/build-image.sh @@ -0,0 +1,5 @@ +#!/bin/bash +SCRIPT=`realpath $0` +SCRIPTPATH=`dirname $SCRIPT` + +docker build -t builder-deltachat-desktop-ubuntu-16_04 -f "$SCRIPTPATH/docker/Dockerfile" "$SCRIPTPATH/build-context" diff --git a/builder/ubuntu-16_04/build-package.sh b/builder/ubuntu-16_04/build-package.sh new file mode 100755 index 0000000000..fdcfe242dd --- /dev/null +++ b/builder/ubuntu-16_04/build-package.sh @@ -0,0 +1,5 @@ +#/bin/bash +SCRIPT=`realpath $0` +SCRIPTPATH=`dirname $SCRIPT` + +docker run --rm -it -v "$SCRIPTPATH/../..":/build -w /build-context builder-deltachat-desktop-ubuntu-16_04 bash -i -c './build.sh' diff --git a/docker/ubuntu1604/Dockerfile b/builder/ubuntu-16_04/docker/Dockerfile old mode 100644 new mode 100755 similarity index 76% rename from docker/ubuntu1604/Dockerfile rename to builder/ubuntu-16_04/docker/Dockerfile index ece096dcf7..abb5c25343 --- a/docker/ubuntu1604/Dockerfile +++ b/builder/ubuntu-16_04/docker/Dockerfile @@ -30,15 +30,8 @@ RUN true \ && cp ninja /usr/bin # Set the working directory to /app -WORKDIR /build +WORKDIR /build-context -# Copy the current directory contents into the container at /app -COPY . /build - -#RUN bash -i -c 'npm install --build-from-source' -#RUN bash -i -c 'npm run build' -#RUN bash -i -c './node-modules/.bin/electron-builder --linux deb' - -# Don't stop docker -CMD tail -f /dev/null +COPY . /build-context +RUN chmod +x /build-context/*.sh diff --git a/builder/ubuntu-18_10/build-context/build.sh b/builder/ubuntu-18_10/build-context/build.sh new file mode 100755 index 0000000000..c9ff756d71 --- /dev/null +++ b/builder/ubuntu-18_10/build-context/build.sh @@ -0,0 +1,6 @@ +#!/bin/bash +cd /build +rm -rf node_modules +npm install --build-from-source +npm run build +npx electron-builder -c /build-context/electron-builder-ubuntu.json diff --git a/builder/ubuntu-18_10/build-context/electron-builder-ubuntu.json b/builder/ubuntu-18_10/build-context/electron-builder-ubuntu.json new file mode 100755 index 0000000000..a84eae61c1 --- /dev/null +++ b/builder/ubuntu-18_10/build-context/electron-builder-ubuntu.json @@ -0,0 +1,29 @@ +{ + "appId": "com.deltachat.desktop", + "linux": { + "artifactName": "${productName}-ubuntu-18_10-${version}.${ext}", + "target": [ + "deb" + ], + "category": "Utility", + "depends": [ + "libsasl2-2", + "libssl1.0.0", + "libsqlite3-0" + ] + }, + "files": [ + "!node_modules/deltachat-node/deltachat-core${/*}", + "!**/*", + "node_modules", + "_locales/*.json", + "index.js", + "src", + "!src/renderer", + "static", + "images" + ], + "directories": { + "output": "dist/ubuntu-18_10" + } +} diff --git a/builder/ubuntu-18_10/build-image.sh b/builder/ubuntu-18_10/build-image.sh new file mode 100755 index 0000000000..55bf28f195 --- /dev/null +++ b/builder/ubuntu-18_10/build-image.sh @@ -0,0 +1,5 @@ +#!/bin/bash +SCRIPT=`realpath $0` +SCRIPTPATH=`dirname $SCRIPT` + +docker build -t builder-deltachat-desktop-ubuntu-18_10 -f "$SCRIPTPATH/docker/Dockerfile" "$SCRIPTPATH/build-context" diff --git a/builder/ubuntu-18_10/build-package.sh b/builder/ubuntu-18_10/build-package.sh new file mode 100755 index 0000000000..49b51cc752 --- /dev/null +++ b/builder/ubuntu-18_10/build-package.sh @@ -0,0 +1,7 @@ +#/bin/bash +SCRIPT=`realpath $0` +SCRIPTPATH=`dirname $SCRIPT` + +docker run --rm -it -v "$SCRIPTPATH/../..":/build -w /build-context builder-deltachat-desktop-ubuntu-18_10 bash -i -c './build.sh' +#docker run --rm -it -v "$SCRIPTPATH/../..":/build -w /build-context builder-deltachat-desktop-ubuntu-18_10 tail -f /dev/null + diff --git a/builder/ubuntu-18_10/docker/Dockerfile b/builder/ubuntu-18_10/docker/Dockerfile new file mode 100755 index 0000000000..ff91b3d165 --- /dev/null +++ b/builder/ubuntu-18_10/docker/Dockerfile @@ -0,0 +1,40 @@ +FROM ubuntu:18.10 + + +# Update system +RUN true \ + && apt update \ + && apt -y upgrade + +# Install nvm & node +RUN true \ + && apt -y install wget git \ + && wget -qO- https://raw.githubusercontent.com/creationix/nvm/v0.33.4/install.sh | bash \ + && export NVM_DIR="$HOME/.nvm" \ + && [ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh" \ + && nvm install v10 + +# Install @sqdependencies to build deltachat-core +RUN apt -y install g++- libssl-dev libsqlite3-dev libbz2-dev zlib1g-dev python3-dev unzip cmake pkg-config libsasl2-dev + +# Install meson +RUN true \ + && apt -y install python3-pip python3.5 \ + && pip3 install meson + +# Install ninja +RUN true \ + && apt install unzip \ + && wget https://github.com/ninja-build/ninja/releases/download/v1.8.2/ninja-linux.zip \ + && unzip ninja-linux.zip \ + && cp ninja /usr/bin + +# Install dependencies for deltachat-node +RUN apt -y install python2 + +# Set the working directory to /app +WORKDIR /build-context + +COPY . /build-context + +RUN chmod +x /build-context/*.sh diff --git a/docker/ubuntu1604/electron-installer-debian.json b/docker/ubuntu1604/electron-installer-debian.json deleted file mode 100644 index e5df75189c..0000000000 --- a/docker/ubuntu1604/electron-installer-debian.json +++ /dev/null @@ -1,15 +0,0 @@ -{ - "dest": "dist/installers/", - "icon": "images/deltachat.png", - "categories": [ - "Utility" - ], - "lintianOverrides": [ - "changelog-file-missing-in-native-package" - ], - "depends": [ - "libsasl2-2", - "libssl1.0.0", - "libsqlite3-0" - ] -} From 595fb5667e594d529aa0781e405b9e217cb8355e Mon Sep 17 00:00:00 2001 From: jikstra Date: Mon, 25 Mar 2019 14:16:55 +0100 Subject: [PATCH 03/22] Implement wip builder files for building a ubuntu 18.10 package with rpgp --- .../ubuntu-18_10-rpgp/build-context/build.sh | 24 ++++++++ .../electron-builder-ubuntu.json | 29 ++++++++++ builder/ubuntu-18_10-rpgp/build-image.sh | 5 ++ builder/ubuntu-18_10-rpgp/build-package.sh | 7 +++ builder/ubuntu-18_10-rpgp/docker/Dockerfile | 58 +++++++++++++++++++ 5 files changed, 123 insertions(+) create mode 100755 builder/ubuntu-18_10-rpgp/build-context/build.sh create mode 100755 builder/ubuntu-18_10-rpgp/build-context/electron-builder-ubuntu.json create mode 100755 builder/ubuntu-18_10-rpgp/build-image.sh create mode 100755 builder/ubuntu-18_10-rpgp/build-package.sh create mode 100755 builder/ubuntu-18_10-rpgp/docker/Dockerfile diff --git a/builder/ubuntu-18_10-rpgp/build-context/build.sh b/builder/ubuntu-18_10-rpgp/build-context/build.sh new file mode 100755 index 0000000000..3cc3c2f941 --- /dev/null +++ b/builder/ubuntu-18_10-rpgp/build-context/build.sh @@ -0,0 +1,24 @@ +#!/bin/bash + +# Compile deltachat-core with rpgp +cd / +git clone https://github.com/deltachat/deltachat-core.git +cd deltachat-core/ +git checkout fix_meson_rpgp_pkg-config +PKG_CONFIG_PATH=/opt/DeltaChat/rpgp/lib/pkgconfig/ meson -Dpgp=true --prefix /opt/DeltaChat/libdeltachat builddir +cd builddir/ +ninja install + +cd / +git clone https://github. +cd / +@sngit clone https://github.com/deltachat/deltachat-node.git +cd deltachat-node/ +cp -r /deltachat-core . +ls -al +npm install +npx node-gyp build +node_modules +#npm install --build-from-source +#npm run build +#npx electron-builder -c /build-context/electron-builder-ubuntu.json diff --git a/builder/ubuntu-18_10-rpgp/build-context/electron-builder-ubuntu.json b/builder/ubuntu-18_10-rpgp/build-context/electron-builder-ubuntu.json new file mode 100755 index 0000000000..a84eae61c1 --- /dev/null +++ b/builder/ubuntu-18_10-rpgp/build-context/electron-builder-ubuntu.json @@ -0,0 +1,29 @@ +{ + "appId": "com.deltachat.desktop", + "linux": { + "artifactName": "${productName}-ubuntu-18_10-${version}.${ext}", + "target": [ + "deb" + ], + "category": "Utility", + "depends": [ + "libsasl2-2", + "libssl1.0.0", + "libsqlite3-0" + ] + }, + "files": [ + "!node_modules/deltachat-node/deltachat-core${/*}", + "!**/*", + "node_modules", + "_locales/*.json", + "index.js", + "src", + "!src/renderer", + "static", + "images" + ], + "directories": { + "output": "dist/ubuntu-18_10" + } +} diff --git a/builder/ubuntu-18_10-rpgp/build-image.sh b/builder/ubuntu-18_10-rpgp/build-image.sh new file mode 100755 index 0000000000..3931762157 --- /dev/null +++ b/builder/ubuntu-18_10-rpgp/build-image.sh @@ -0,0 +1,5 @@ +#!/bin/bash +SCRIPT=`realpath $0` +SCRIPTPATH=`dirname $SCRIPT` + +docker build -t builder-deltachat-desktop-ubuntu-18_10-rpgp -f "$SCRIPTPATH/docker/Dockerfile" "$SCRIPTPATH/build-context" diff --git a/builder/ubuntu-18_10-rpgp/build-package.sh b/builder/ubuntu-18_10-rpgp/build-package.sh new file mode 100755 index 0000000000..0643ad3d1d --- /dev/null +++ b/builder/ubuntu-18_10-rpgp/build-package.sh @@ -0,0 +1,7 @@ +#/bin/bash +SCRIPT=`realpath $0` +SCRIPTPATH=`dirname $SCRIPT` + +docker run --rm -it -v "$SCRIPTPATH/../..":/build -w /build-context builder-deltachat-desktop-ubuntu-18_10-rpgp bash -i -c 'tail -f /dev/null' +#docker run --rm -it -v "$SCRIPTPATH/../..":/build -w /build-context builder-deltachat-desktop-ubuntu-18_10-rpgp tail -f /dev/null + diff --git a/builder/ubuntu-18_10-rpgp/docker/Dockerfile b/builder/ubuntu-18_10-rpgp/docker/Dockerfile new file mode 100755 index 0000000000..ec9b3d6a43 --- /dev/null +++ b/builder/ubuntu-18_10-rpgp/docker/Dockerfile @@ -0,0 +1,58 @@ +FROM ubuntu:18.10 + + +# Update system +RUN true \ + && apt update \ + && apt -y upgrade + +# Install nvm & node +RUN true \ + && apt -y install wget git \ + && wget -qO- https://raw.githubusercontent.com/creationix/nvm/v0.33.4/install.sh | bash \ + && export NVM_DIR="$HOME/.nvm" \ + && [ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh" \ + && nvm install v10 + +# Install @sqdependencies to build deltachat-core +RUN apt -y install g++- libssl-dev libsqlite3-dev libbz2-dev zlib1g-dev python3-dev unzip cmake pkg-config libsasl2-dev + +# Install meson +RUN true \ + && apt -y install python3-pip python3.5 \ + && pip3 install meson + +# Install ninja +RUN true \ + && apt install unzip \ + && wget https://github.com/ninja-build/ninja/releases/download/v1.8.2/ninja-linux.zip \ + && unzip ninja-linux.zip \ + && cp ninja /usr/bin + +# Install dependencies for deltachat-node +RUN apt -y install python2 + + +# Install rust for rpgp +RUN true \ + && apt -y install curl \ + && curl https://sh.rustup.rs -sSf | sh -s -- --default-toolchain nightly -y + +ENV PATH=/root/.cargo/bin:$PATH + +# Install rpgp +RUN true \ + && cd / \ + && git clone https://github.com/Jikstra/rpgp.git \ + && cd rpgp/pgp-ffi \ + && git checkout fix_makefile_pkgconfig_typo \ + && PREFIX=/opt/DeltaChat/rpgp make install + +# Set the working directory to /app +WORKDIR /build-context + +COPY . /build-context + +RUN chmod +x /build-context/*.sh + + From a4885eca60615d63a54e875e243303769b9c20f5 Mon Sep 17 00:00:00 2001 From: jikstra Date: Mon, 25 Mar 2019 20:17:40 +0100 Subject: [PATCH 04/22] add wrapper script to start deltachat-desktop with an LD_PRELOAD, work on build.sh --- builder/ubuntu-18_10-rpgp/build-context/build.sh | 12 ++++-------- .../build-context/deltachat-desktop | 8 ++++++++ 2 files changed, 12 insertions(+), 8 deletions(-) create mode 100755 builder/ubuntu-18_10-rpgp/build-context/deltachat-desktop diff --git a/builder/ubuntu-18_10-rpgp/build-context/build.sh b/builder/ubuntu-18_10-rpgp/build-context/build.sh index 3cc3c2f941..f4358546ee 100755 --- a/builder/ubuntu-18_10-rpgp/build-context/build.sh +++ b/builder/ubuntu-18_10-rpgp/build-context/build.sh @@ -9,16 +9,12 @@ PKG_CONFIG_PATH=/opt/DeltaChat/rpgp/lib/pkgconfig/ meson -Dpgp=true --prefix /op cd builddir/ ninja install -cd / -git clone https://github. -cd / -@sngit clone https://github.com/deltachat/deltachat-node.git -cd deltachat-node/ +# Compile deltachat-node with our self compiled deltachat-core +git clone https://github.com/deltachat/deltachat-node.git +cd /deltachat-node cp -r /deltachat-core . -ls -al npm install -npx node-gyp build -node_modules + #npm install --build-from-source #npm run build #npx electron-builder -c /build-context/electron-builder-ubuntu.json diff --git a/builder/ubuntu-18_10-rpgp/build-context/deltachat-desktop b/builder/ubuntu-18_10-rpgp/build-context/deltachat-desktop new file mode 100755 index 0000000000..6611e5e3b3 --- /dev/null +++ b/builder/ubuntu-18_10-rpgp/build-context/deltachat-desktop @@ -0,0 +1,8 @@ +#/bin/bash + +# Currently we rely on a wrapper script to preload bundled +# libdeltachat because of rpgp. +# ToDo: Open issue for this on -core + + +LD_PRELOAD="/opt/DeltaChat/libdeltachat/lib/x86_64-linux-gnu/libdeltachat.so" ./deltachat-desktop-electron From 45ce6c9f46d67fbf68b3d673b3fec3df1a9ec082 Mon Sep 17 00:00:00 2001 From: jikstra Date: Mon, 25 Mar 2019 20:27:07 +0100 Subject: [PATCH 05/22] add binding.gyp file --- .../build-context/binding.gyp | 44 +++++++++++++++++++ 1 file changed, 44 insertions(+) create mode 100644 builder/ubuntu-18_10-rpgp/build-context/binding.gyp diff --git a/builder/ubuntu-18_10-rpgp/build-context/binding.gyp b/builder/ubuntu-18_10-rpgp/build-context/binding.gyp new file mode 100644 index 0000000000..4c51356b30 --- /dev/null +++ b/builder/ubuntu-18_10-rpgp/build-context/binding.gyp @@ -0,0 +1,44 @@ +{ + "targets": [ + { + "target_name": "deltachat", + "conditions": [ + [ "OS == 'win'", {}], + [ "OS == 'linux'", { + "libraries": [ + "-L/opt/DeltaChat/libdeltachat/lib/x86_64-linux-gnu/", + "-ldeltachat", + "-lpthread" + ], + "cflags": [ + "-std=gnu99", + "-I/opt/DeltaChat/libdeltachat/include", + ] + }], + [ "OS == 'mac'", { + "libraries": [ + "../deltachat-core/builddir/src/libdeltachat.a", + "/usr/local/Cellar/libetpan/1.9.2_1/lib/libetpan.a", + "../deltachat-core/builddir/libs/netpgp/libnetpgp.a", + "-framework CoreFoundation", + "-framework CoreServices", + "-framework Security", + "-lsasl2", + "-lssl", + "-lsqlite3", + "-lpthread" + ] + }] + ], + "sources": [ + "./src/module.c", + "./src/eventqueue.c", + "./src/strtable.c" + ], + "include_dirs": [ + "deltachat-core/src", + " Date: Mon, 25 Mar 2019 20:46:35 +0100 Subject: [PATCH 06/22] Implemented fixing & repacking .deb --- .../ubuntu-18_10-rpgp/build-context/build.sh | 31 ++++++++++++++++--- 1 file changed, 27 insertions(+), 4 deletions(-) diff --git a/builder/ubuntu-18_10-rpgp/build-context/build.sh b/builder/ubuntu-18_10-rpgp/build-context/build.sh index f4358546ee..89b006fc72 100755 --- a/builder/ubuntu-18_10-rpgp/build-context/build.sh +++ b/builder/ubuntu-18_10-rpgp/build-context/build.sh @@ -1,4 +1,5 @@ #!/bin/bash +BUILD_NAME="ubuntu-18_10-rpgp" # Compile deltachat-core with rpgp cd / @@ -12,9 +13,31 @@ ninja install # Compile deltachat-node with our self compiled deltachat-core git clone https://github.com/deltachat/deltachat-node.git cd /deltachat-node -cp -r /deltachat-core . npm install +rm -rf deltachat-core +cp -r /deltachat-core . +cp /build-context/binding.gyp . # replace build script with fixed for rpgp one + +# Build deltachat-desktop +cd /build +npm install --build-from-source +npm run build +npx electron-builder -c /build-context/electron-builder-ubuntu.json + +# Extract already built .deb +cd "dist/$BUILD_NAME" +NAME_DEB=`basename $(find ./ -maxdepth 1 -name *.deb -print -quit)` +mkdir -p extract/DEBIAN +dpkg-deb -x $NAME_DEB extract +dpkg-deb -e $NAME_DEB extract/DEBIAN + +# Fix extracted contents +cp -r /opt/DeltaChat/rpgp extract/opt/DeltaChat +cp -r /opt/DeltaChat/libdeltachat extract/opt/DeltaChat +mv extract/opt/DeltaChat/deltachat-desktop extract/opt/DeltaChat/deltachat-desktop-electron +cp /build/deltachat-desktop extract/opt/DeltaChat + +# Repack into .deb +rm $NAME_DEB +dpkg-deb -b extract $NAME_DEB -#npm install --build-from-source -#npm run build -#npx electron-builder -c /build-context/electron-builder-ubuntu.json From 68bebe78bfe96d325dc6a4241260ada83b8b018f Mon Sep 17 00:00:00 2001 From: jikstra Date: Tue, 26 Mar 2019 14:45:40 +0100 Subject: [PATCH 07/22] Fixed ubuntu-18_18-rpgp --- .../ubuntu-18_10-rpgp/build-context/build.sh | 29 ++++++++++++++----- .../electron-builder-ubuntu.json | 4 +-- builder/ubuntu-18_10-rpgp/build-package.sh | 2 +- builder/ubuntu-18_10-rpgp/docker/Dockerfile | 4 ++- 4 files changed, 27 insertions(+), 12 deletions(-) diff --git a/builder/ubuntu-18_10-rpgp/build-context/build.sh b/builder/ubuntu-18_10-rpgp/build-context/build.sh index 89b006fc72..a415961b1f 100755 --- a/builder/ubuntu-18_10-rpgp/build-context/build.sh +++ b/builder/ubuntu-18_10-rpgp/build-context/build.sh @@ -1,31 +1,44 @@ #!/bin/bash BUILD_NAME="ubuntu-18_10-rpgp" -# Compile deltachat-core with rpgp +# COMPILE DELTACHAT-CORE with RPGP cd / git clone https://github.com/deltachat/deltachat-core.git cd deltachat-core/ -git checkout fix_meson_rpgp_pkg-config PKG_CONFIG_PATH=/opt/DeltaChat/rpgp/lib/pkgconfig/ meson -Dpgp=true --prefix /opt/DeltaChat/libdeltachat builddir cd builddir/ ninja install -# Compile deltachat-node with our self compiled deltachat-core +# COMPILE DELTACHAT-NODE WITH OUR SELF COMPILED DELTACHAT-CORE +cd / git clone https://github.com/deltachat/deltachat-node.git cd /deltachat-node npm install rm -rf deltachat-core cp -r /deltachat-core . + +# COPY OVER MODIFIED BINDING.GYP cp /build-context/binding.gyp . # replace build script with fixed for rpgp one +# rebuild bindings, for whatever reason we need to install node-gyp to make it +# work +npm install node-gyp +npx node-gyp rebuild -# Build deltachat-desktop +# BUILD DELTACHAT-DESKTOP cd /build -npm install --build-from-source +rm -rf node_modules +npm install + +# Replace deltachat-node with our manually compiled +rm -rf node_modules/deltachat-node +cp -r /deltachat-node node_modules + +# Rebuild desktop npm run build npx electron-builder -c /build-context/electron-builder-ubuntu.json -# Extract already built .deb -cd "dist/$BUILD_NAME" +# EXTRACT ALREADY BUILT .DEB +cd "/build/dist/$BUILD_NAME" NAME_DEB=`basename $(find ./ -maxdepth 1 -name *.deb -print -quit)` mkdir -p extract/DEBIAN dpkg-deb -x $NAME_DEB extract @@ -35,7 +48,7 @@ dpkg-deb -e $NAME_DEB extract/DEBIAN cp -r /opt/DeltaChat/rpgp extract/opt/DeltaChat cp -r /opt/DeltaChat/libdeltachat extract/opt/DeltaChat mv extract/opt/DeltaChat/deltachat-desktop extract/opt/DeltaChat/deltachat-desktop-electron -cp /build/deltachat-desktop extract/opt/DeltaChat +cp /build-context/deltachat-desktop extract/opt/DeltaChat # Repack into .deb rm $NAME_DEB diff --git a/builder/ubuntu-18_10-rpgp/build-context/electron-builder-ubuntu.json b/builder/ubuntu-18_10-rpgp/build-context/electron-builder-ubuntu.json index a84eae61c1..f66bf733c9 100755 --- a/builder/ubuntu-18_10-rpgp/build-context/electron-builder-ubuntu.json +++ b/builder/ubuntu-18_10-rpgp/build-context/electron-builder-ubuntu.json @@ -1,7 +1,7 @@ { "appId": "com.deltachat.desktop", "linux": { - "artifactName": "${productName}-ubuntu-18_10-${version}.${ext}", + "artifactName": "${productName}-ubuntu-18_10-rpgp-${version}.${ext}", "target": [ "deb" ], @@ -24,6 +24,6 @@ "images" ], "directories": { - "output": "dist/ubuntu-18_10" + "output": "dist/ubuntu-18_10-rpgp" } } diff --git a/builder/ubuntu-18_10-rpgp/build-package.sh b/builder/ubuntu-18_10-rpgp/build-package.sh index 0643ad3d1d..2d72ce54a1 100755 --- a/builder/ubuntu-18_10-rpgp/build-package.sh +++ b/builder/ubuntu-18_10-rpgp/build-package.sh @@ -2,6 +2,6 @@ SCRIPT=`realpath $0` SCRIPTPATH=`dirname $SCRIPT` -docker run --rm -it -v "$SCRIPTPATH/../..":/build -w /build-context builder-deltachat-desktop-ubuntu-18_10-rpgp bash -i -c 'tail -f /dev/null' +docker run --rm -it -v "$SCRIPTPATH/../..":/build -w /build-context builder-deltachat-desktop-ubuntu-18_10-rpgp bash -i -c './build.sh; tail -f /dev/null' #docker run --rm -it -v "$SCRIPTPATH/../..":/build -w /build-context builder-deltachat-desktop-ubuntu-18_10-rpgp tail -f /dev/null diff --git a/builder/ubuntu-18_10-rpgp/docker/Dockerfile b/builder/ubuntu-18_10-rpgp/docker/Dockerfile index ec9b3d6a43..fa0dbaf7c7 100755 --- a/builder/ubuntu-18_10-rpgp/docker/Dockerfile +++ b/builder/ubuntu-18_10-rpgp/docker/Dockerfile @@ -1,5 +1,6 @@ FROM ubuntu:18.10 +ENV BUILDER_NAME="ubuntu-18_10-rpgp" # Update system RUN true \ @@ -43,11 +44,12 @@ ENV PATH=/root/.cargo/bin:$PATH # Install rpgp RUN true \ && cd / \ - && git clone https://github.com/Jikstra/rpgp.git \ + && https://github.com/rpgp/rpgp.git \ && cd rpgp/pgp-ffi \ && git checkout fix_makefile_pkgconfig_typo \ && PREFIX=/opt/DeltaChat/rpgp make install + # Set the working directory to /app WORKDIR /build-context From c7bb914567bacba593bd49862d65134baa20d8b2 Mon Sep 17 00:00:00 2001 From: jikstra Date: Tue, 26 Mar 2019 18:26:57 +0100 Subject: [PATCH 08/22] Clean up build process, we now use the BUILDER_NAME env variable everywhere were we need this information. No more hardcoding! --- .../ubuntu-18_10-rpgp/build-context/build.sh | 18 ++++++++++++++++-- .../build-context/electron-builder-ubuntu.json | 4 ++-- builder/ubuntu-18_10-rpgp/docker/Dockerfile | 8 +++++--- 3 files changed, 23 insertions(+), 7 deletions(-) diff --git a/builder/ubuntu-18_10-rpgp/build-context/build.sh b/builder/ubuntu-18_10-rpgp/build-context/build.sh index a415961b1f..fb4571cfc9 100755 --- a/builder/ubuntu-18_10-rpgp/build-context/build.sh +++ b/builder/ubuntu-18_10-rpgp/build-context/build.sh @@ -1,5 +1,11 @@ #!/bin/bash -BUILD_NAME="ubuntu-18_10-rpgp" + +if [ -z ${BUILDER_NAME+x} ]; then + echo "Error: Environment variable BUILDER_NAME is unset. It should be set to + the first child folder name in \`/builder\` and is normally set in the Dockerfile + for this builder. Examples for values are \`ubuntu-16_04\` or \`ubunut-18_10-rpgp\`."; + exit 0 +fi # COMPILE DELTACHAT-CORE with RPGP cd / @@ -38,8 +44,13 @@ npm run build npx electron-builder -c /build-context/electron-builder-ubuntu.json # EXTRACT ALREADY BUILT .DEB -cd "/build/dist/$BUILD_NAME" +cd "/build/dist/$BUILDER_NAME" + +# remove linux-unpacked files, we don't need them anymore +rm -rf linux-unpacked + NAME_DEB=`basename $(find ./ -maxdepth 1 -name *.deb -print -quit)` + mkdir -p extract/DEBIAN dpkg-deb -x $NAME_DEB extract dpkg-deb -e $NAME_DEB extract/DEBIAN @@ -54,3 +65,6 @@ cp /build-context/deltachat-desktop extract/opt/DeltaChat rm $NAME_DEB dpkg-deb -b extract $NAME_DEB +# Clean up extract folder +rm -rf extract + diff --git a/builder/ubuntu-18_10-rpgp/build-context/electron-builder-ubuntu.json b/builder/ubuntu-18_10-rpgp/build-context/electron-builder-ubuntu.json index f66bf733c9..3077de1c06 100755 --- a/builder/ubuntu-18_10-rpgp/build-context/electron-builder-ubuntu.json +++ b/builder/ubuntu-18_10-rpgp/build-context/electron-builder-ubuntu.json @@ -1,7 +1,7 @@ { "appId": "com.deltachat.desktop", "linux": { - "artifactName": "${productName}-ubuntu-18_10-rpgp-${version}.${ext}", + "artifactName": "${productName}-${env.BUILDER_NAME}-${version}.${ext}", "target": [ "deb" ], @@ -24,6 +24,6 @@ "images" ], "directories": { - "output": "dist/ubuntu-18_10-rpgp" + "output": "dist/${env.BUILDER_NAME}" } } diff --git a/builder/ubuntu-18_10-rpgp/docker/Dockerfile b/builder/ubuntu-18_10-rpgp/docker/Dockerfile index fa0dbaf7c7..14af9c26cc 100755 --- a/builder/ubuntu-18_10-rpgp/docker/Dockerfile +++ b/builder/ubuntu-18_10-rpgp/docker/Dockerfile @@ -44,9 +44,11 @@ ENV PATH=/root/.cargo/bin:$PATH # Install rpgp RUN true \ && cd / \ - && https://github.com/rpgp/rpgp.git \ - && cd rpgp/pgp-ffi \ - && git checkout fix_makefile_pkgconfig_typo \ + && git clone https://github.com/rpgp/rpgp.git + +# As rpgp is currently a huge github repo, split built into two layers +RUN true \ + && cd /rpgp/pgp-ffi \ && PREFIX=/opt/DeltaChat/rpgp make install From 2586a8fafba69434d7ec5d93dd8aef7a8c712f0a Mon Sep 17 00:00:00 2001 From: jikstra Date: Tue, 26 Mar 2019 21:11:41 +0100 Subject: [PATCH 09/22] Fix startup wrapper script, add -rpgp builds for ubuntu 18.04 and 16.04 --- .../build-context/binding.gyp | 44 ++++++++++++ .../ubuntu-16_04-rpgp/build-context/build.sh | 70 +++++++++++++++++++ .../build-context/deltachat-desktop | 8 +++ .../electron-builder-ubuntu.json | 29 ++++++++ builder/ubuntu-16_04-rpgp/build-image.sh | 5 ++ builder/ubuntu-16_04-rpgp/build-package.sh | 7 ++ builder/ubuntu-16_04-rpgp/docker/Dockerfile | 62 ++++++++++++++++ .../build-context/binding.gyp | 44 ++++++++++++ .../ubuntu-18_04-rpgp/build-context/build.sh | 70 +++++++++++++++++++ .../build-context/deltachat-desktop | 8 +++ .../electron-builder-ubuntu.json | 29 ++++++++ builder/ubuntu-18_04-rpgp/build-image.sh | 5 ++ builder/ubuntu-18_04-rpgp/build-package.sh | 7 ++ builder/ubuntu-18_04-rpgp/docker/Dockerfile | 62 ++++++++++++++++ .../ubuntu-18_10-rpgp/build-context/build.sh | 2 +- .../build-context/deltachat-desktop | 2 +- 16 files changed, 452 insertions(+), 2 deletions(-) create mode 100644 builder/ubuntu-16_04-rpgp/build-context/binding.gyp create mode 100755 builder/ubuntu-16_04-rpgp/build-context/build.sh create mode 100755 builder/ubuntu-16_04-rpgp/build-context/deltachat-desktop create mode 100755 builder/ubuntu-16_04-rpgp/build-context/electron-builder-ubuntu.json create mode 100755 builder/ubuntu-16_04-rpgp/build-image.sh create mode 100755 builder/ubuntu-16_04-rpgp/build-package.sh create mode 100755 builder/ubuntu-16_04-rpgp/docker/Dockerfile create mode 100644 builder/ubuntu-18_04-rpgp/build-context/binding.gyp create mode 100755 builder/ubuntu-18_04-rpgp/build-context/build.sh create mode 100755 builder/ubuntu-18_04-rpgp/build-context/deltachat-desktop create mode 100755 builder/ubuntu-18_04-rpgp/build-context/electron-builder-ubuntu.json create mode 100755 builder/ubuntu-18_04-rpgp/build-image.sh create mode 100755 builder/ubuntu-18_04-rpgp/build-package.sh create mode 100755 builder/ubuntu-18_04-rpgp/docker/Dockerfile diff --git a/builder/ubuntu-16_04-rpgp/build-context/binding.gyp b/builder/ubuntu-16_04-rpgp/build-context/binding.gyp new file mode 100644 index 0000000000..4c51356b30 --- /dev/null +++ b/builder/ubuntu-16_04-rpgp/build-context/binding.gyp @@ -0,0 +1,44 @@ +{ + "targets": [ + { + "target_name": "deltachat", + "conditions": [ + [ "OS == 'win'", {}], + [ "OS == 'linux'", { + "libraries": [ + "-L/opt/DeltaChat/libdeltachat/lib/x86_64-linux-gnu/", + "-ldeltachat", + "-lpthread" + ], + "cflags": [ + "-std=gnu99", + "-I/opt/DeltaChat/libdeltachat/include", + ] + }], + [ "OS == 'mac'", { + "libraries": [ + "../deltachat-core/builddir/src/libdeltachat.a", + "/usr/local/Cellar/libetpan/1.9.2_1/lib/libetpan.a", + "../deltachat-core/builddir/libs/netpgp/libnetpgp.a", + "-framework CoreFoundation", + "-framework CoreServices", + "-framework Security", + "-lsasl2", + "-lssl", + "-lsqlite3", + "-lpthread" + ] + }] + ], + "sources": [ + "./src/module.c", + "./src/eventqueue.c", + "./src/strtable.c" + ], + "include_dirs": [ + "deltachat-core/src", + " Date: Tue, 2 Apr 2019 16:49:09 +0200 Subject: [PATCH 10/22] ascircleci, here we go --- .circleci/config.yml | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) create mode 100644 .circleci/config.yml diff --git a/.circleci/config.yml b/.circleci/config.yml new file mode 100644 index 0000000000..bf127b8318 --- /dev/null +++ b/.circleci/config.yml @@ -0,0 +1,27 @@ +# Javascript Node CircleCI 2.0 configuration file +# +# Check https://circleci.com/docs/2.0/language-javascript/ for more details +# +version: 2 +jobs: + build: + docker: + # specify the version you desire here + - image: circleci/node:7.10 + + # Specify service dependencies here if necessary + # CircleCI maintains a library of pre-built images + # documented at https://circleci.com/docs/2.0/circleci-images/ + # - image: circleci/mongo:3.4.4 + + working_directory: ~/repo + + steps: + - checkout + + # Download and cache dependencies + - restore_cache: + keys: + - v1-dependencies-{{ checksum "package.json" }} + # fallback to using the latest cache if no exact match is found + - v1-dependencies- From 1fd07512bf3f8e5b6ba41fddaacc95b2507af999 Mon Sep 17 00:00:00 2001 From: holger krekel Date: Tue, 2 Apr 2019 18:18:26 +0200 Subject: [PATCH 11/22] shift things around, start ubu1604 build on cci --- .circleci/config.yml | 28 +------------------ .gitignore | 1 + ci_scripts/config.yml | 18 ++++++++++++ .../build-context/binding.gyp | 0 .../ubuntu-16_04-rpgp/build-context/build.sh | 0 .../build-context/deltachat-desktop | 0 .../electron-builder-ubuntu.json | 0 .../ubuntu-16_04-rpgp/build-image.sh | 0 .../ubuntu-16_04-rpgp/build-package.sh | 0 .../ubuntu-16_04-rpgp/docker/Dockerfile | 0 .../ubuntu-16_04/build-context/build.sh | 0 .../electron-builder-ubuntu.json | 0 .../ubuntu-16_04/build-image.sh | 0 .../ubuntu-16_04/build-package.sh | 0 .../ubuntu-16_04/docker/Dockerfile | 5 ++-- .../build-context/binding.gyp | 0 .../ubuntu-18_04-rpgp/build-context/build.sh | 0 .../build-context/deltachat-desktop | 0 .../electron-builder-ubuntu.json | 0 .../ubuntu-18_04-rpgp/build-image.sh | 0 .../ubuntu-18_04-rpgp/build-package.sh | 0 .../ubuntu-18_04-rpgp/docker/Dockerfile | 0 .../build-context/binding.gyp | 0 .../ubuntu-18_10-rpgp/build-context/build.sh | 0 .../build-context/deltachat-desktop | 0 .../electron-builder-ubuntu.json | 0 .../ubuntu-18_10-rpgp/build-image.sh | 0 .../ubuntu-18_10-rpgp/build-package.sh | 0 .../ubuntu-18_10-rpgp/docker/Dockerfile | 0 .../ubuntu-18_10/build-context/build.sh | 0 .../electron-builder-ubuntu.json | 0 .../ubuntu-18_10/build-image.sh | 0 .../ubuntu-18_10/build-package.sh | 0 .../ubuntu-18_10/docker/Dockerfile | 0 34 files changed, 22 insertions(+), 30 deletions(-) mode change 100644 => 120000 .circleci/config.yml create mode 100644 ci_scripts/config.yml rename {builder => ci_scripts}/ubuntu-16_04-rpgp/build-context/binding.gyp (100%) rename {builder => ci_scripts}/ubuntu-16_04-rpgp/build-context/build.sh (100%) rename {builder => ci_scripts}/ubuntu-16_04-rpgp/build-context/deltachat-desktop (100%) rename {builder => ci_scripts}/ubuntu-16_04-rpgp/build-context/electron-builder-ubuntu.json (100%) rename {builder => ci_scripts}/ubuntu-16_04-rpgp/build-image.sh (100%) rename {builder => ci_scripts}/ubuntu-16_04-rpgp/build-package.sh (100%) rename {builder => ci_scripts}/ubuntu-16_04-rpgp/docker/Dockerfile (100%) rename {builder => ci_scripts}/ubuntu-16_04/build-context/build.sh (100%) rename {builder => ci_scripts}/ubuntu-16_04/build-context/electron-builder-ubuntu.json (100%) rename {builder => ci_scripts}/ubuntu-16_04/build-image.sh (100%) rename {builder => ci_scripts}/ubuntu-16_04/build-package.sh (100%) rename {builder => ci_scripts}/ubuntu-16_04/docker/Dockerfile (95%) rename {builder => ci_scripts}/ubuntu-18_04-rpgp/build-context/binding.gyp (100%) rename {builder => ci_scripts}/ubuntu-18_04-rpgp/build-context/build.sh (100%) rename {builder => ci_scripts}/ubuntu-18_04-rpgp/build-context/deltachat-desktop (100%) rename {builder => ci_scripts}/ubuntu-18_04-rpgp/build-context/electron-builder-ubuntu.json (100%) rename {builder => ci_scripts}/ubuntu-18_04-rpgp/build-image.sh (100%) rename {builder => ci_scripts}/ubuntu-18_04-rpgp/build-package.sh (100%) rename {builder => ci_scripts}/ubuntu-18_04-rpgp/docker/Dockerfile (100%) rename {builder => ci_scripts}/ubuntu-18_10-rpgp/build-context/binding.gyp (100%) rename {builder => ci_scripts}/ubuntu-18_10-rpgp/build-context/build.sh (100%) rename {builder => ci_scripts}/ubuntu-18_10-rpgp/build-context/deltachat-desktop (100%) rename {builder => ci_scripts}/ubuntu-18_10-rpgp/build-context/electron-builder-ubuntu.json (100%) rename {builder => ci_scripts}/ubuntu-18_10-rpgp/build-image.sh (100%) rename {builder => ci_scripts}/ubuntu-18_10-rpgp/build-package.sh (100%) rename {builder => ci_scripts}/ubuntu-18_10-rpgp/docker/Dockerfile (100%) rename {builder => ci_scripts}/ubuntu-18_10/build-context/build.sh (100%) rename {builder => ci_scripts}/ubuntu-18_10/build-context/electron-builder-ubuntu.json (100%) rename {builder => ci_scripts}/ubuntu-18_10/build-image.sh (100%) rename {builder => ci_scripts}/ubuntu-18_10/build-package.sh (100%) rename {builder => ci_scripts}/ubuntu-18_10/docker/Dockerfile (100%) diff --git a/.circleci/config.yml b/.circleci/config.yml deleted file mode 100644 index bf127b8318..0000000000 --- a/.circleci/config.yml +++ /dev/null @@ -1,27 +0,0 @@ -# Javascript Node CircleCI 2.0 configuration file -# -# Check https://circleci.com/docs/2.0/language-javascript/ for more details -# -version: 2 -jobs: - build: - docker: - # specify the version you desire here - - image: circleci/node:7.10 - - # Specify service dependencies here if necessary - # CircleCI maintains a library of pre-built images - # documented at https://circleci.com/docs/2.0/circleci-images/ - # - image: circleci/mongo:3.4.4 - - working_directory: ~/repo - - steps: - - checkout - - # Download and cache dependencies - - restore_cache: - keys: - - v1-dependencies-{{ checksum "package.json" }} - # fallback to using the latest cache if no exact match is found - - v1-dependencies- diff --git a/.circleci/config.yml b/.circleci/config.yml new file mode 120000 index 0000000000..2c42d1a2e2 --- /dev/null +++ b/.circleci/config.yml @@ -0,0 +1 @@ +../ci_scripts/config.yml \ No newline at end of file diff --git a/.gitignore b/.gitignore index 40b139183c..3c302700db 100644 --- a/.gitignore +++ b/.gitignore @@ -16,6 +16,7 @@ pids *.pid *.seed *.pid.lock +*.swp # Directory for instrumented libs generated by jscoverage/JSCover lib-cov diff --git a/ci_scripts/config.yml b/ci_scripts/config.yml new file mode 100644 index 0000000000..b3282af1ce --- /dev/null +++ b/ci_scripts/config.yml @@ -0,0 +1,18 @@ + +version: 2 +jobs: + ubu1604: + machine: True + steps: + - checkout + - run: + command: ci_scripts/ubuntu-16_04/build-image.sh + - run: + command: ci_scripts/ubuntu-16_04/build-package.sh + + +workflows: + version: 2 + build_all: + jobs: + - ubu1604 diff --git a/builder/ubuntu-16_04-rpgp/build-context/binding.gyp b/ci_scripts/ubuntu-16_04-rpgp/build-context/binding.gyp similarity index 100% rename from builder/ubuntu-16_04-rpgp/build-context/binding.gyp rename to ci_scripts/ubuntu-16_04-rpgp/build-context/binding.gyp diff --git a/builder/ubuntu-16_04-rpgp/build-context/build.sh b/ci_scripts/ubuntu-16_04-rpgp/build-context/build.sh similarity index 100% rename from builder/ubuntu-16_04-rpgp/build-context/build.sh rename to ci_scripts/ubuntu-16_04-rpgp/build-context/build.sh diff --git a/builder/ubuntu-16_04-rpgp/build-context/deltachat-desktop b/ci_scripts/ubuntu-16_04-rpgp/build-context/deltachat-desktop similarity index 100% rename from builder/ubuntu-16_04-rpgp/build-context/deltachat-desktop rename to ci_scripts/ubuntu-16_04-rpgp/build-context/deltachat-desktop diff --git a/builder/ubuntu-16_04-rpgp/build-context/electron-builder-ubuntu.json b/ci_scripts/ubuntu-16_04-rpgp/build-context/electron-builder-ubuntu.json similarity index 100% rename from builder/ubuntu-16_04-rpgp/build-context/electron-builder-ubuntu.json rename to ci_scripts/ubuntu-16_04-rpgp/build-context/electron-builder-ubuntu.json diff --git a/builder/ubuntu-16_04-rpgp/build-image.sh b/ci_scripts/ubuntu-16_04-rpgp/build-image.sh similarity index 100% rename from builder/ubuntu-16_04-rpgp/build-image.sh rename to ci_scripts/ubuntu-16_04-rpgp/build-image.sh diff --git a/builder/ubuntu-16_04-rpgp/build-package.sh b/ci_scripts/ubuntu-16_04-rpgp/build-package.sh similarity index 100% rename from builder/ubuntu-16_04-rpgp/build-package.sh rename to ci_scripts/ubuntu-16_04-rpgp/build-package.sh diff --git a/builder/ubuntu-16_04-rpgp/docker/Dockerfile b/ci_scripts/ubuntu-16_04-rpgp/docker/Dockerfile similarity index 100% rename from builder/ubuntu-16_04-rpgp/docker/Dockerfile rename to ci_scripts/ubuntu-16_04-rpgp/docker/Dockerfile diff --git a/builder/ubuntu-16_04/build-context/build.sh b/ci_scripts/ubuntu-16_04/build-context/build.sh similarity index 100% rename from builder/ubuntu-16_04/build-context/build.sh rename to ci_scripts/ubuntu-16_04/build-context/build.sh diff --git a/builder/ubuntu-16_04/build-context/electron-builder-ubuntu.json b/ci_scripts/ubuntu-16_04/build-context/electron-builder-ubuntu.json similarity index 100% rename from builder/ubuntu-16_04/build-context/electron-builder-ubuntu.json rename to ci_scripts/ubuntu-16_04/build-context/electron-builder-ubuntu.json diff --git a/builder/ubuntu-16_04/build-image.sh b/ci_scripts/ubuntu-16_04/build-image.sh similarity index 100% rename from builder/ubuntu-16_04/build-image.sh rename to ci_scripts/ubuntu-16_04/build-image.sh diff --git a/builder/ubuntu-16_04/build-package.sh b/ci_scripts/ubuntu-16_04/build-package.sh similarity index 100% rename from builder/ubuntu-16_04/build-package.sh rename to ci_scripts/ubuntu-16_04/build-package.sh diff --git a/builder/ubuntu-16_04/docker/Dockerfile b/ci_scripts/ubuntu-16_04/docker/Dockerfile similarity index 95% rename from builder/ubuntu-16_04/docker/Dockerfile rename to ci_scripts/ubuntu-16_04/docker/Dockerfile index abb5c25343..f4b86cf878 100755 --- a/builder/ubuntu-16_04/docker/Dockerfile +++ b/ci_scripts/ubuntu-16_04/docker/Dockerfile @@ -1,10 +1,9 @@ FROM ubuntu:xenial - # Update system RUN true \ - && apt update \ - && apt -y upgrade + && apt update +# && apt -y upgrade # Install nvm & node RUN true \ diff --git a/builder/ubuntu-18_04-rpgp/build-context/binding.gyp b/ci_scripts/ubuntu-18_04-rpgp/build-context/binding.gyp similarity index 100% rename from builder/ubuntu-18_04-rpgp/build-context/binding.gyp rename to ci_scripts/ubuntu-18_04-rpgp/build-context/binding.gyp diff --git a/builder/ubuntu-18_04-rpgp/build-context/build.sh b/ci_scripts/ubuntu-18_04-rpgp/build-context/build.sh similarity index 100% rename from builder/ubuntu-18_04-rpgp/build-context/build.sh rename to ci_scripts/ubuntu-18_04-rpgp/build-context/build.sh diff --git a/builder/ubuntu-18_04-rpgp/build-context/deltachat-desktop b/ci_scripts/ubuntu-18_04-rpgp/build-context/deltachat-desktop similarity index 100% rename from builder/ubuntu-18_04-rpgp/build-context/deltachat-desktop rename to ci_scripts/ubuntu-18_04-rpgp/build-context/deltachat-desktop diff --git a/builder/ubuntu-18_04-rpgp/build-context/electron-builder-ubuntu.json b/ci_scripts/ubuntu-18_04-rpgp/build-context/electron-builder-ubuntu.json similarity index 100% rename from builder/ubuntu-18_04-rpgp/build-context/electron-builder-ubuntu.json rename to ci_scripts/ubuntu-18_04-rpgp/build-context/electron-builder-ubuntu.json diff --git a/builder/ubuntu-18_04-rpgp/build-image.sh b/ci_scripts/ubuntu-18_04-rpgp/build-image.sh similarity index 100% rename from builder/ubuntu-18_04-rpgp/build-image.sh rename to ci_scripts/ubuntu-18_04-rpgp/build-image.sh diff --git a/builder/ubuntu-18_04-rpgp/build-package.sh b/ci_scripts/ubuntu-18_04-rpgp/build-package.sh similarity index 100% rename from builder/ubuntu-18_04-rpgp/build-package.sh rename to ci_scripts/ubuntu-18_04-rpgp/build-package.sh diff --git a/builder/ubuntu-18_04-rpgp/docker/Dockerfile b/ci_scripts/ubuntu-18_04-rpgp/docker/Dockerfile similarity index 100% rename from builder/ubuntu-18_04-rpgp/docker/Dockerfile rename to ci_scripts/ubuntu-18_04-rpgp/docker/Dockerfile diff --git a/builder/ubuntu-18_10-rpgp/build-context/binding.gyp b/ci_scripts/ubuntu-18_10-rpgp/build-context/binding.gyp similarity index 100% rename from builder/ubuntu-18_10-rpgp/build-context/binding.gyp rename to ci_scripts/ubuntu-18_10-rpgp/build-context/binding.gyp diff --git a/builder/ubuntu-18_10-rpgp/build-context/build.sh b/ci_scripts/ubuntu-18_10-rpgp/build-context/build.sh similarity index 100% rename from builder/ubuntu-18_10-rpgp/build-context/build.sh rename to ci_scripts/ubuntu-18_10-rpgp/build-context/build.sh diff --git a/builder/ubuntu-18_10-rpgp/build-context/deltachat-desktop b/ci_scripts/ubuntu-18_10-rpgp/build-context/deltachat-desktop similarity index 100% rename from builder/ubuntu-18_10-rpgp/build-context/deltachat-desktop rename to ci_scripts/ubuntu-18_10-rpgp/build-context/deltachat-desktop diff --git a/builder/ubuntu-18_10-rpgp/build-context/electron-builder-ubuntu.json b/ci_scripts/ubuntu-18_10-rpgp/build-context/electron-builder-ubuntu.json similarity index 100% rename from builder/ubuntu-18_10-rpgp/build-context/electron-builder-ubuntu.json rename to ci_scripts/ubuntu-18_10-rpgp/build-context/electron-builder-ubuntu.json diff --git a/builder/ubuntu-18_10-rpgp/build-image.sh b/ci_scripts/ubuntu-18_10-rpgp/build-image.sh similarity index 100% rename from builder/ubuntu-18_10-rpgp/build-image.sh rename to ci_scripts/ubuntu-18_10-rpgp/build-image.sh diff --git a/builder/ubuntu-18_10-rpgp/build-package.sh b/ci_scripts/ubuntu-18_10-rpgp/build-package.sh similarity index 100% rename from builder/ubuntu-18_10-rpgp/build-package.sh rename to ci_scripts/ubuntu-18_10-rpgp/build-package.sh diff --git a/builder/ubuntu-18_10-rpgp/docker/Dockerfile b/ci_scripts/ubuntu-18_10-rpgp/docker/Dockerfile similarity index 100% rename from builder/ubuntu-18_10-rpgp/docker/Dockerfile rename to ci_scripts/ubuntu-18_10-rpgp/docker/Dockerfile diff --git a/builder/ubuntu-18_10/build-context/build.sh b/ci_scripts/ubuntu-18_10/build-context/build.sh similarity index 100% rename from builder/ubuntu-18_10/build-context/build.sh rename to ci_scripts/ubuntu-18_10/build-context/build.sh diff --git a/builder/ubuntu-18_10/build-context/electron-builder-ubuntu.json b/ci_scripts/ubuntu-18_10/build-context/electron-builder-ubuntu.json similarity index 100% rename from builder/ubuntu-18_10/build-context/electron-builder-ubuntu.json rename to ci_scripts/ubuntu-18_10/build-context/electron-builder-ubuntu.json diff --git a/builder/ubuntu-18_10/build-image.sh b/ci_scripts/ubuntu-18_10/build-image.sh similarity index 100% rename from builder/ubuntu-18_10/build-image.sh rename to ci_scripts/ubuntu-18_10/build-image.sh diff --git a/builder/ubuntu-18_10/build-package.sh b/ci_scripts/ubuntu-18_10/build-package.sh similarity index 100% rename from builder/ubuntu-18_10/build-package.sh rename to ci_scripts/ubuntu-18_10/build-package.sh diff --git a/builder/ubuntu-18_10/docker/Dockerfile b/ci_scripts/ubuntu-18_10/docker/Dockerfile similarity index 100% rename from builder/ubuntu-18_10/docker/Dockerfile rename to ci_scripts/ubuntu-18_10/docker/Dockerfile From 8a0633bf7ad555fd5bb5cd817d0a703039223d33 Mon Sep 17 00:00:00 2001 From: holger krekel Date: Tue, 2 Apr 2019 18:28:35 +0200 Subject: [PATCH 12/22] trim down ubu1604 --- ci_scripts/ubuntu-16_04/build-image.sh | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/ci_scripts/ubuntu-16_04/build-image.sh b/ci_scripts/ubuntu-16_04/build-image.sh index 593d3d4038..4c1d600af8 100755 --- a/ci_scripts/ubuntu-16_04/build-image.sh +++ b/ci_scripts/ubuntu-16_04/build-image.sh @@ -1,5 +1,7 @@ #!/bin/bash -SCRIPT=`realpath $0` -SCRIPTPATH=`dirname $SCRIPT` -docker build -t builder-deltachat-desktop-ubuntu-16_04 -f "$SCRIPTPATH/docker/Dockerfile" "$SCRIPTPATH/build-context" +pushd ci_scripts/ubuntu-16_04 + +docker build -t builder-deltachat-desktop-ubuntu-16_04 -f docker/Dockerfile build-context + +popd From 0ac8cf86c7989ada15342ba5d06524bcbbbf5ad3 Mon Sep 17 00:00:00 2001 From: holger krekel Date: Tue, 2 Apr 2019 18:32:41 +0200 Subject: [PATCH 13/22] t1 --- ci_scripts/ubuntu-16_04/build-image.sh | 2 +- ci_scripts/ubuntu-16_04/{build-context => docker}/build.sh | 0 .../{build-context => docker}/electron-builder-ubuntu.json | 0 3 files changed, 1 insertion(+), 1 deletion(-) rename ci_scripts/ubuntu-16_04/{build-context => docker}/build.sh (100%) rename ci_scripts/ubuntu-16_04/{build-context => docker}/electron-builder-ubuntu.json (100%) diff --git a/ci_scripts/ubuntu-16_04/build-image.sh b/ci_scripts/ubuntu-16_04/build-image.sh index 4c1d600af8..f72e7687f3 100755 --- a/ci_scripts/ubuntu-16_04/build-image.sh +++ b/ci_scripts/ubuntu-16_04/build-image.sh @@ -2,6 +2,6 @@ pushd ci_scripts/ubuntu-16_04 -docker build -t builder-deltachat-desktop-ubuntu-16_04 -f docker/Dockerfile build-context +docker build -t builder-deltachat-desktop-ubuntu-16_04 docker popd diff --git a/ci_scripts/ubuntu-16_04/build-context/build.sh b/ci_scripts/ubuntu-16_04/docker/build.sh similarity index 100% rename from ci_scripts/ubuntu-16_04/build-context/build.sh rename to ci_scripts/ubuntu-16_04/docker/build.sh diff --git a/ci_scripts/ubuntu-16_04/build-context/electron-builder-ubuntu.json b/ci_scripts/ubuntu-16_04/docker/electron-builder-ubuntu.json similarity index 100% rename from ci_scripts/ubuntu-16_04/build-context/electron-builder-ubuntu.json rename to ci_scripts/ubuntu-16_04/docker/electron-builder-ubuntu.json From e2e09ad1d7c7266af2714076166849d07a54d771 Mon Sep 17 00:00:00 2001 From: holger krekel Date: Tue, 2 Apr 2019 18:53:45 +0200 Subject: [PATCH 14/22] (jikstra,hpk) simplify building, adapt for circle-ci --- ci_scripts/build-image.sh | 6 ++++++ ci_scripts/build-package.sh | 6 ++++++ ci_scripts/config.yml | 14 ++++++++++++-- ci_scripts/ubuntu-16_04/{docker => }/Dockerfile | 0 ci_scripts/ubuntu-16_04/build-image.sh | 7 ------- ci_scripts/ubuntu-16_04/build-package.sh | 5 ----- ci_scripts/ubuntu-16_04/{docker => }/build.sh | 0 .../{docker => }/electron-builder-ubuntu.json | 0 8 files changed, 24 insertions(+), 14 deletions(-) create mode 100755 ci_scripts/build-image.sh create mode 100755 ci_scripts/build-package.sh rename ci_scripts/ubuntu-16_04/{docker => }/Dockerfile (100%) delete mode 100755 ci_scripts/ubuntu-16_04/build-image.sh delete mode 100755 ci_scripts/ubuntu-16_04/build-package.sh rename ci_scripts/ubuntu-16_04/{docker => }/build.sh (100%) rename ci_scripts/ubuntu-16_04/{docker => }/electron-builder-ubuntu.json (100%) diff --git a/ci_scripts/build-image.sh b/ci_scripts/build-image.sh new file mode 100755 index 0000000000..92fd4a70f0 --- /dev/null +++ b/ci_scripts/build-image.sh @@ -0,0 +1,6 @@ +#!/bin/bash + +DIR=${1:?specify directory of ubuntu docker dir} +DOCKERTAG=deltachat/desktop-$(basename $DIR) + +docker build -t deltachat-desktop-$(basename $DIR) $DIR diff --git a/ci_scripts/build-package.sh b/ci_scripts/build-package.sh new file mode 100755 index 0000000000..23cfce7265 --- /dev/null +++ b/ci_scripts/build-package.sh @@ -0,0 +1,6 @@ +#/bin/bash + +DIR=${1:?specify directory of docker dir} +DOCKERTAG=deltachat/desktop-$(basename $DIR) + +docker run --rm -it -v $(PWD):/build -w /build-context $DOCKERTAG bash -i -c './build.sh' diff --git a/ci_scripts/config.yml b/ci_scripts/config.yml index b3282af1ce..4b05871990 100644 --- a/ci_scripts/config.yml +++ b/ci_scripts/config.yml @@ -6,9 +6,18 @@ jobs: steps: - checkout - run: - command: ci_scripts/ubuntu-16_04/build-image.sh + command: ci_scripts/build-image.sh ci_scripts/ubuntu-16_04 - run: - command: ci_scripts/ubuntu-16_04/build-package.sh + command: ci_scripts/build-package.sh ci_scripts/ubuntu-16_04 + + ubu1804: + machine: True + steps: + - checkout + - run: + command: ci_scripts/build-image.sh ci_scripts/ubuntu-18_04 + - run: + command: ci_scripts/build-package.sh ci_scripts/ubuntu-18_04 workflows: @@ -16,3 +25,4 @@ workflows: build_all: jobs: - ubu1604 + - ubu1804 diff --git a/ci_scripts/ubuntu-16_04/docker/Dockerfile b/ci_scripts/ubuntu-16_04/Dockerfile similarity index 100% rename from ci_scripts/ubuntu-16_04/docker/Dockerfile rename to ci_scripts/ubuntu-16_04/Dockerfile diff --git a/ci_scripts/ubuntu-16_04/build-image.sh b/ci_scripts/ubuntu-16_04/build-image.sh deleted file mode 100755 index f72e7687f3..0000000000 --- a/ci_scripts/ubuntu-16_04/build-image.sh +++ /dev/null @@ -1,7 +0,0 @@ -#!/bin/bash - -pushd ci_scripts/ubuntu-16_04 - -docker build -t builder-deltachat-desktop-ubuntu-16_04 docker - -popd diff --git a/ci_scripts/ubuntu-16_04/build-package.sh b/ci_scripts/ubuntu-16_04/build-package.sh deleted file mode 100755 index fdcfe242dd..0000000000 --- a/ci_scripts/ubuntu-16_04/build-package.sh +++ /dev/null @@ -1,5 +0,0 @@ -#/bin/bash -SCRIPT=`realpath $0` -SCRIPTPATH=`dirname $SCRIPT` - -docker run --rm -it -v "$SCRIPTPATH/../..":/build -w /build-context builder-deltachat-desktop-ubuntu-16_04 bash -i -c './build.sh' diff --git a/ci_scripts/ubuntu-16_04/docker/build.sh b/ci_scripts/ubuntu-16_04/build.sh similarity index 100% rename from ci_scripts/ubuntu-16_04/docker/build.sh rename to ci_scripts/ubuntu-16_04/build.sh diff --git a/ci_scripts/ubuntu-16_04/docker/electron-builder-ubuntu.json b/ci_scripts/ubuntu-16_04/electron-builder-ubuntu.json similarity index 100% rename from ci_scripts/ubuntu-16_04/docker/electron-builder-ubuntu.json rename to ci_scripts/ubuntu-16_04/electron-builder-ubuntu.json From 8f0ecab784c981aade6a399f9519f602274ebcf0 Mon Sep 17 00:00:00 2001 From: holger krekel Date: Tue, 2 Apr 2019 19:00:30 +0200 Subject: [PATCH 15/22] t2 --- ci_scripts/build-image.sh | 5 +++-- ci_scripts/build-package.sh | 7 ++++--- ci_scripts/ubuntu-16_04/Dockerfile | 3 +++ 3 files changed, 10 insertions(+), 5 deletions(-) diff --git a/ci_scripts/build-image.sh b/ci_scripts/build-image.sh index 92fd4a70f0..30739ff442 100755 --- a/ci_scripts/build-image.sh +++ b/ci_scripts/build-image.sh @@ -1,6 +1,7 @@ #!/bin/bash DIR=${1:?specify directory of ubuntu docker dir} -DOCKERTAG=deltachat/desktop-$(basename $DIR) +export BUILDER_NAME=$(basename $DIR) +export DOCKERTAG=deltachat/desktop-$BUILDER_NAME -docker build -t deltachat-desktop-$(basename $DIR) $DIR +docker build -e BUILDER_NAME -t $DOCKERTAG $DIR diff --git a/ci_scripts/build-package.sh b/ci_scripts/build-package.sh index 23cfce7265..682a686ea0 100755 --- a/ci_scripts/build-package.sh +++ b/ci_scripts/build-package.sh @@ -1,6 +1,7 @@ #/bin/bash -DIR=${1:?specify directory of docker dir} -DOCKERTAG=deltachat/desktop-$(basename $DIR) +DIR=${1:?specify directory of ubuntu docker dir} +export BUILDER_NAME=$(basename $DIR) +export DOCKERTAG=deltachat/desktop-$BUILDER_NAME -docker run --rm -it -v $(PWD):/build -w /build-context $DOCKERTAG bash -i -c './build.sh' +docker run -e BUILDER_NAME --rm -it -v $(PWD):/build -w /build-context $DOCKERTAG bash -i -c './build.sh' diff --git a/ci_scripts/ubuntu-16_04/Dockerfile b/ci_scripts/ubuntu-16_04/Dockerfile index f4b86cf878..5ed0018722 100755 --- a/ci_scripts/ubuntu-16_04/Dockerfile +++ b/ci_scripts/ubuntu-16_04/Dockerfile @@ -1,5 +1,8 @@ FROM ubuntu:xenial +RUN true \ + && echo $DOCKERTAG + # Update system RUN true \ && apt update From 66e2d94cb2c9a8c00d2d153931d17e0799e75428 Mon Sep 17 00:00:00 2001 From: holger krekel Date: Tue, 2 Apr 2019 19:05:15 +0200 Subject: [PATCH 16/22] try againagain --- ci_scripts/build-image.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ci_scripts/build-image.sh b/ci_scripts/build-image.sh index 30739ff442..69d28a962d 100755 --- a/ci_scripts/build-image.sh +++ b/ci_scripts/build-image.sh @@ -4,4 +4,4 @@ DIR=${1:?specify directory of ubuntu docker dir} export BUILDER_NAME=$(basename $DIR) export DOCKERTAG=deltachat/desktop-$BUILDER_NAME -docker build -e BUILDER_NAME -t $DOCKERTAG $DIR +docker build -t $DOCKERTAG $DIR From 0f2d4aa9626549bf0df2fe1f1e25992670c57c5d Mon Sep 17 00:00:00 2001 From: holger krekel Date: Tue, 2 Apr 2019 21:18:16 +0200 Subject: [PATCH 17/22] fix package run --- ci_scripts/build-package.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ci_scripts/build-package.sh b/ci_scripts/build-package.sh index 682a686ea0..c3060cb36e 100755 --- a/ci_scripts/build-package.sh +++ b/ci_scripts/build-package.sh @@ -4,4 +4,4 @@ DIR=${1:?specify directory of ubuntu docker dir} export BUILDER_NAME=$(basename $DIR) export DOCKERTAG=deltachat/desktop-$BUILDER_NAME -docker run -e BUILDER_NAME --rm -it -v $(PWD):/build -w /build-context $DOCKERTAG bash -i -c './build.sh' +docker run -e BUILDER_NAME --rm -it -v "${PWD}:/build" -w /build-context $DOCKERTAG bash -i -c './build.sh' From 215476828bd2751e31425230880b15672d039691 Mon Sep 17 00:00:00 2001 From: holger krekel Date: Tue, 2 Apr 2019 21:37:56 +0200 Subject: [PATCH 18/22] try get all rpgp jobs to build --- ci_scripts/config.yml | 26 +++++++++++++------ .../ubuntu-16_04-rpgp/{docker => }/Dockerfile | 0 .../{build-context => }/binding.gyp | 0 ci_scripts/ubuntu-16_04-rpgp/build-image.sh | 5 ---- ci_scripts/ubuntu-16_04-rpgp/build-package.sh | 7 ----- .../{build-context => }/build.sh | 0 .../{build-context => }/deltachat-desktop | 0 .../electron-builder-ubuntu.json | 0 .../ubuntu-18_10-rpgp/{docker => }/Dockerfile | 0 .../{build-context => }/binding.gyp | 0 ci_scripts/ubuntu-18_10-rpgp/build-image.sh | 5 ---- ci_scripts/ubuntu-18_10-rpgp/build-package.sh | 7 ----- .../{build-context => }/build.sh | 0 .../{build-context => }/deltachat-desktop | 0 .../electron-builder-ubuntu.json | 0 .../ubuntu-18_10/{docker => }/Dockerfile | 0 ci_scripts/ubuntu-18_10/build-image.sh | 5 ---- ci_scripts/ubuntu-18_10/build-package.sh | 7 ----- .../ubuntu-18_10/{build-context => }/build.sh | 0 .../electron-builder-ubuntu.json | 0 20 files changed, 18 insertions(+), 44 deletions(-) rename ci_scripts/ubuntu-16_04-rpgp/{docker => }/Dockerfile (100%) rename ci_scripts/ubuntu-16_04-rpgp/{build-context => }/binding.gyp (100%) delete mode 100755 ci_scripts/ubuntu-16_04-rpgp/build-image.sh delete mode 100755 ci_scripts/ubuntu-16_04-rpgp/build-package.sh rename ci_scripts/ubuntu-16_04-rpgp/{build-context => }/build.sh (100%) rename ci_scripts/ubuntu-16_04-rpgp/{build-context => }/deltachat-desktop (100%) rename ci_scripts/ubuntu-16_04-rpgp/{build-context => }/electron-builder-ubuntu.json (100%) rename ci_scripts/ubuntu-18_10-rpgp/{docker => }/Dockerfile (100%) rename ci_scripts/ubuntu-18_10-rpgp/{build-context => }/binding.gyp (100%) delete mode 100755 ci_scripts/ubuntu-18_10-rpgp/build-image.sh delete mode 100755 ci_scripts/ubuntu-18_10-rpgp/build-package.sh rename ci_scripts/ubuntu-18_10-rpgp/{build-context => }/build.sh (100%) rename ci_scripts/ubuntu-18_10-rpgp/{build-context => }/deltachat-desktop (100%) rename ci_scripts/ubuntu-18_10-rpgp/{build-context => }/electron-builder-ubuntu.json (100%) rename ci_scripts/ubuntu-18_10/{docker => }/Dockerfile (100%) delete mode 100755 ci_scripts/ubuntu-18_10/build-image.sh delete mode 100755 ci_scripts/ubuntu-18_10/build-package.sh rename ci_scripts/ubuntu-18_10/{build-context => }/build.sh (100%) rename ci_scripts/ubuntu-18_10/{build-context => }/electron-builder-ubuntu.json (100%) diff --git a/ci_scripts/config.yml b/ci_scripts/config.yml index 4b05871990..43a61b11a3 100644 --- a/ci_scripts/config.yml +++ b/ci_scripts/config.yml @@ -1,28 +1,38 @@ version: 2 jobs: - ubu1604: + ubu1604-rpgp: machine: True steps: - checkout - run: - command: ci_scripts/build-image.sh ci_scripts/ubuntu-16_04 + command: ci_scripts/build-image.sh ci_scripts/ubuntu-16_04-rpgp - run: - command: ci_scripts/build-package.sh ci_scripts/ubuntu-16_04 + command: ci_scripts/build-package.sh ci_scripts/ubuntu-16_04-rpgp - ubu1804: + ubu1804-rpgp: machine: True steps: - checkout - run: - command: ci_scripts/build-image.sh ci_scripts/ubuntu-18_04 + command: ci_scripts/build-image.sh ci_scripts/ubuntu-18_04-rpgp - run: - command: ci_scripts/build-package.sh ci_scripts/ubuntu-18_04 + command: ci_scripts/build-package.sh ci_scripts/ubuntu-18_04-rpgp + + ubu1810-rpgp: + machine: True + steps: + - checkout + - run: + command: ci_scripts/build-image.sh ci_scripts/ubuntu-18_10-rpgp + - run: + command: ci_scripts/build-package.sh ci_scripts/ubuntu-18_10-rpgp workflows: version: 2 build_all: jobs: - - ubu1604 - - ubu1804 + - ubu1604-rpgp + - ubu1804-rpgp + - ubu1810-rpgp diff --git a/ci_scripts/ubuntu-16_04-rpgp/docker/Dockerfile b/ci_scripts/ubuntu-16_04-rpgp/Dockerfile similarity index 100% rename from ci_scripts/ubuntu-16_04-rpgp/docker/Dockerfile rename to ci_scripts/ubuntu-16_04-rpgp/Dockerfile diff --git a/ci_scripts/ubuntu-16_04-rpgp/build-context/binding.gyp b/ci_scripts/ubuntu-16_04-rpgp/binding.gyp similarity index 100% rename from ci_scripts/ubuntu-16_04-rpgp/build-context/binding.gyp rename to ci_scripts/ubuntu-16_04-rpgp/binding.gyp diff --git a/ci_scripts/ubuntu-16_04-rpgp/build-image.sh b/ci_scripts/ubuntu-16_04-rpgp/build-image.sh deleted file mode 100755 index 5ff36fdd09..0000000000 --- a/ci_scripts/ubuntu-16_04-rpgp/build-image.sh +++ /dev/null @@ -1,5 +0,0 @@ -#!/bin/bash -SCRIPT=`realpath $0` -SCRIPTPATH=`dirname $SCRIPT` - -docker build -t builder-deltachat-desktop-ubuntu-16_04-rpgp -f "$SCRIPTPATH/docker/Dockerfile" "$SCRIPTPATH/build-context" diff --git a/ci_scripts/ubuntu-16_04-rpgp/build-package.sh b/ci_scripts/ubuntu-16_04-rpgp/build-package.sh deleted file mode 100755 index 7f231d3c9d..0000000000 --- a/ci_scripts/ubuntu-16_04-rpgp/build-package.sh +++ /dev/null @@ -1,7 +0,0 @@ -#/bin/bash -SCRIPT=`realpath $0` -SCRIPTPATH=`dirname $SCRIPT` - -docker run --rm -it -v "$SCRIPTPATH/../..":/build -w /build-context builder-deltachat-desktop-ubuntu-16_04-rpgp bash -i -c './build.sh; tail -f /dev/null' -#docker run --rm -it -v "$SCRIPTPATH/../..":/build -w /build-context builder-deltachat-desktop-ubuntu-16_04-rpgp tail -f /dev/null - diff --git a/ci_scripts/ubuntu-16_04-rpgp/build-context/build.sh b/ci_scripts/ubuntu-16_04-rpgp/build.sh similarity index 100% rename from ci_scripts/ubuntu-16_04-rpgp/build-context/build.sh rename to ci_scripts/ubuntu-16_04-rpgp/build.sh diff --git a/ci_scripts/ubuntu-16_04-rpgp/build-context/deltachat-desktop b/ci_scripts/ubuntu-16_04-rpgp/deltachat-desktop similarity index 100% rename from ci_scripts/ubuntu-16_04-rpgp/build-context/deltachat-desktop rename to ci_scripts/ubuntu-16_04-rpgp/deltachat-desktop diff --git a/ci_scripts/ubuntu-16_04-rpgp/build-context/electron-builder-ubuntu.json b/ci_scripts/ubuntu-16_04-rpgp/electron-builder-ubuntu.json similarity index 100% rename from ci_scripts/ubuntu-16_04-rpgp/build-context/electron-builder-ubuntu.json rename to ci_scripts/ubuntu-16_04-rpgp/electron-builder-ubuntu.json diff --git a/ci_scripts/ubuntu-18_10-rpgp/docker/Dockerfile b/ci_scripts/ubuntu-18_10-rpgp/Dockerfile similarity index 100% rename from ci_scripts/ubuntu-18_10-rpgp/docker/Dockerfile rename to ci_scripts/ubuntu-18_10-rpgp/Dockerfile diff --git a/ci_scripts/ubuntu-18_10-rpgp/build-context/binding.gyp b/ci_scripts/ubuntu-18_10-rpgp/binding.gyp similarity index 100% rename from ci_scripts/ubuntu-18_10-rpgp/build-context/binding.gyp rename to ci_scripts/ubuntu-18_10-rpgp/binding.gyp diff --git a/ci_scripts/ubuntu-18_10-rpgp/build-image.sh b/ci_scripts/ubuntu-18_10-rpgp/build-image.sh deleted file mode 100755 index 3931762157..0000000000 --- a/ci_scripts/ubuntu-18_10-rpgp/build-image.sh +++ /dev/null @@ -1,5 +0,0 @@ -#!/bin/bash -SCRIPT=`realpath $0` -SCRIPTPATH=`dirname $SCRIPT` - -docker build -t builder-deltachat-desktop-ubuntu-18_10-rpgp -f "$SCRIPTPATH/docker/Dockerfile" "$SCRIPTPATH/build-context" diff --git a/ci_scripts/ubuntu-18_10-rpgp/build-package.sh b/ci_scripts/ubuntu-18_10-rpgp/build-package.sh deleted file mode 100755 index 2d72ce54a1..0000000000 --- a/ci_scripts/ubuntu-18_10-rpgp/build-package.sh +++ /dev/null @@ -1,7 +0,0 @@ -#/bin/bash -SCRIPT=`realpath $0` -SCRIPTPATH=`dirname $SCRIPT` - -docker run --rm -it -v "$SCRIPTPATH/../..":/build -w /build-context builder-deltachat-desktop-ubuntu-18_10-rpgp bash -i -c './build.sh; tail -f /dev/null' -#docker run --rm -it -v "$SCRIPTPATH/../..":/build -w /build-context builder-deltachat-desktop-ubuntu-18_10-rpgp tail -f /dev/null - diff --git a/ci_scripts/ubuntu-18_10-rpgp/build-context/build.sh b/ci_scripts/ubuntu-18_10-rpgp/build.sh similarity index 100% rename from ci_scripts/ubuntu-18_10-rpgp/build-context/build.sh rename to ci_scripts/ubuntu-18_10-rpgp/build.sh diff --git a/ci_scripts/ubuntu-18_10-rpgp/build-context/deltachat-desktop b/ci_scripts/ubuntu-18_10-rpgp/deltachat-desktop similarity index 100% rename from ci_scripts/ubuntu-18_10-rpgp/build-context/deltachat-desktop rename to ci_scripts/ubuntu-18_10-rpgp/deltachat-desktop diff --git a/ci_scripts/ubuntu-18_10-rpgp/build-context/electron-builder-ubuntu.json b/ci_scripts/ubuntu-18_10-rpgp/electron-builder-ubuntu.json similarity index 100% rename from ci_scripts/ubuntu-18_10-rpgp/build-context/electron-builder-ubuntu.json rename to ci_scripts/ubuntu-18_10-rpgp/electron-builder-ubuntu.json diff --git a/ci_scripts/ubuntu-18_10/docker/Dockerfile b/ci_scripts/ubuntu-18_10/Dockerfile similarity index 100% rename from ci_scripts/ubuntu-18_10/docker/Dockerfile rename to ci_scripts/ubuntu-18_10/Dockerfile diff --git a/ci_scripts/ubuntu-18_10/build-image.sh b/ci_scripts/ubuntu-18_10/build-image.sh deleted file mode 100755 index 55bf28f195..0000000000 --- a/ci_scripts/ubuntu-18_10/build-image.sh +++ /dev/null @@ -1,5 +0,0 @@ -#!/bin/bash -SCRIPT=`realpath $0` -SCRIPTPATH=`dirname $SCRIPT` - -docker build -t builder-deltachat-desktop-ubuntu-18_10 -f "$SCRIPTPATH/docker/Dockerfile" "$SCRIPTPATH/build-context" diff --git a/ci_scripts/ubuntu-18_10/build-package.sh b/ci_scripts/ubuntu-18_10/build-package.sh deleted file mode 100755 index 49b51cc752..0000000000 --- a/ci_scripts/ubuntu-18_10/build-package.sh +++ /dev/null @@ -1,7 +0,0 @@ -#/bin/bash -SCRIPT=`realpath $0` -SCRIPTPATH=`dirname $SCRIPT` - -docker run --rm -it -v "$SCRIPTPATH/../..":/build -w /build-context builder-deltachat-desktop-ubuntu-18_10 bash -i -c './build.sh' -#docker run --rm -it -v "$SCRIPTPATH/../..":/build -w /build-context builder-deltachat-desktop-ubuntu-18_10 tail -f /dev/null - diff --git a/ci_scripts/ubuntu-18_10/build-context/build.sh b/ci_scripts/ubuntu-18_10/build.sh similarity index 100% rename from ci_scripts/ubuntu-18_10/build-context/build.sh rename to ci_scripts/ubuntu-18_10/build.sh diff --git a/ci_scripts/ubuntu-18_10/build-context/electron-builder-ubuntu.json b/ci_scripts/ubuntu-18_10/electron-builder-ubuntu.json similarity index 100% rename from ci_scripts/ubuntu-18_10/build-context/electron-builder-ubuntu.json rename to ci_scripts/ubuntu-18_10/electron-builder-ubuntu.json From cc5ab8fdabf931d87cba5cd4f91b8ad23eefc11c Mon Sep 17 00:00:00 2001 From: holger krekel Date: Tue, 2 Apr 2019 21:41:05 +0200 Subject: [PATCH 19/22] another missing --- ci_scripts/ubuntu-18_04-rpgp/{docker => }/Dockerfile | 0 .../ubuntu-18_04-rpgp/{build-context => }/binding.gyp | 0 ci_scripts/ubuntu-18_04-rpgp/build-image.sh | 5 ----- ci_scripts/ubuntu-18_04-rpgp/build-package.sh | 7 ------- ci_scripts/ubuntu-18_04-rpgp/{build-context => }/build.sh | 0 .../{build-context => }/deltachat-desktop | 0 .../{build-context => }/electron-builder-ubuntu.json | 0 7 files changed, 12 deletions(-) rename ci_scripts/ubuntu-18_04-rpgp/{docker => }/Dockerfile (100%) rename ci_scripts/ubuntu-18_04-rpgp/{build-context => }/binding.gyp (100%) delete mode 100755 ci_scripts/ubuntu-18_04-rpgp/build-image.sh delete mode 100755 ci_scripts/ubuntu-18_04-rpgp/build-package.sh rename ci_scripts/ubuntu-18_04-rpgp/{build-context => }/build.sh (100%) rename ci_scripts/ubuntu-18_04-rpgp/{build-context => }/deltachat-desktop (100%) rename ci_scripts/ubuntu-18_04-rpgp/{build-context => }/electron-builder-ubuntu.json (100%) diff --git a/ci_scripts/ubuntu-18_04-rpgp/docker/Dockerfile b/ci_scripts/ubuntu-18_04-rpgp/Dockerfile similarity index 100% rename from ci_scripts/ubuntu-18_04-rpgp/docker/Dockerfile rename to ci_scripts/ubuntu-18_04-rpgp/Dockerfile diff --git a/ci_scripts/ubuntu-18_04-rpgp/build-context/binding.gyp b/ci_scripts/ubuntu-18_04-rpgp/binding.gyp similarity index 100% rename from ci_scripts/ubuntu-18_04-rpgp/build-context/binding.gyp rename to ci_scripts/ubuntu-18_04-rpgp/binding.gyp diff --git a/ci_scripts/ubuntu-18_04-rpgp/build-image.sh b/ci_scripts/ubuntu-18_04-rpgp/build-image.sh deleted file mode 100755 index da4e0b69ba..0000000000 --- a/ci_scripts/ubuntu-18_04-rpgp/build-image.sh +++ /dev/null @@ -1,5 +0,0 @@ -#!/bin/bash -SCRIPT=`realpath $0` -SCRIPTPATH=`dirname $SCRIPT` - -docker build -t builder-deltachat-desktop-ubuntu-18_04-rpgp -f "$SCRIPTPATH/docker/Dockerfile" "$SCRIPTPATH/build-context" diff --git a/ci_scripts/ubuntu-18_04-rpgp/build-package.sh b/ci_scripts/ubuntu-18_04-rpgp/build-package.sh deleted file mode 100755 index dbc7858d2d..0000000000 --- a/ci_scripts/ubuntu-18_04-rpgp/build-package.sh +++ /dev/null @@ -1,7 +0,0 @@ -#/bin/bash -SCRIPT=`realpath $0` -SCRIPTPATH=`dirname $SCRIPT` - -docker run --rm -it -v "$SCRIPTPATH/../..":/build -w /build-context builder-deltachat-desktop-ubuntu-18_04-rpgp bash -i -c './build.sh; tail -f /dev/null' -#docker run --rm -it -v "$SCRIPTPATH/../..":/build -w /build-context builder-deltachat-desktop-ubuntu-18_04-rpgp tail -f /dev/null - diff --git a/ci_scripts/ubuntu-18_04-rpgp/build-context/build.sh b/ci_scripts/ubuntu-18_04-rpgp/build.sh similarity index 100% rename from ci_scripts/ubuntu-18_04-rpgp/build-context/build.sh rename to ci_scripts/ubuntu-18_04-rpgp/build.sh diff --git a/ci_scripts/ubuntu-18_04-rpgp/build-context/deltachat-desktop b/ci_scripts/ubuntu-18_04-rpgp/deltachat-desktop similarity index 100% rename from ci_scripts/ubuntu-18_04-rpgp/build-context/deltachat-desktop rename to ci_scripts/ubuntu-18_04-rpgp/deltachat-desktop diff --git a/ci_scripts/ubuntu-18_04-rpgp/build-context/electron-builder-ubuntu.json b/ci_scripts/ubuntu-18_04-rpgp/electron-builder-ubuntu.json similarity index 100% rename from ci_scripts/ubuntu-18_04-rpgp/build-context/electron-builder-ubuntu.json rename to ci_scripts/ubuntu-18_04-rpgp/electron-builder-ubuntu.json From 2a6306c656b7ce8e66e657242277250d77ed71f6 Mon Sep 17 00:00:00 2001 From: holger krekel Date: Tue, 2 Apr 2019 22:42:53 +0200 Subject: [PATCH 20/22] use the fixated rust nightly version 23rd march --- ci_scripts/ubuntu-16_04-rpgp/Dockerfile | 2 +- ci_scripts/ubuntu-18_04-rpgp/Dockerfile | 2 +- ci_scripts/ubuntu-18_10-rpgp/Dockerfile | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/ci_scripts/ubuntu-16_04-rpgp/Dockerfile b/ci_scripts/ubuntu-16_04-rpgp/Dockerfile index 00e03ce3f9..134c7a37a1 100755 --- a/ci_scripts/ubuntu-16_04-rpgp/Dockerfile +++ b/ci_scripts/ubuntu-16_04-rpgp/Dockerfile @@ -37,7 +37,7 @@ RUN apt -y install python # Install rust for rpgp RUN true \ && apt -y install curl \ - && curl https://sh.rustup.rs -sSf | sh -s -- --default-toolchain nightly -y + && curl https://sh.rustup.rs -sSf | sh -s -- --default-toolchain nightly-2019-03-23 -y ENV PATH=/root/.cargo/bin:$PATH diff --git a/ci_scripts/ubuntu-18_04-rpgp/Dockerfile b/ci_scripts/ubuntu-18_04-rpgp/Dockerfile index d58875b946..25bd038036 100755 --- a/ci_scripts/ubuntu-18_04-rpgp/Dockerfile +++ b/ci_scripts/ubuntu-18_04-rpgp/Dockerfile @@ -37,7 +37,7 @@ RUN apt -y install python # Install rust for rpgp RUN true \ && apt -y install curl \ - && curl https://sh.rustup.rs -sSf | sh -s -- --default-toolchain nightly -y + && curl https://sh.rustup.rs -sSf | sh -s -- --default-toolchain nightly-2019-03-23 -y ENV PATH=/root/.cargo/bin:$PATH diff --git a/ci_scripts/ubuntu-18_10-rpgp/Dockerfile b/ci_scripts/ubuntu-18_10-rpgp/Dockerfile index 14af9c26cc..232c1cbb94 100755 --- a/ci_scripts/ubuntu-18_10-rpgp/Dockerfile +++ b/ci_scripts/ubuntu-18_10-rpgp/Dockerfile @@ -37,7 +37,7 @@ RUN apt -y install python2 # Install rust for rpgp RUN true \ && apt -y install curl \ - && curl https://sh.rustup.rs -sSf | sh -s -- --default-toolchain nightly -y + && curl https://sh.rustup.rs -sSf | sh -s -- --default-toolchain nightly-2019-03-23 -y ENV PATH=/root/.cargo/bin:$PATH From ef48b40ce2f40d825e9325070ee6f99a106bd2e0 Mon Sep 17 00:00:00 2001 From: holger krekel Date: Tue, 2 Apr 2019 22:57:22 +0200 Subject: [PATCH 21/22] try pulling instaed of building dockers (thanks @simon-laux ) --- ci_scripts/build-image.sh | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/ci_scripts/build-image.sh b/ci_scripts/build-image.sh index 69d28a962d..fdad5c1de5 100755 --- a/ci_scripts/build-image.sh +++ b/ci_scripts/build-image.sh @@ -4,4 +4,7 @@ DIR=${1:?specify directory of ubuntu docker dir} export BUILDER_NAME=$(basename $DIR) export DOCKERTAG=deltachat/desktop-$BUILDER_NAME -docker build -t $DOCKERTAG $DIR +# docker build -t $DOCKERTAG $DIR + +docker pull $DOCKERTAG + From dfdd7a4d7d13a36083f67f8854f01d242d3c40bb Mon Sep 17 00:00:00 2001 From: holger krekel Date: Tue, 2 Apr 2019 23:11:24 +0200 Subject: [PATCH 22/22] build for now --- ci_scripts/build-image.sh | 4 ++-- ci_scripts/config.yml | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/ci_scripts/build-image.sh b/ci_scripts/build-image.sh index fdad5c1de5..bc65808987 100755 --- a/ci_scripts/build-image.sh +++ b/ci_scripts/build-image.sh @@ -4,7 +4,7 @@ DIR=${1:?specify directory of ubuntu docker dir} export BUILDER_NAME=$(basename $DIR) export DOCKERTAG=deltachat/desktop-$BUILDER_NAME -# docker build -t $DOCKERTAG $DIR +docker build -t $DOCKERTAG $DIR -docker pull $DOCKERTAG +# docker pull $DOCKERTAG diff --git a/ci_scripts/config.yml b/ci_scripts/config.yml index 43a61b11a3..e6de756ce4 100644 --- a/ci_scripts/config.yml +++ b/ci_scripts/config.yml @@ -35,4 +35,4 @@ workflows: jobs: - ubu1604-rpgp - ubu1804-rpgp - - ubu1810-rpgp + #- ubu1810-rpgp