mirror of
https://github.com/subsurface/subsurface.git
synced 2025-02-19 22:16:15 +00:00
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 <dirk@hohndel.org>
This commit is contained in:
parent
b652e5dd66
commit
39203a7ebd
2 changed files with 100 additions and 0 deletions
40
.github/workflows/ios.yml
vendored
Normal file
40
.github/workflows/ios.yml
vendored
Normal file
|
@ -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
|
||||
|
||||
|
||||
|
60
packaging/ios/qt-installer-noninteractive.qs
Normal file
60
packaging/ios/qt-installer-noninteractive.qs
Normal file
|
@ -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);
|
||||
}
|
Loading…
Add table
Reference in a new issue