aboutsummaryrefslogtreecommitdiff
path: root/.circleci
diff options
context:
space:
mode:
authorMicah Lee <micah@micahflee.com>2020-03-22 16:01:23 -0700
committerMicah Lee <micah@micahflee.com>2020-03-22 16:01:23 -0700
commitbf06bb10817ac8b4b193a3e18da1cb9406572d2a (patch)
tree651bf2bdd2e2e7a58d6d7272a6f26e31a89202e5 /.circleci
parentdb9abb789db6506010e5338600a3e3fd17bde0c1 (diff)
downloadonionshare-bf06bb10817ac8b4b193a3e18da1cb9406572d2a.tar.gz
onionshare-bf06bb10817ac8b4b193a3e18da1cb9406572d2a.zip
Try installing binaries instead of building from source
Diffstat (limited to '.circleci')
-rw-r--r--.circleci/config.yml23
-rw-r--r--.circleci/qt-installer-script.js75
2 files changed, 81 insertions, 17 deletions
diff --git a/.circleci/config.yml b/.circleci/config.yml
index 32199aff..1a3ab7d0 100644
--- a/.circleci/config.yml
+++ b/.circleci/config.yml
@@ -20,27 +20,16 @@ jobs:
steps:
- checkout
- # https://wiki.qt.io/Building_Qt_5_from_Git
- run:
- name: build Qt5 from source
+ name: Install Qt5 binaries
command: |
- sudo sh -c 'echo "deb-src http://deb.debian.org/debian buster main" >> /etc/apt/sources.list'
- sudo apt-get update
- sudo apt-get build-dep qt5-default -y
- sudo apt-get install -y libxcb-xinerama0-dev
- sudo apt-get install -y build-essential perl python git
- sudo apt-get install -y '^libxcb.*-dev' libx11-xcb-dev libglu1-mesa-dev libxrender-dev libxi-dev libxkbcommon-dev libxkbcommon-x11-dev
- git clone git://code.qt.io/qt/qt5.git ~/qt5
- cd ~/qt5
- git checkout 5.14.0
- perl init-repository
- export LLVM_INSTALL_DIR=/usr/llvm
- ./configure -developer-build -opensource -confirm-license -nomake examples -nomake tests
- make -j$(nproc)
- make install
+ cd ~/
+ wget https://download.qt.io/official_releases/qt/5.14/5.14.0/qt-opensource-linux-x64-5.14.0.run
+ chmod +x qt-opensource-linux-x64-5.14.0.run
+ ./qt-opensource-linux-x64-5.14.0.run --script ~/repo/.circleci/qt-installer-script.js --platform minimal --verbose
- run:
- name: install dependencies
+ name: Install dependencies
command: |
sudo apt-get update
sudo apt-get install -y python3-pip xvfb
diff --git a/.circleci/qt-installer-script.js b/.circleci/qt-installer-script.js
new file mode 100644
index 00000000..d5860b68
--- /dev/null
+++ b/.circleci/qt-installer-script.js
@@ -0,0 +1,75 @@
+function Controller() {
+ installer.installationFinished.connect(proceed)
+}
+
+function logCurrentPage() {
+ var pageName = page().objectName
+ var pagePrettyTitle = page().title
+ console.log("At page: " + pageName + " ('" + pagePrettyTitle + "')")
+}
+
+function page() {
+ return gui.currentPageWidget()
+}
+
+function proceed(button, delay) {
+ gui.clickButton(button || buttons.NextButton, delay)
+}
+
+Controller.prototype.WelcomePageCallback = function() {
+ logCurrentPage()
+ proceed(buttons.NextButton, 2000)
+}
+
+Controller.prototype.CredentialsPageCallback = function() {
+ logCurrentPage()
+ page().loginWidget.EmailLineEdit.text = installer.environmentVariable("QT_EMAIL");
+ page().loginWidget.PasswordLineEdit.text = installer.environmentVariable("QT_PASSWORD");
+ proceed()
+}
+
+Controller.prototype.IntroductionPageCallback = function() {
+ logCurrentPage()
+ proceed()
+}
+
+Controller.prototype.TargetDirectoryPageCallback = function() {
+ logCurrentPage()
+ proceed()
+}
+
+Controller.prototype.ComponentSelectionPageCallback = function() {
+ logCurrentPage()
+ page().deselectAll()
+ page().selectComponent("qt.qt5.5140.gcc_64")
+ proceed()
+}
+
+Controller.prototype.LicenseAgreementPageCallback = function() {
+ logCurrentPage()
+ page().AcceptLicenseRadioButton.checked = true
+ gui.clickButton(buttons.NextButton)
+}
+
+Controller.prototype.ReadyForInstallationPageCallback = function() {
+ logCurrentPage()
+ proceed()
+}
+
+Controller.prototype.PerformInstallationPageCallback = function() {
+ logCurrentPage()
+}
+
+Controller.prototype.FinishedPageCallback = function() {
+ logCurrentPage()
+ page().LaunchQtCreatorCheckBoxForm.launchQtCreatorCheckBox.checked = false
+ proceed(buttons.FinishButton)
+}
+
+Controller.prototype.DynamicTelemetryPluginFormCallback = function() {
+ logCurrentPage()
+ console.log(Object.keys(page().TelemetryPluginForm.statisticGroupBox))
+ var radioButtons = page().TelemetryPluginForm.statisticGroupBox
+ radioButtons.disableStatisticRadioButton.checked = true
+ proceed()
+}