* 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
* 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
- 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.