From 39203a7ebd2134f40f5d2c90d960fd31d48d1448 Mon Sep 17 00:00:00 2001 From: Dirk Hohndel Date: Sat, 19 Oct 2019 02:37:28 -0700 Subject: GitHub Action: add iOS build This is incredibly brute force, downloading a 3+GB installer and installing all of the Qt/iOS binaries. This first attempt is mainly to get an idea how long this will take and if this will fit within the size constraints of the build VM. This commit doesn't even try to build, yet. Signed-off-by: Dirk Hohndel --- .github/workflows/ios.yml | 40 +++++++++++++++++++ packaging/ios/qt-installer-noninteractive.qs | 60 ++++++++++++++++++++++++++++ 2 files changed, 100 insertions(+) create mode 100644 .github/workflows/ios.yml create mode 100644 packaging/ios/qt-installer-noninteractive.qs diff --git a/.github/workflows/ios.yml b/.github/workflows/ios.yml new file mode 100644 index 000000000..316b2290c --- /dev/null +++ b/.github/workflows/ios.yml @@ -0,0 +1,40 @@ +name: iOS +on: push + +jobs: + mobileBuild: + runs-on: macOS-latest + steps: + - name: checkout sources + uses: actions/checkout@v1 + - name: setup Homebrew + run: brew install autoconf automake libtool + - name: set our Qt build + run: | + env + curl -L --output qt-opensource-mac-x64-5.13.1.dmg https://download.qt.io/archive/qt/5.13/5.13.1/qt-opensource-mac-x64-5.13.1.dmg + df -h + mkdir -p mnt + sudo hdiutil attach -mountroot $PWD/mnt -noverify -noautoopen -verbose qt-opensource-mac-x64-5.13.1.dmg + df -h + ls -l mnt + find mnt + ./mnt/qt-opensource-mac-x64-5.13.1/qt-opensource-mac-x64-5.13.1.app/Contents/MacOS/qt-opensource-mac-x64-5.13.1 --platform minimal --script packaging/ios/qt-installer-noninteractive.qs --no-force-installations + df -h + - name: build Subsurface-mobile for iOS + run: | + ls -l $HOME $HOME/Qt + cd packaging/ios + ln -s $HOME/Qt Qt + pushd Qt + ls -l + popd + echo "build dependencies" + bash -x build.sh -simulator + echo "Subsurface-mobile for iOS" + cd build-Subsurface-mobile-*for_iOS-Release + sed -i.bak 's/-Wall/-Wno-everything/' Makefile # make the build far less verbose + make -j2 + + + diff --git a/packaging/ios/qt-installer-noninteractive.qs b/packaging/ios/qt-installer-noninteractive.qs new file mode 100644 index 000000000..5b1faa5ba --- /dev/null +++ b/packaging/ios/qt-installer-noninteractive.qs @@ -0,0 +1,60 @@ +// http://stackoverflow.com/a/34032216/78204 + +function Controller() { + installer.autoRejectMessageBoxes(); + installer.setMessageBoxAutomaticAnswer("OverwriteTargetDirectory", QMessageBox.Yes); + installer.installationFinished.connect(function() { + gui.clickButton(buttons.NextButton); + }) +} + +Controller.prototype.WelcomePageCallback = function() { + 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.currentPageWidget().TargetDirectoryLineEdit.setText(installer.value("InstallerDirPath") + "/Qt"); + //gui.currentPageWidget().TargetDirectoryLineEdit.setText("/scratch/Qt"); + gui.clickButton(buttons.NextButton); +} + +Controller.prototype.ComponentSelectionPageCallback = function() { + var widget = gui.currentPageWidget(); + + widget.deselectAll(); + widget.selectComponent('qt.qt5.5131.ios'); + + 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); +} -- cgit v1.2.3-70-g09d2