Commit Graph

23 Commits

Author SHA1 Message Date
Davide
f87cc1da0b
Fix OpenVPN/WireGuard import error messages ()
OpenVPN parser was indirectly swallowing WireGuard errors.
2024-12-01 21:33:58 +01:00
Davide
7af703c164
Move app library to the root ()
Makes it easier to search among app files and library files.
2024-11-28 17:45:18 +01:00
Davide
ed1d78d424
Add manual flow to run Xcode tests 2024-11-26 16:24:12 +01:00
Davide
2d698cabfe
Reuse modifier for navigation stacks with close button ()
Refactored:

- iOS
  - VPNProviderServerView
- macOS
  - AboutView
  - ProfileSplitView
- Both
  - ProfileCoordinator
  - VPNProviderServerCoordinator
2024-11-13 19:17:00 +01:00
Davide
54f4364c33
Split test jobs ()
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 ()
Will add UI separately.

Fixes 
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
a665670cf7
Add job for public beta deployment ()
Closes 
2024-09-24 11:17:52 +02:00
Davide
6cc86e8668
Import v3 code ()
Closes 
2024-09-23 15:02:26 +02:00
Davide De Rosa
5c5697762b
Add minimal TV app
Closes 
2023-12-31 01:21:38 +01:00
Davide De Rosa
a0da930d98
Refactor and test ProductManager ()
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
773d5705f1 Upgrade GitHub Actions 2023-07-06 18:46:01 +01:00
Davide De Rosa
fc68c674a5
Address issues with release notes in workflow ()
* 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 () 2022-11-06 18:08:41 +01:00
Davide De Rosa
7ef32882f1
Freeze release workflow ()
* 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 () 2022-10-30 11:53:53 +01:00
Davide De Rosa
0ff831f021 Fix target in test workflow 2022-06-25 20:27:24 +02:00
Davide De Rosa
115f54edbd Bump CI to macOS 12
Features Xcode 13.3.1, consistent with local development.

Maybe works around accent color bug.
2022-05-17 16:42:37 +02:00
Davide De Rosa
1532e8808b [ci skip] Address CI and ASC validation issues
- Skip tests until fixed wg-go issue

- Add golang step

- Set "Apple Development" at project level

- Set Catalyst platform for gym

- Drop TARGET env variable clashing with WireGuardKit

- Disable SwiftGen script phase

- Fix TunnelKit segfault on archive

- Xcode 13.2.1 compatibility
    Fix some issues with @MainActor
    Use #available instead of #unavailable

- Raise timeout from 10 to 15 minutes

- Update beta description

- Tunnel bundle ids cannot have periods

- CFBundleDisplayName required in tunnels
2022-04-13 10:00:29 +02:00
Davide De Rosa
2a5c231d3d
Polish release workflow ()
* 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
56f6e289c9 [ci skip] Skip tests on paths-ignore
Nothing to test on metadata updates.
2021-12-01 23:21:57 +01:00
Davide De Rosa
13896c7396 Rethink beta/release workflow
- Drop stable branch
    - Run tests on all branches except test/*
    - Publish beta manually
- Beta
    - Leave "Unreleased" in CHANGELOG
    - Add TestFlight URL
    - Tag beta after successful deployment
- Release
    - Enable GPG signing
    - Commit version and date in CHANGELOG
    - Tag release
    - Create GitHub release with merged notes

Show all workflows in README.
2021-11-30 12:24:17 +01:00
Davide De Rosa
db075eb291 [ci skip] Split unit testing and beta workflows
- master: test
- stable: beta
2021-11-29 19:07:00 +01:00