Commit graph

1574 commits

Author SHA1 Message Date
Ben Chatelain
56a7d952c7
📎 Symlink before tapping 2024-10-13 10:38:46 -06:00
Ben Chatelain
5ea1967fa4
🔊 Log brew taps before/after symlink 2024-10-13 10:35:00 -06:00
Ben Chatelain
cb6f17dbd9
🔥 Remove subdirs to get ready for symlink 2024-10-13 10:29:37 -06:00
Ross Goldberg
fe749fc2eb
Handle CKPurchaseController.shared().perform(…) callback within SSPurchase.perform(adamId:purchase:) to encapsulate CKPurchaseController & its callback.
Chain `Promise`s instead of calling `Promise.wait()`.

Improve comments.

Resolve #562

Signed-off-by: Ross Goldberg <484615+rgoldberg@users.noreply.github.com>
2024-10-11 02:15:07 -04:00
Ross Goldberg
a45308f2f2
Configure SSPurchase in `perform(…) instead of in a convenience init.
Partial #562

Signed-off-by: Ross Goldberg <484615+rgoldberg@users.noreply.github.com>
2024-10-11 02:01:26 -04:00
Ross Goldberg
c01f7c541e
Migrate ISStoreAccount from Grand Central Dispatch to PromiseKit.
Partial #562

Signed-off-by: Ross Goldberg <484615+rgoldberg@users.noreply.github.com>
2024-10-11 02:01:25 -04:00
Ross Goldberg
aceb4c3ddb
Remove unnecessary output when nothing downloaded by download(…).
Partial #562

Signed-off-by: Ross Goldberg <484615+rgoldberg@users.noreply.github.com>
2024-10-11 01:59:18 -04:00
Ross Goldberg
943638fef4
Improve ISStoreAccount.signIn(…).
Output error for non-`nil` `ISStoreAccount.primaryAccount` only if `ISStoreAccount.primaryAccount.isSignedIn` is `true`.

Output error when no password provided to password prompt for `mas signin`.

Remove unnecessary blank lines in `MASError.swift`.

Partial #562

Signed-off-by: Ross Goldberg <484615+rgoldberg@users.noreply.github.com>
2024-10-11 01:59:18 -04:00
Ross Goldberg
a5c8957fc9
Refactor Downloader & SSPurchase to no longer need StoreAccount.
Move towards better purchase encapsulation: all purchase logic will eventually be in the `perform(…)` function, not in convenience constructor, to ensure the correct values are used when `perform(…)` is called, instead of values that were correct sometime before the call.

Partial #562

Signed-off-by: Ross Goldberg <484615+rgoldberg@users.noreply.github.com>
2024-10-11 01:59:14 -04:00
Ross Goldberg
d2f2d3edff
ISStoreAccount static functions return ISStoreAccount instead of StoreAccount.
Add `var dsID` to `StoreAccount` so functions can use `StoreAccount` without casting to `ISStoreAccount`.

Simplify code.

Partial #562

Signed-off-by: Ross Goldberg <484615+rgoldberg@users.noreply.github.com>
2024-10-11 01:57:45 -04:00
Ross Goldberg
8e671f2624
Improve Account, SignIn, SignOut & ISStoreAccount extension & associated code.
Prevent `ISAccountService.signIn(with:)` deprecation warning.

Improve macOS version handling encapsulation.

Output error if `StoreAccount.signin(…)` provides a `nil` `ISStoreAccount`.

Improve `signin` `"Already Signed In" error output.

Remove unnecessary output.

Simplify code.

Partial #562

Signed-off-by: Ross Goldberg <484615+rgoldberg@users.noreply.github.com>
2024-10-11 01:56:50 -04:00
Ross Goldberg
d6087ce288
Update README.md.
Signed-off-by: Ross Goldberg <484615+rgoldberg@users.noreply.github.com>
2024-10-08 23:34:14 -04:00
Ross Goldberg
5676dcb797
Re-enable purchase.
`purchase` seems to work on macOS 12+.

Resolve #289

Signed-off-by: Ross Goldberg <484615+rgoldberg@users.noreply.github.com>
2024-10-06 03:13:10 -04:00
Ross Goldberg
466ea67194
Improve scripts: bootstrap, build, format, lint, test & version.
Allow them to be run from any directory.

Call version from lint & test to create Package.swift with version info.

Fail when accessing unset variables.

Improve variable names.

Fix lint issues.

Improve lint & format scripts.

Don't require user input to continue linting.

Much cleaner lint output.

Reorder lint output.

Get swift-format from Brewfile instead of from Package.swift:

 - Speeds up linting.
 - Properly models dependency (not a code dependency).
 - swift-format depends on an old version of swift-argument-parser. Will refactor to use SAP soon.

Include some improvements from 1.8.7 PR.

Other scripts need improvement, too.

Resolve #545

Signed-off-by: Ross Goldberg <484615+rgoldberg@users.noreply.github.com>
2024-10-05 20:33:45 -04:00
Ross Goldberg
b400422f4a
outdated checks if new app version requires newer macOS for all kinds of apps, not just mac-software.
Resolve #540

Signed-off-by: Ross Goldberg <484615+rgoldberg@users.noreply.github.com>
2024-10-05 20:28:49 -04:00
Ross Goldberg
7e9e3ba168
Output to stderr responses from Apple endpoints that are unparsable as JSON
Resolves #536

Signed-off-by: Ross Goldberg <484615+rgoldberg@users.noreply.github.com>
2024-10-05 19:50:52 -04:00
Ross Goldberg
d9780b8768
Fix incorrect function comment
Resolves #538

Signed-off-by: Ross Goldberg <484615+rgoldberg@users.noreply.github.com>
2024-10-05 19:43:15 -04:00
Ross Goldberg
47f4b5c0da
Fix typos in comments
Resolves #538

Signed-off-by: Ross Goldberg <484615+rgoldberg@users.noreply.github.com>
2024-10-05 19:43:15 -04:00
Ross Goldberg
7132e7eed9
Fix typos in documentation
Partial #538

Signed-off-by: Ross Goldberg <484615+rgoldberg@users.noreply.github.com>
2024-10-05 19:43:15 -04:00
Ross Goldberg
5c11f9afb7
Git ignore JetBrains IntelliJ IDEA config directory.
Signed-off-by: Ross Goldberg <484615+rgoldberg@users.noreply.github.com>
2024-10-05 19:36:45 -04:00
Ross Goldberg
622a154fb9
Merge pull request #548 from rgoldberg/546-lint
Fix breaking lint issue in MasStoreSearch.swift.
2024-10-05 19:08:44 -04:00
Ross Goldberg
fa7bdea029
Fix breaking lint issue in MasStoreSearch.swift.
Resolve #546

Signed-off-by: Ross Goldberg <484615+rgoldberg@users.noreply.github.com>
2024-10-05 18:52:06 -04:00
Ben Chatelain
7603c30da0
👷🏼‍♂️ Checkout using symlink
Error: Repository path '/opt/homebrew/Library/Taps/mas-cli/homebrew-tap' is not under '/Users/runner/work/mas/mas'
2024-08-03 14:58:54 -06:00
Ben Chatelain
d202441a63
♻️ Add tap and re-clone with token 2024-08-03 14:47:08 -06:00
Ben Chatelain
c073f0a140
📂 mkdirs 2024-08-03 12:49:09 -06:00
Ben Chatelain
84e13f9380
🔗 Symlink tap to taps dir 2024-08-03 12:40:49 -06:00
Ben Chatelain
20faba39a9
👷🏻‍♀️ Checkout mas-cli/homebrew-tap in subdir 2024-08-03 12:36:15 -06:00
Ben Chatelain
30aa073f25
🔐 Add DEPLOY_TOKEN for mas tap PR creation 2024-08-03 12:20:40 -06:00
Ben Chatelain
0578f0c850
♻️ Pull tap git commands up into workflow 2024-07-31 21:04:54 -06:00
Ben Chatelain
52c96db818
♻️ Extract git push from brew_tap_update script 2024-07-30 21:56:07 -06:00
Ben Chatelain
53319d911d
♻️ Extract PR creation from brew_tap_update script 2024-07-30 21:51:32 -06:00
Ben Chatelain
91f74918d8
🔥 Remove PR creation from brew_core_update 2024-07-30 21:36:33 -06:00
Ben Chatelain
c00c7653d9
🔐 Add GH_TOKEN to core update step 2024-07-30 21:36:18 -06:00
Ben Chatelain
94258eaf64
👷🏻‍♀️ Push tap branch and add details to PR 2024-07-30 21:34:30 -06:00
Ben Chatelain
20f2d3f0e2
🔐 Add GH_TOKEN to tap update step 2024-07-30 21:28:43 -06:00
Ben Chatelain
3b5d335fca
🔧 Disable dry-run in brew_tap_update 2024-07-30 21:28:20 -06:00
Ben Chatelain
adcad9c38b
🐛 Remove problematic RELEASE_COMMIT 2024-07-30 21:18:37 -06:00
Ben Chatelain
0c701cc047
👷🏻‍♀️ Checkout release branch in downstream jobs 2024-07-30 20:47:28 -06:00
Ben Chatelain
bc88359d1c
🔐 Add GH_TOKEN to steps using gh command 2024-07-30 20:42:10 -06:00
Ben Chatelain
ba97743d8d
🐛 Push branch before opening PR 2024-07-30 20:36:16 -06:00
Ben Chatelain
8b270a1c49
👷🏼‍♂️ Add bootstrap to prepare-release job 2024-07-30 20:29:13 -06:00
Ben Chatelain
cfa3c70ef3
🐛 Use script variable syntax 2024-07-30 20:29:13 -06:00
Ben Chatelain
5b5ba9213a
🐛 Fix variable handling using job outputs 2024-07-30 20:25:24 -06:00
Ben Chatelain
97fa10f02c
👷🏻‍♀️ Rework and rename prepare-release job 2024-07-30 17:53:50 -06:00
Ben Chatelain
bc93e914f9
🔧 Add RELEASE_BRANCH variable 2024-07-30 17:29:40 -06:00
Ben Chatelain
76d380d502
👷🏼‍♂️ Add version-update job to release workflow
Need to call version_bump before both homebrew jobs
2024-07-29 18:05:50 -06:00
Ben Chatelain
78757ab57f
🔥 Remove bottle step from release workflow
This is already part of brew_tap_update
2024-07-29 17:47:03 -06:00
Ben Chatelain
56a3ffcdf7
👷🏼‍♂️ Update job dependencies 2024-07-29 17:38:02 -06:00
Ben Chatelain
7d063d6d0e
Merge branch 'main' into releases/release-1.8.7
# Conflicts:
#	.swiftlint.yml
2024-07-29 17:20:05 -06:00
Ben Chatelain
9ae9cbaf4b
👷🏼‍♂️ Move homebrew-tap before homebrew-core in release workflow 2024-07-29 17:16:25 -06:00