Commit Graph

81 Commits

Author SHA1 Message Date
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 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
Davide De Rosa 0ff831f021 Fix target in test workflow 2022-06-25 20:27:24 +02:00
Davide De Rosa 930ff65193 Revert "Enable macOS in "Public Beta" job"
This reverts commit 6bb46ef8b4.
2022-05-21 19:15:37 +02:00
Davide De Rosa 6bb46ef8b4 Enable macOS in "Public Beta" job 2022-05-18 11:17:39 +02:00
Davide De Rosa cdf4010f09 Pass GITHUB_TOKEN to workflows env
Workflows failing to push changes. Could this fix it?
2022-05-17 23:16:52 +02:00
Davide De Rosa ec1b167e41 Restore Mac in private beta 2022-05-17 19:36:23 +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 c0cc65b7ea Try move BUILD_NUMBER to global workflow env 2022-04-27 15:59:41 +02:00
Davide De Rosa a7258b3a94 Tag private beta after upload 2022-04-27 13:40:58 +02:00
Davide De Rosa c63a39081b Notify private beta testers based on env 2022-04-23 12:26:46 +02:00
Davide De Rosa 0d8121f73d Fix missing quotes 2022-04-23 10:37:05 +02:00
Davide De Rosa 8d2494d885 Refactor private beta workflow
- Reword main job

- Move tweak arguments to step env
2022-04-23 10:33:54 +02:00
Davide De Rosa bb2ba19326
Fix Info.plist path in private beta workflow 2022-04-22 13:47:10 +02:00
Davide De Rosa 14edc7491e Fix syntax -_- 2022-04-13 22:46:35 +02:00
Davide De Rosa f064c02b04 Disable macOS in private beta for now 2022-04-13 22:45:08 +02:00
Davide De Rosa 57a041ca7c Add manual workflow for private beta
Tolerate dirty repo (for tweaking Info.plist).

Should refactor later to reuse build tasks from release workflow
as local actions.
2022-04-13 22:28:00 +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 4aba5f46aa Rewrite app in SwiftUI 2022-04-12 15:12:45 +02:00
Davide De Rosa 3b5d5db598 Add explicit need to reach job outputs 2022-02-15 09:08:35 +01:00
Davide De Rosa ab2aa03c62 Optimize release workflow
- Enforce 1h keychain lock timeout

- Disable xcpretty again for better debugging

- Drop redundant names of boilerplate actions

- Limit scope of release env variables

- Split release pull and tagging

- Generate markdown release notes in standalone script
2021-12-08 16:10:27 +01:00
Davide De Rosa ca7de6d6ae Unlock keychain after creation
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)
2021-12-04 11:52:59 +01: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 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 f099c026c3 Trigger beta on updated beta build file
Can get rid of dummy job.
2021-11-30 16:40:22 +01:00
Davide De Rosa 8653f059b8 Trigger on beta commit message 2021-11-30 12:49:35 +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
Davide De Rosa 51821660d2 Commit build number with beta
Pick base build number from env, not project. Can now drop
fetch-depth 0 from workflow, no needs for commits count.
2021-11-29 19:06:59 +01:00