Commit Graph

59 Commits

Author SHA1 Message Date
Davide De Rosa baac1f59a8 Bump version 2022-10-31 08:57:05 +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 09e4aa1eb6 Add local script to unrestrict app 2022-10-25 09:03:55 +02: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 a4831feb0f Unify release notes
Discard platform.
2022-10-06 22:31:16 +02:00
Davide De Rosa 4327e4ca52 Refine beta commit script
- Ensure API pull succeeds (do it early)

- Include base build number
2022-09-30 22:01:01 +02:00
Davide De Rosa a3a245c499 Update outdated scripts 2022-09-25 08:50:32 +02:00
Davide De Rosa 09e5edeead Fix scripts in release workflow 2022-09-23 23:07:12 +02:00
Davide De Rosa db6f7bdf28 Revisit app metadata and screenshots
- Add script to import localized metadata

- Update app name, subtitle, keywords

- Update App Store description

    - Replace "OpenVPN" with "VPN"

    - Add .conf file extension (WireGuard)

    - Drop PIA (404)

    - Drop trailing notices

- Update README snapshots (Mac versions unused)

- Update App Store screenshots

- Revert to legacy launch screen (SwiftUI method stretches)
2022-09-15 17:41:22 +02:00
Davide De Rosa 9195d426e4 Attempt beta release 2022-07-18 08:03:24 +02:00
Davide De Rosa 87f2ebfd9e Attempt beta release 2022-05-01 20:44:17 +02:00
Davide De Rosa 063f0621c1 Unify metadata
- Fix fastlane env variables

- Use single CHANGELOG.md in project root

- Retain old 1.x changelogs
2022-04-19 16:17:13 +02:00
Davide De Rosa c7f7dd89a1 Attempt beta release
Update script.
2022-04-13 10:16:43 +02: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 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 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 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 5580dd6901 [ci skip] Set release date 2021-11-30 10:00:07 +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
Davide De Rosa fd918aa4a2 Fix missing .ipa/.pkg in local script 2021-11-27 13:49:23 +01:00
Davide De Rosa d39f0fc04b Update API on new beta 2021-11-27 12:43:05 +01:00
Davide De Rosa f289296587 Fix script permission 2021-11-18 14:12:54 +01:00
Davide De Rosa bc31e99082 Fix release script 2021-11-16 12:54:59 +01:00
Davide De Rosa 8fa31b0323 Add local scripts for main CI actions 2021-11-12 10:13:01 +01:00
Davide De Rosa 16e83bf990 Fix version/build number scripts 2021-10-11 19:34:08 +02:00
Davide De Rosa 9ca015e42f Roll back release on git errors 2021-10-08 09:26:24 +02:00
Davide De Rosa d629540c18 Automate release tag message 2021-10-08 09:26:24 +02:00
Davide De Rosa f63b679349 Restrict release to stable branch 2021-10-08 09:26:24 +02:00
Davide De Rosa 59f0bd5c32 Move a few extra steps into lanes
- Rename some lanes
- Use explicit fastlane commands for metadata
2021-10-08 09:26:24 +02:00
Davide De Rosa 92f382c395 Fail fast on commit beta 2021-10-05 19:27:02 +02:00
Davide De Rosa 20a6ba1dc3 Reorganize scripts into subfolders
/  = Local scripts
  ci = Remote scripts (run by workflow)
util = Utilities
2021-10-05 19:27:02 +02:00
Davide De Rosa 9d22fb28c6 Fix commit release script 2021-10-04 22:59:08 +02:00
Davide De Rosa 0a6894d82c Rewrite beta local/remote flow
- Merge envs
- Explicit lanes in workflow
2021-10-04 22:54:50 +02:00
Davide De Rosa c3d202eef5 Add script to run after beta release 2021-10-01 19:42:02 +02:00
Davide De Rosa f22916f1d0 Deploy beta via GitHub Actions
- Disassemble deploy scripts inside workflow
- Update gitignore to avoid dirty status
- No readonly
- Create additional certs for macOS
2021-10-01 10:48:56 +02:00
Davide De Rosa 43d11e20cc Add script to bootstrap new version 2021-09-29 15:24:12 +02:00
Davide De Rosa 6815d691eb Redo local scripts for remote CI
commit-beta

- Ensure master branch
- Commit beta release to CHANGELOG
- Tag locally

commit-release

- Ensure master branch
- Update App Store Connect metadata

push-refs

- Sync stable with master
- Push master
- Push tags (trigger CI)
2021-09-29 15:24:01 +02:00
Davide De Rosa c985ed4256 Merge all strings with keys reordered 2021-08-07 13:59:56 +02:00
Davide De Rosa 5b35297a6d Add missing translations 2021-08-07 12:08:36 +02:00
Davide De Rosa 8736a22763 Add SurfShark provider
Push force manual API.
2021-06-26 10:40:19 +02:00
Davide De Rosa a84eea5694 Fix reset before tagging 2021-02-07 15:13:22 +01:00
Davide De Rosa 6ed36125de Split build/submit by target 2021-02-04 19:15:27 +01:00
Davide De Rosa 35b1bfdfbe Do not reset after build
For proper tagging on submit.
2021-01-30 21:56:25 +01:00
Davide De Rosa 5a7211132e Split submission to AppCenter and App Store
Tag at the end.
2021-01-30 10:19:05 +01:00
Davide De Rosa 3f2b227cdd Fix submit script syntax 2021-01-26 17:02:36 +01:00
Davide De Rosa 7508198455 Submit iOS build to TestFlight 2021-01-06 19:05:13 +01:00
Davide De Rosa 7d47150c15 Script deployment to both platforms 2021-01-06 18:01:28 +01:00
Davide De Rosa 6c55564dee Fix scripts with platform argument 2021-01-03 22:28:08 +01:00
Davide De Rosa d4b7d47498 Merge macOS app and Core into repository
Temporarily drop env and fastlane.
2021-01-03 22:28:07 +01:00