Commit Graph

34 Commits

Author SHA1 Message Date
Davide 76a570b7b3
Autogenerate framed screenshots from HTML/CSS (#1000)
Add TV screenshots and organize PassepartoutUITests with two test plans
for generating iOS/macOS (Main) and tvOS (TV) screenshots. Revert to the
.attachment destination and use `xcparse` to export the screenshots.
Change iPad screenshots to portrait.

Then autogenerate framed screenshots in two steps:

- Export the UITests screenshots per device (`export.sh`)
- Embed the results in a HTML/CSS template and take snapshots with
Chrome headless (`compose.sh`)
- Repeat for all devices (iPhone, iPad, Mac and Apple TV)
- Save framed screenshots to the `fastlane` screenshots directory
2024-12-11 20:33:58 +01:00
Davide fc711ae98f
Get rid of downloaded API after update 2024-11-27 19:27:50 +01:00
Davide c0dc2181e3
Complete CI/CD release workflow (#958)
Import current metadata and screenshots.

Fixes #647
2024-11-27 19:10:23 +01:00
Davide 6e3e3e398e
Well 2024-11-27 18:52:46 +01:00
Davide e514ade036
Add logic to migrate v2 profiles (#854)
Will add UI separately.

Fixes #642
2024-11-12 16:42:19 +01:00
Davide d8c4e87239
Refactor in-app entities for StoreKit/Kvitto integration (#820)
Refactoring:

- Get receipts from StoreKit Transaction.currentEntitlements
- Search for the originally purchased build in the local receipt anyway
(Kvitto)
- Fall back to release receipt (Kvitto), if any, for feature eligibility
in TestFlight builds
- Parse and verify expiration date in subscriptions
- Decouple in-app identifier composition from BundleConfiguration
- Fix user level features only applied when a receipt was not found

Testing:

- Add StoreKit configuration
- Fake purchases with PP_FAKE_IAP
- Fake user level with PP_USER_LEVEL

Then for reactive receipt reload, detect app activation differently:

- iOS/tvOS on .scenePhase
- macOS on launch and NSWorkspace.didActivateApplicationNotification

As to features:

- Credit former "Full version" purchasers with all current AND future
features, except the Apple TV
2024-11-06 13:20:12 +01:00
Davide aadc46e98f
Bundle API in app rather than library (#782)
Add script to speed up API update.
2024-10-30 11:46:24 +01:00
Davide 6cc86e8668
Import v3 code (#597)
Closes #565
2024-09-23 15:02:26 +02:00
Davide De Rosa deac70359f Reorganize and fix platform-specific fastlane data
Reuse all iOS metadata in macOS, except the app icon.
2022-04-25 11:21:19 +02:00
Davide De Rosa 4aba5f46aa Rewrite app in SwiftUI 2022-04-12 15:12:45 +02:00
Davide De Rosa 2a5c231d3d
Polish release workflow (#207)
* Do run tests in beta

- Test and build app in same lane
- Run tests with swift directly
- Set timeout on build only
- Set GYM_OUTPUT_DIRECTORY inline
- Fix bad build number, broken in db075eb
- Ignore updates to CHANGELOG for testing
- Drop unnecessary exports
- Drop unnecessary test env
- Drop unused PLATFORM .env.* variable

* Work around gym issues in CI

- Set custom build paths for proper clean-up
- Disable xcpretty (seems to hang job)

* Add descriptive names to workflow

- Rename beta to release
- Add job names

* Optimize release workflow

- Use a matrix for multiplatform build
- Only preinstall platform-specific certificates
- Output app version/build early for job reuse
- Do not depend app review on public beta release
- Pull latest commits before pushing/tagging

In release, ci/* scripts require Ruby. Make version an argument
of the commit-release.sh script to fix dependency.

* Import secret to notify external testers or not

* [ci skip] Add CHANGELOG preface in local scripts

* [ci skip] Update links to release via CI
2021-12-03 15:31:19 +01:00
Davide De Rosa 549fe3d95e Commit resolved SwiftPM packages 2021-11-26 09:07:57 +01:00
Davide De Rosa ebaa8f08ff Fix approach to test target
- Test core Swift package, not project
- Commit package schemes to repository
2021-11-06 11:23:10 +01:00
Davide De Rosa ae1aa1a268 Reorganize project with SwiftPM
- Drop CocoaPods completely
- Make PassepartoutCore a Swift package
- Enable Bitcode to fix OpenSSL linkage (iOS)
- Update CI scripts without CocoaPods
2021-11-06 11:18:55 +01:00
Davide De Rosa 9539876d23 Strip plenty of fastlane env 2021-10-11 17:23:18 +02:00
Davide De Rosa 52d89684ed Drop CHANGELOG_PREFACE from env
dotenv can't parse \n ?
2021-10-06 17:47:32 +02:00
Davide De Rosa 894116269a Move CHANGELOG preface to env 2021-10-05 19:27:02 +02:00
Davide De Rosa 0a6894d82c Rewrite beta local/remote flow
- Merge envs
- Explicit lanes in workflow
2021-10-04 22:54:50 +02:00
Davide De Rosa 72414afe5e Reorganize beta metadata
- Move templates into repository
- Move beta parameters to environment
2021-10-01 19:42:02 +02:00
Davide De Rosa f22916f1d0 Deploy beta via GitHub Actions
- Disassemble deploy scripts inside workflow
- Update gitignore to avoid dirty status
- No readonly
- Create additional certs for macOS
2021-10-01 10:48:56 +02:00
Davide De Rosa e8c781b24e Use API key for App Store Connect 2021-02-04 17:15:59 +01:00
Davide De Rosa d4b7d47498 Merge macOS app and Core into repository
Temporarily drop env and fastlane.
2021-01-03 22:28:07 +01:00
Davide De Rosa 7c6a404e4a Add Child Safe VPN provider 2020-07-23 11:51:20 +02:00
Davide De Rosa ec9ba7024f Move scripts to Core 2019-12-12 20:50:57 +01:00
Davide De Rosa 17cd82a387 Automate strings export 2019-12-04 15:14:04 +01:00
Davide De Rosa 8c580c2143 Reuse fastlane templates from submodule 2019-10-11 18:44:53 +02:00
Davide De Rosa 42f204c136 Refactor fastlane scripts 2019-09-30 14:21:07 +02:00
Davide De Rosa 84c13737dd Unignore Gemfile.lock 2019-09-30 14:21:07 +02:00
Davide De Rosa 70d9aada54 Add local symlinks to metadata 2019-04-15 21:14:32 +02:00
Davide De Rosa 531e74eb73 Remove keywords from repository 2019-04-15 13:30:49 +02:00
Davide De Rosa 5034f8c6b6 Update gitignore 2018-11-01 13:45:47 +01:00
Davide De Rosa 60a6dfda79 Fix TestFlight app description 2018-10-23 19:21:47 +02:00
Davide De Rosa c9536b6b49 Improve gitignore 2018-10-18 09:37:18 +02:00
Davide De Rosa b9ec01945d Initial commit 2018-10-11 09:13:19 +02:00