Marc Durdin
016a6f0225
chore(common): address review comments
2024-10-09 08:12:21 +07:00
Marc Durdin
640d3e5096
test(developer): add markdown link check test for product documentation
...
Adds check-markdown package that parses .md files, looks for links and
images, and verifies that they are valid links (for internal links).
2024-09-25 15:51:32 -07:00
Joshua Horton
7008a3972e
chore(mac): replaces more 'typeset' uses
2024-05-29 08:28:18 +07:00
Joshua Horton
12cb94c5a3
change(mac): Apply suggestions from code review
...
Co-authored-by: Marc Durdin <marc@durdin.net>
2024-05-29 08:26:45 +07:00
Joshua Horton
e49d26ad9d
change(mac): relocates one shell var definition
2024-05-27 09:04:58 +07:00
Joshua Horton
9c4eb99a3a
fix(mac): non --debug test references 'release' artifacts
2024-05-27 08:42:10 +07:00
Joshua A. Horton
42d1cf3bd3
chore(mac): incorporates many review suggestions + comments
2024-05-20 08:39:25 +07:00
Joshua Horton
5cd03ca975
chore(mac): better builder_describe_outputs
2024-05-15 10:40:48 +07:00
Joshua Horton
fcacefff85
chore(mac): reorders the helper-func definitions
2024-05-15 10:16:05 +07:00
Joshua Horton
157da20397
fix(mac): clean should also clean installer
2024-05-15 10:09:36 +07:00
Joshua Horton
2f88afd9ad
chore(mac): patch for last commit
2024-05-15 10:02:04 +07:00
Joshua Horton
a979a3da85
chore(mac): converts mac's build.sh into a proper builder-based script
2024-05-15 09:48:16 +07:00
Marc Durdin
fb2fbd2684
chore(mac): eval and non-eval codesign
2023-12-13 13:14:55 +07:00
Marc Durdin
2b61bb8f47
fix(mac): improve code signing robustness
2023-12-13 12:08:29 +07:00
Shawn Schantz
a863bf1670
Merge branch 'feature-macos-core' into feature/core/add-core-wrapper
2023-07-31 14:22:17 +07:00
Marc Durdin
37a8f1316e
chore(mac): refactor notarization into sourced script
2023-06-19 07:32:14 +07:00
Marc Durdin
38845da761
chore(mac): notarytool json result parse
2023-06-14 09:04:24 +07:00
Marc Durdin
78c28945fb
chore(mac): notarytool json output
2023-06-14 06:54:36 +07:00
Marc Durdin
fc96f013aa
chore(mac): move from altool to notarytool
2023-06-14 06:27:16 +07:00
Marc Durdin
d36854e0fa
fix(mac): CONFIG not CONFIGURATION in build path
...
Fixes an error in mac/build.sh, arising from work in #8698 . Kinda proves
that the `-u` flag was worth setting globally!
2023-05-09 10:39:31 +07:00
Marc Durdin
127b0e0c43
chore(mac): fix missing build vars
2023-05-02 13:49:24 +07:00
Marc Durdin
2934a15dd7
chore(mac): fixup missing parameter test
2023-05-02 12:30:29 +07:00
Marc Durdin
a1e1f905cc
chore(mac): remove unused variable in build.sh
2023-04-28 14:23:21 +07:00
Darcy Wong
3ef331a87e
refactor(common): Update to build_help_html params
2023-03-10 12:49:37 +07:00
sgschantz
eba89e54cd
preliminary integration of keyman core with keyman engine for mac
2023-03-09 14:07:44 +07:00
Darcy Wong
6c2126431f
refactor(common): Make build-help into helper functions
2023-03-08 11:42:13 +07:00
Marc Durdin
ce864ea923
chore: update standard script prolog to use builtin instead of dirname
2023-02-22 11:04:15 +07:00
Marc Durdin
463c7ff907
chore: remove greadlink from standard script prolog
2023-02-22 10:43:06 +07:00
Marc Durdin
a004978863
chore: use builder_heading, remove echo_heading
2023-02-20 09:17:51 +07:00
Marc Durdin
4d53a277f3
chore: use builder_die, remove fail
2023-02-20 09:15:38 +07:00
Marc Durdin
318b4d4478
chore: use builder_warn, remove warn
2023-02-20 08:56:31 +07:00
Marc Durdin
067028cec2
chore: revise tag variable name to VERSION_GIT_TAG
...
Introduce new $VERSION_GIT_TAG environment variable, and update all
references to release@version in all projects to use the new variable.
2023-01-21 17:02:50 +07:00
Marc Durdin
767927bf16
chore(common): use /usr/bin/env bash
...
Fixes up scripts (except under /linux) to use `#!/usr/bin/env bash`
instead of `#!/bin/bash` or `#!/bin/sh` so that we don't end up with
the ancient version of bash supplied with macOS.
This became urgent with this PR, because of bash-4.xisms in
build-utils.sh, for example on line 572:
```
if [[ -v _builder_params[$e] ]]; then
```
2022-07-25 14:59:37 +10:00
Marc Durdin
0730098236
chore(ios): update ios/macos build scripts to log scripts
...
Adds run-xcodebuild function to wrap xcodebuild calls to keep logging
and error handling consistent. Currently used only by the iOS build; the
macOS build has a corresponding execBuildCommand function which does
pretty much the same thing (changing that would belong in a separate PR
I think and low priority.)
2022-06-24 11:37:46 +10:00
Marc Durdin
f070bfbea6
fix(mac): use xcframework to support m1
2021-11-18 12:03:52 +11:00
Marc Durdin
5fac633fb6
fix(common): build script help param
...
When working on a new build script, I tripped over the `-?` question
mark help parameter here, as it needs to be escaped. Opted to fix all
the instances in our scripts, although AFAICT there would not have been
current bugs arising from this, as there were no conflicting one
character options lower in the case list.
2021-05-28 09:50:40 +10:00
Marc Durdin
637cc064da
fix(mac): show local help in app
...
Fixes #3979 .
Instead of loading help.keyman.com in the support frame, we now load a
local copy of the help. External links within the help will open in the
user's browser. This avoids issues of navigation to keyboard download
and other sites which won't work well.
Also, adds Back, Forward and Home buttons to the window so the user can
navigate more easily with mouse.
Finally, this means that the local help will always be synchronised with
the app version and brings the macOS help in line with the other
platforms.
2021-03-15 17:21:19 +11:00
Marc Durdin
9757e4330b
fix(mac): improve robustness of altool call
...
Handles temporary failures calling altool where Apple servers return
"Could not find the RequestUUID" for a few minutes post-upload.
Example log we are handling:
```
[04:50:44][Step 5/5] Zipping Keyman.app for notarization to /Users/mcdurdin/buildAgent/work/99b311828f4ee7c/keyman/mac/Keyman4MacIM/build/Release/Keyman.zip
[04:50:44][Step 5/5] Uploading Keyman.zip to Apple for notarization
[04:51:23][Step 5/5] <?xml version="1.0" encoding="UTF-8"?>
[04:51:23][Step 5/5] <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd ">
[04:51:23][Step 5/5] <plist version="1.0">
[04:51:23][Step 5/5] <dict>
[04:51:23][Step 5/5] <key>notarization-upload</key>
[04:51:23][Step 5/5] <dict>
[04:51:23][Step 5/5] <key>RequestUUID</key>
[04:51:23][Step 5/5] <string>fd45e30c-5a96-4d02-9196-0923d4e5e90f</string>
[04:51:23][Step 5/5] </dict>
[04:51:23][Step 5/5] <key>os-version</key>
[04:51:23][Step 5/5] <string>10.15.3</string>
[04:51:23][Step 5/5] <key>success-message</key>
[04:51:23][Step 5/5] <string>No errors uploading '/Users/mcdurdin/buildAgent/work/99b311828f4ee7c/keyman/mac/Keyman4MacIM/build/Release/Keyman.zip'.</string>
[04:51:23][Step 5/5] <key>tool-path</key>
[04:51:23][Step 5/5] <string>/Applications/Xcode.app/Contents/SharedFrameworks/ContentDeliveryServices.framework/Versions/A/Frameworks/AppStoreService.framework</string>
[04:51:23][Step 5/5] <key>tool-version</key>
[04:51:23][Step 5/5] <string>4.01.1182</string>
[04:51:23][Step 5/5] </dict>
[04:51:23][Step 5/5] </plist>
[04:51:23][Step 5/5]
[04:51:23][Step 5/5] Waiting 30 seconds for status
[04:51:55][Step 5/5] <?xml version="1.0" encoding="UTF-8"?>
[04:51:55][Step 5/5] <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd ">
[04:51:55][Step 5/5] <plist version="1.0">
[04:51:55][Step 5/5] <dict>
[04:51:55][Step 5/5] <key>os-version</key>
[04:51:55][Step 5/5] <string>10.15.3</string>
[04:51:55][Step 5/5] <key>product-errors</key>
[04:51:55][Step 5/5] <array>
[04:51:55][Step 5/5] <dict>
[04:51:55][Step 5/5] <key>code</key>
[04:51:55][Step 5/5] <integer>1519</integer>
[04:51:55][Step 5/5] <key>message</key>
[04:51:55][Step 5/5] <string>Could not find the RequestUUID.</string>
[04:51:55][Step 5/5] <key>userInfo</key>
[04:51:55][Step 5/5] <dict>
[04:51:55][Step 5/5] <key>NSLocalizedDescription</key>
[04:51:55][Step 5/5] <string>Could not find the RequestUUID.</string>
[04:51:55][Step 5/5] <key>NSLocalizedFailureReason</key>
[04:51:55][Step 5/5] <string>Apple Services operation failed.</string>
[04:51:55][Step 5/5] <key>NSLocalizedRecoverySuggestion</key>
[04:51:55][Step 5/5] <string>Could not find the RequestUUID.</string>
[04:51:55][Step 5/5] </dict>
[04:51:55][Step 5/5] </dict>
[04:51:55][Step 5/5] </array>
[04:51:55][Step 5/5] <key>tool-path</key>
[04:51:55][Step 5/5] <string>/Applications/Xcode.app/Contents/SharedFrameworks/ContentDeliveryServices.framework/Versions/A/Frameworks/AppStoreService.framework</string>
[04:51:55][Step 5/5] <key>tool-version</key>
[04:51:55][Step 5/5] <string>4.01.1182</string>
[04:51:55][Step 5/5] </dict>
[04:51:55][Step 5/5] </plist>
[04:51:55][Step 5/5]
[04:51:55][Step 5/5] altool failed with code 1
```
2020-11-26 11:53:35 +11:00
Marc Durdin
b4f08b3604
chore: fix parameters
2020-11-24 08:10:50 +11:00
Marc Durdin
f692af2545
chore: fix test
2020-11-24 08:08:33 +11:00
Marc Durdin
e41df6f838
fix(mac): re-sign files post plist update
...
Cleans up a bunch of bits and pieces around the build process and makes
sure that files are re-signed after we update the Info.plist file.
2020-11-24 08:02:16 +11:00
Marc Durdin
c2401514cb
fix(mac): support page and copyright
...
Fixes #3849 .
* Uses keyman-staging.com when on alpha or beta
* Updates copyright year at build time
* Fixes link to help documentation (/mac, not /macosx)
2020-11-20 05:55:53 +11:00
Marc Durdin
590f7782cc
chore: fix command order
2020-11-19 10:32:07 +11:00
Marc Durdin
da8dbc59fb
fix(mac): codesign resilience
...
This PR tries to make codesign more resilient to failure, by retrying
a build step that falls over with code 65. This code is not limited to
codesign but most frequently happens with it.
A more complete answer would be to do the codesigning step in build.sh
instead of in the project, which would give us more control of the
outcome, and maybe simplify the build process somewhat, but I will
leave that for now, because it is usually better to leave that to XCode.
2020-11-19 10:24:36 +11:00
Marc Durdin
be8738e9b4
chore(mac): rewrite plists after build
...
Instead of updating the source plist files with version information,
do this on the built artifacts so that the source files do not get
continually clobbered.
2020-11-19 09:38:32 +11:00
Marc Durdin
bede3948d2
feat(mac): Sentry support
...
I wasn't going to do this, but realised that crash reporting was going
to be a problem on mac because it still used crashlytics/fabric. Turned
out to be a good exercise to get me back into macOS world, and fairly
straightforward to get right (helps that the other platforms broke the
ice for me).
2020-11-18 17:13:20 +11:00
Marc Durdin
066e9aa8a8
fix(mac): altool second call report ci errors
2020-06-22 11:32:15 +10:00
Marc Durdin
7c46e02907
fix(mac/resources): altool is failing but we lose the log in CI
2020-06-22 08:30:52 +10:00
Marc Durdin
15231a0bac
fix(mac): invalid build script params removed
...
I accidentally pulled old parameters into mac/build.sh for the
make-km-dmg.sh script when merging from beta. The script no longer
requires `-version`. This fixes that.
2020-02-17 14:58:45 +11:00
Marc Durdin
255e4f4b7a
chore: Merge branch 'master' into chore/beta-to-master-p9s2-1
2020-02-17 10:11:15 +11:00