Commit Graph

91 Commits

Author SHA1 Message Date
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
Davide De Rosa 667adf265a [ci skip] Polish case in badges 2021-11-28 16:54:35 +01:00
Davide De Rosa aad26ee8e4 Revert "Move .ipa/.pkg paths to env"
This reverts commit e267a5ad13.
2021-11-25 14:20:36 +01:00
Davide De Rosa 7a4351faba Run workflow on macOS 11 2021-11-12 14:16:25 +01:00
Davide De Rosa 1eeb356874 Restrict macOS features in beta
- Providers
- Trusted networks

Skip macOS deployment to TestFlight until beta check is fixed.
2021-11-12 10:22:40 +01:00
Davide De Rosa a18f9cad32 Parallelize iOS/macOS upload
Also:

- Cache SwiftPM
- Run tests on any branch but stable
2021-11-12 10:13:01 +01:00
Davide De Rosa e267a5ad13 Move .ipa/.pkg paths to env 2021-11-11 16:40:36 +01:00
Davide De Rosa ebaa8f08ff Fix approach to test target
- Test core Swift package, not project
- Commit package schemes to repository
2021-11-06 11:23:10 +01:00
Davide De Rosa ae1aa1a268 Reorganize project with SwiftPM
- Drop CocoaPods completely
- Make PassepartoutCore a Swift package
- Enable Bitcode to fix OpenSSL linkage (iOS)
- Update CI scripts without CocoaPods
2021-11-06 11:18:55 +01:00
Davide De Rosa 996b2fbcf7 Add/fix app version for pilot/deliver 2021-10-19 09:46:56 +02:00
Davide De Rosa 2736dfcede Run App Review job in parallel 2021-10-19 09:46:19 +02:00
Davide De Rosa 9578da13dc Drop redundant update metadata
Done by deliver in store_review.
2021-10-19 09:46:19 +02:00
Davide De Rosa 8f03be96ba Force deliver when updating metadata 2021-10-16 15:56:16 +02:00
Davide De Rosa bbd8770f10 Add version number when submitting to TestFlight 2021-10-16 15:50:31 +02:00
Davide De Rosa 5f7cd04bad Fix missing API key in GitHub Actions 2021-10-16 12:28:28 +02:00
Davide De Rosa da48895335 Move public beta to separate job
- Upload to TestFlight ("Review")
- Public Beta ("Testers", "Public Beta")
- App Review
- App Store
2021-10-16 11:25:54 +02:00
Davide De Rosa cedd1e9442 Add testing into beta workflow
Only run tests on master branch.
2021-10-11 11:12:16 +02:00
Davide De Rosa 0133589c1e Provide review with IDFA information 2021-10-09 16:54:48 +02:00
Davide De Rosa 79f078ec3e Run non-build jobs on ubuntu-latest
- Change build/version readers to use raw plist (vs agvtool)
- Former env issue should be related to non-bash shell
2021-10-09 16:46:46 +02:00
Davide De Rosa d0f9bd5a4b Set beta release 2021-10-08 10:34:31 +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 17b17fa255 Add job to submit for App Review 2021-10-08 09:26:24 +02:00
Davide De Rosa 12e8570fcb Split upload and TestFlight jobs 2021-10-08 09:26:21 +02:00
Davide De Rosa adee0a6e06 Revert "Add CocoaPods specs repo to cache"
This reverts commit cbdb33bd95.
2021-10-07 14:37:13 +02:00
Davide De Rosa cbdb33bd95 Add CocoaPods specs repo to cache 2021-10-05 20:47:56 +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 0a6894d82c Rewrite beta local/remote flow
- Merge envs
- Explicit lanes in workflow
2021-10-04 22:54:50 +02:00
Davide De Rosa ea10f89727 Rename workflow 2021-10-01 20:20:03 +02:00
Davide De Rosa 5f5ad962df Clean up after build 2021-10-01 19:44:37 +02:00
Davide De Rosa a41abb8274 Fix beta release changelog 2021-10-01 19:42:02 +02:00
Davide De Rosa 72414afe5e Reorganize beta metadata
- Move templates into repository
- Move beta parameters to environment
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