-
Notifications
You must be signed in to change notification settings - Fork 140
Open
Labels
Description
It'd be cool to have a QA variant in the app that builds an artifact to be the input for the E2E tests.
The QA build is intended to be launched in a emulator, so, the artifact would be the owncloud.app file (not ipa) usually stored in $HOME/Library/Developer/Xcode/DerivedData/ownCloud-*/Build/Products/Debug-iphonesimulator after building.
Features:
- Set up for only basic auth (browser dependency is not easy to handle, i launch tests against servers with basic auth enabled)
- No release notes
- Beta build without beta warning
My current way to do this: an script that performs the following gsed (sed for macos) to modify the involved files:
gsed -i '136i OCConnectionAllowedAuthenticationMethodIDs : @[ OCAuthenticationMethodIdentifierBasicAuth ],' ios-sdk/ownCloudSDK/Connection/OCConnection.m`
gsed -i 's/.showBetaWarning : true/.showBetaWarning : false/i' ownCloudAppShared/Tools/VendorServices.swift
gsed -i 's/.isBetaBuild : false/.isBetaBuild : true/i' ownCloudAppShared/Tools/VendorServices.swift
gsed -i '170,200d' ownCloud/Release\ Notes/ReleaseNotesHostViewController.swift
And then, building the app:
xcrun xcodebuild clean -scheme "ownCloud"
xcrun xcodebuild \
-workspace ownCloud.xcworkspace \
-scheme ownCloud \
-configuration Debug \
-destination 'platform=iOS Simulator,name=iPhone 16'
If there is a way to compile a build variant that products the owncloud.app file with just a command, it'd be a good help to build it in a CI environment (github actions) to use it in the tests.
TASKS
- Research (if needed)
- Create branch feature/feature_name
- Development tasks
- Implement whatever
- ...
- Code review and apply changes requested
- Design test plan
- QA
- Merge branch feature/feature_name into master
PR
- App
- Library (if needed)