Commit Graph

113 Commits

Author SHA1 Message Date
Davide
8972d9773e
Resolve several issues in bump script/lane (#1075)
- Simplify build/version updates by moving MARKETING_VERSION and
CURRENT_PROJECT_VERSION to Config.xcconfig
- Provide Ruby (for fastlane) and Bash (for CI) versions of
xconfig-get/set
- Copy release notes atomically inside the lane to guarantee they are
included in the version commit
- Add -nt to skip the build tag
2025-01-18 18:13:54 +01:00
Davide
185dcf2887
Fix release job 2025-01-18 11:30:12 +01:00
Davide
c387b8ddfd
Fix metadata as per App Review (#1061)
- Add links to EULA and privacy policy in the app description
- Update copyright in metadata
2025-01-15 20:48:47 +01:00
Davide
834c7478c6
Drop unused token 2025-01-13 14:31:26 +01:00
Davide
1942b82ebb
Rework App+Kit as monorepository (#1055)
Simplify development and maintenance immensely by making this a
monorepository:

- Convert PassepartoutKit and VPN bindings to local packages
  - OpenVPN/OpenSSL
  - WireGuard/Go
- Make PassepartoutKit available via
  - Source submodule for production (private)
- [Binary XCFramework for
development](https://github.com/passepartoutvpn/passepartoutkit)
 - Add PassepartoutKit Demo in root
   - Deploy package later
2025-01-13 12:26:53 +01:00
Davide
df64f8cabb
Use matrix for public_beta and app_review
A tolerant way to cope with scattered approvals. That is, if a
platform build fails to upload, it will not prevent other
platforms from being sent to public_beta/app_review.

The app_store environment is also allowed despite errors, as the
platform builds may have been approved at different times.

This somehow deals with the lottery of getting an approval for
multiple platforms at the same time.

Fixes #1043
2024-12-24 09:12:04 +01:00
Davide
1d0661e28c
Continue CI on platform error 2024-12-24 08:41:51 +01:00
Davide
46d236cb5e
Reuse $PLATFORMS in CI 2024-12-20 21:08:23 +01:00
Davide
d885ad2a3d
Add template for import tests 2024-12-02 09:25:19 +01:00
Davide
f87cc1da0b
Fix OpenVPN/WireGuard import error messages (#967)
OpenVPN parser was indirectly swallowing WireGuard errors.
2024-12-01 21:33:58 +01:00
Davide
7af703c164
Move app library to the root (#962)
Makes it easier to search among app files and library files.
2024-11-28 17:45:18 +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
ed1d78d424
Add manual flow to run Xcode tests 2024-11-26 16:24:12 +01:00
Davide
9c93158a3d
Add missing template headers 2024-11-25 10:02:01 +01:00
Davide
4cbe954789
Add some preliminary templates for manual tests (#926)
- In-app
- Migration
- Release
- Platforms
2024-11-25 09:57:45 +01:00
Davide
2d698cabfe
Reuse modifier for navigation stacks with close button (#861)
Refactored:

- iOS
  - VPNProviderServerView
- macOS
  - AboutView
  - ProfileSplitView
- Both
  - ProfileCoordinator
  - VPNProviderServerCoordinator
2024-11-13 19:17:00 +01:00
Davide
c5047533b5
Run tests before building (#856)
Workflow from #855 was incorrect, as it was running tests for each build
in the matrix. Do it only once before the matrix.

Fixes #717
2024-11-12 18:46:21 +01:00
Davide
54f4364c33
Split test jobs (#855)
Move Core Data tests out of the Library package so that we can still use
the more efficient `swift test` for most tests.

Create a PassepartoutTests target only for tests that require
`xcodebuild`, like Core Data tests.

Eventually:

- PRs only run SwiftPM tests
- Releases run ALL tests with `scan` before `gym`
2024-11-12 18:35:44 +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
fccba7d8cb
Change CI timeouts
- Release -> 20
- Test -> 10
2024-11-07 01:49:07 +01:00
Davide
237277d4db
Do some refactoring in AppUI targets (#789)
- Refactor AppUI initialization in all platforms (sort of template
method pattern)
- Make AppMenu specific to macOS by wrapping it into a folder for
consistency
- Add SizeClassProviding for repeated checks on hsClass/vsClass

Fixes #659
2024-10-31 10:02:21 +01:00
Davide De Rosa
b7e8e15d1b
Bump version 2024-09-24 17:56:27 +02:00
Davide
bce2694694
Fix lookup of pilot metadata (#601)
- [x] Fetch app version/build without agvtool, unavailable on
ubuntu-latest
- [x] Move TestFlight preface to a repository variable
- [x] Move TestFlight URL to README instead
2024-09-24 17:51:01 +02:00
Davide
a665670cf7
Add job for public beta deployment (#600)
Closes #599
2024-09-24 11:17:52 +02:00
Davide
6cc86e8668
Import v3 code (#597)
Closes #565
2024-09-23 15:02:26 +02:00
Davide De Rosa
444b51317c
Use stable Xcode 2024-09-22 16:16:19 +02:00
Davide De Rosa
a806275d0b
Try fix keychain in CI 2024-09-22 16:02:33 +02:00
Davide De Rosa
96009bed87
Delete sponsors 2024-09-17 17:27:42 +02:00
Davide De Rosa
64d1131fdd
Update copyright
Closes #473
2024-01-14 14:36:55 +01:00
Davide De Rosa
760093368b
Drop moved template 2024-01-14 14:30:33 +01:00
Davide De Rosa
17fa7d5b42
Extend issue templates with copyright 2024-01-14 14:29:26 +01:00
Davide De Rosa
67ede3ee82
Add PR template for copyright updates 2024-01-14 14:17:33 +01:00
Davide De Rosa
bf4dc6c920
Add tvOS build to beta/review CI jobs (#453)
_Should_ work out of the box.

Closes #450
2024-01-07 12:17:46 +01:00
Davide De Rosa
f13b4d0768
Upload tvOS build to TestFlight (#449)
Update the release workflow by adding tvOS to the matrix. The build job
should work, not 100% sure about pilot.
2024-01-06 10:55:44 +01:00
Davide De Rosa
b23e2b974e
Lock gems platform 2024-01-06 00:10:11 +01:00
Davide De Rosa
31005c84ba
Add tvOS to matrix 2024-01-06 00:06:15 +01:00
Davide De Rosa
5c5697762b
Add minimal TV app
Closes #315
2023-12-31 01:21:38 +01:00
Davide De Rosa
a0da930d98
Refactor and test ProductManager (#437)
Carefully drop the StoreKit and Kvitto dependencies for ProductManager
to be testable.

Rebuild test target completely to start writing meaningful tests in
general.
2023-12-20 20:43:39 +01:00
Davide De Rosa
2357324a74
Update some metadata (#331)
A bit of everything.

- Use GitHub handles in CHANGELOG
- Mention XOR patch in README and keywords
- Update gems
- Add GitHub issue template
- Fix missing script in release workflow
2023-07-17 21:46:32 +02:00
Davide De Rosa
773d5705f1 Upgrade GitHub Actions 2023-07-06 18:46:01 +01:00
Davide De Rosa
f0e3b2fa9c
Improve release workflow (#326) 2023-07-05 18:07:47 +02:00
Davide De Rosa
fc68c674a5
Address issues with release notes in workflow (#284)
* In release workflow, infer release notes from CHANGELOG

* Retain links in GitHub release notes
2023-04-07 12:08:55 +02:00
Davide De Rosa
ba09dcffa7
Full OpenVPN XOR patch (#245) 2022-11-06 18:08:41 +01:00
Davide De Rosa
b1114514f0 Fix missing identity for beta tag 2022-11-01 19:00:26 +01:00
Davide De Rosa
dc76776fe8 Annotate public beta tags 2022-10-31 14:05:15 +01:00
Davide De Rosa
7ef32882f1
Freeze release workflow (#242)
* Freeze release workflow

- Do not pull anything from master

- Do not push release commit to master

- Only push created version tag

* Refine scripts to start new version

1. Cherry-pick hotfixes from released version

2. Bump version to new version

Normally, 1 is only made of the release commit updating CHANGELOG
with the release date.

However, if a release branch was needed to apply hotfixes to the
latest release, cherry picking will account for the whole release
branch (i.e. multiple commits).

* Ignore more paths for unit testing
2022-10-30 12:56:49 +01:00
Davide De Rosa
aca431aac5
Run tests on PR (#241) 2022-10-30 11:53:53 +01:00
Davide De Rosa
9962401d74 Fix some issues in scripts
- Always use bash for consistent script behavior

- Replace deprecated set-output in GitHub workflows
2022-10-17 13:39:54 +02:00
Davide De Rosa
3a2ff219b6 Restore lost job need
Added in 3b5d5db, lost in 4aba5f4.
2022-09-30 22:01:01 +02:00
Davide De Rosa
c581042b10 Enable macOS public beta workflow 2022-07-17 14:48:14 +02:00