Start experimenting with docker ubuntu builds

This commit is contained in:
Rasmus Karlsson 2019-07-21 12:19:02 +02:00
parent 140a9e4352
commit e253208ebd
4 changed files with 115 additions and 0 deletions

22
.docker/Dockerfile.build Normal file
View file

@ -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"]

View file

@ -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);
}

3
tools/build-docker-images.sh Executable file
View file

@ -0,0 +1,3 @@
#!/bin/sh
docker build -f .docker/Dockerfile.build -t chatterino-ubuntu-build .docker

9
tools/docker/build.sh Executable file
View file

@ -0,0 +1,9 @@
#!/bin/sh
if [ ! -d build-docker-release ]; then
mkdir build-docker-release
fi
cd build-docker-release
qmake ..
make -j8