From e253208ebdef7322b274667acf0890fca7c83aed Mon Sep 17 00:00:00 2001 From: Rasmus Karlsson Date: Sun, 21 Jul 2019 12:19:02 +0200 Subject: [PATCH] Start experimenting with docker ubuntu builds --- .docker/Dockerfile.build | 22 +++++++ .docker/qt-installer-noninteractive.qs | 81 ++++++++++++++++++++++++++ tools/build-docker-images.sh | 3 + tools/docker/build.sh | 9 +++ 4 files changed, 115 insertions(+) create mode 100644 .docker/Dockerfile.build create mode 100644 .docker/qt-installer-noninteractive.qs create mode 100755 tools/build-docker-images.sh create mode 100755 tools/docker/build.sh diff --git a/.docker/Dockerfile.build b/.docker/Dockerfile.build new file mode 100644 index 00000000..d87cd2cc --- /dev/null +++ b/.docker/Dockerfile.build @@ -0,0 +1,22 @@ +FROM ubuntu:18.04 + +ENV DEBIAN_FRONTEND=noninteractive + +RUN apt-get update && \ + apt-get -y install wget libdbus-1-dev qt5-default + +RUN apt-get -y install libboost-dev libssl-dev libboost-system-dev libboost-filesystem-dev +RUN apt-get -y install libpulse-dev + +WORKDIR /build + +RUN wget --quiet http://download.qt.io/official_releases/qt/5.12/5.12.4/qt-opensource-linux-x64-5.12.4.run && chmod +x *qt*.run +ADD qt-installer-noninteractive.qs . +RUN ls -la +RUN ./qt-opensource-linux-x64-*.run --platform minimal --verbose --script qt-installer-noninteractive.qs +RUN qtchooser -install 5.12.4 ~/Qt/5.12.4/gcc_64/bin/qmake +ENV QT_SELECT=5.12.4 +RUN qmake --version + +CMD ["/bin/sh"] +ENTRYPOINT ["./tools/docker/build.sh"] diff --git a/.docker/qt-installer-noninteractive.qs b/.docker/qt-installer-noninteractive.qs new file mode 100644 index 00000000..d941e5bb --- /dev/null +++ b/.docker/qt-installer-noninteractive.qs @@ -0,0 +1,81 @@ +// Emacs mode hint: -*- mode: JavaScript -*- + +function Controller() { + installer.autoRejectMessageBoxes(); + installer.installationFinished.connect(function() { + gui.clickButton(buttons.NextButton); + + }) + +} + +Controller.prototype.WelcomePageCallback = function() { + // click delay here because the next button is initially disabled for ~1 second + gui.clickButton(buttons.NextButton, 3000); + +} + +Controller.prototype.CredentialsPageCallback = function() { + gui.clickButton(buttons.NextButton); + +} + +Controller.prototype.IntroductionPageCallback = function() { + gui.clickButton(buttons.NextButton); + +} + +Controller.prototype.TargetDirectoryPageCallback = function() +{ + gui.currentPageWidget().TargetDirectoryLineEdit.setText(installer.value("HomeDir") + "/Qt"); + gui.clickButton(buttons.NextButton); + +} + +Controller.prototype.ComponentSelectionPageCallback = function() { + var widget = gui.currentPageWidget(); + + widget.deselectAll(); + widget.selectComponent("qt.qt5.5124.gcc_64"); + + // widget.deselectComponent("qt.tools.qtcreator"); + // widget.deselectComponent("qt.55.qt3d"); + // widget.deselectComponent("qt.55.qtcanvas3d"); + // widget.deselectComponent("qt.55.qtlocation"); + // widget.deselectComponent("qt.55.qtquick1"); + // widget.deselectComponent("qt.55.qtscript"); + // widget.deselectComponent("qt.55.qtwebengine"); + // widget.deselectComponent("qt.extras"); + // widget.deselectComponent("qt.tools.doc"); + // widget.deselectComponent("qt.tools.examples"); + + gui.clickButton(buttons.NextButton); + +} + +Controller.prototype.LicenseAgreementPageCallback = function() { + gui.currentPageWidget().AcceptLicenseRadioButton.setChecked(true); + gui.clickButton(buttons.NextButton); + +} + +Controller.prototype.StartMenuDirectoryPageCallback = function() { + gui.clickButton(buttons.NextButton); + +} + +Controller.prototype.ReadyForInstallationPageCallback = function() +{ + gui.clickButton(buttons.NextButton); + +} + +Controller.prototype.FinishedPageCallback = function() { + var checkBoxForm = gui.currentPageWidget().LaunchQtCreatorCheckBoxForm; + if (checkBoxForm && checkBoxForm.launchQtCreatorCheckBox) { + checkBoxForm.launchQtCreatorCheckBox.checked = false; + + } + gui.clickButton(buttons.FinishButton); + +} diff --git a/tools/build-docker-images.sh b/tools/build-docker-images.sh new file mode 100755 index 00000000..a6053c81 --- /dev/null +++ b/tools/build-docker-images.sh @@ -0,0 +1,3 @@ +#!/bin/sh + +docker build -f .docker/Dockerfile.build -t chatterino-ubuntu-build .docker diff --git a/tools/docker/build.sh b/tools/docker/build.sh new file mode 100755 index 00000000..67656779 --- /dev/null +++ b/tools/docker/build.sh @@ -0,0 +1,9 @@ +#!/bin/sh + +if [ ! -d build-docker-release ]; then + mkdir build-docker-release +fi + +cd build-docker-release +qmake .. +make -j8