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`
- 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
Carefully drop the StoreKit and Kvitto dependencies for ProductManager
to be testable.
Rebuild test target completely to start writing meaningful tests in
general.
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
* 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
- 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
Might be the reason behind build hanging up in CI, arguably
waiting for a keychain password prompt.
Now, the issue never happened while prepping #207.
When testing the PR though, the testing step was omitted. This
drastically reduced the time between keychain creation and the
build to reach the codesigning phase. By restoring tests in
between, the increase in time would likely incur in keychain
auto-locking up.
- Convert action to keychain creation only
- Restore xcpretty as irrelevant (2a5c231)
* 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