Commit graph

124 commits

Author SHA1 Message Date
Shawn Schantz
93b190d3c5 feat(mac): add new local deploy script
moves input method and config app to correct locations
work needed to codesign properly
2026-04-21 10:53:17 -04:00
Shawn Schantz
fe562bddca feat(mac): send output to same folder as previously
Some checks are pending
Keyman Build Summary / Summarize build status checks (push) Waiting to run
.dmg was published in Keyman4MacIM and that is where
teamcity configuration for the project expects it

write installer package to the same location so
that all builds get the artifact from the same directory
2026-04-20 11:12:21 -04:00
Shawn Schantz
9aaf420974 feat(mac): change upload destination for installer package
Some checks failed
Keyman Build Summary / Summarize build status checks (push) Has been cancelled
2026-03-25 12:41:00 -04:00
Shawn Schantz
eabef231cf feat(mac): copy -R to preserve symbolic links installing input method
The postinstall script uses cp -R instead of cp -r
when copying the input method to the Input Methods folder

Also made changes to use an environment variable to
designate the installer signing certificate, and
updated the export options plist to use that same
certificate for signing the installer package.
2026-03-24 14:46:55 -04:00
Shawn Schantz
4048b64224 feat(mac): build and notarize installer package
Some checks failed
Keyman Build Summary / Summarize build status checks (push) Has been cancelled
not tested with CI
issue with signing conflict between architectures
need to remove earlier signing prior to creation of
installer package
2026-03-20 20:52:15 -04:00
Shawn Schantz
bbfab358a6 feat(mac): update build script to build Config app
Some checks are pending
Keyman Build Summary / Summarize build status checks (push) Waiting to run
builds and cleans Config app
does not yet include Config app in install script
2026-03-19 15:39:52 -04:00
Shawn Schantz
b8a93e521b feat(mac): progress toward installer creation
input method installer created but still need to add
Keyman Configuration app to the installer and notarize it
2026-03-19 14:43:08 -04:00
Shawn Schantz
19b384ac47 feat(mac): fix error in publish step
Some checks are pending
Keyman Build Summary / Summarize build status checks (push) Waiting to run
2026-03-17 12:24:38 -04:00
Shawn Schantz
6796f15f66 feat(mac): remove code sign status check
possibly causing build failures
2026-03-17 12:13:51 -04:00
Shawn Schantz
433b000713 feat(mac): add logging for build level and code signing status
temporary logging to fix issue with ci builds
2026-03-17 11:43:37 -04:00
Shawn Schantz
725e91b52b feat(mac): changed build.sh to get app groups working
Some checks failed
Keyman Build Summary / Summarize build status checks (push) Has been cancelled
includes plenty of debug and test code but should work
writes a test file out to the Group Container
2026-03-13 20:44:21 -04:00
Marc Durdin
377b1056ec maint(resources): rename KEYMAN_VERSION_FOR_PR_FILENAME
Address review comment from #14703.

Test-bot: skip
Build-bot: skip
Relates-to: #14703
Relates-to: #10521
2025-09-10 11:17:41 +02:00
Marc Durdin
b061944223 maint(mac): use versioned filenames for PR artifacts
Relates-to: #10521
Test-bot: skip
Build-bot: skip release:mac
2025-09-08 12:44:57 +02:00
Marc Durdin
0d27ac91f7 maint(mac): use mac_ prefix for functions in mac.inc.sh
* Also renames resources/environment.sh to resources/build/mac/xcode-environment.inc.sh.
* Adds a few more exclusions to linux/scripts/dist.sh

Fixes: #14478
Test-bot: skip
Build-bot: build
2025-08-20 05:40:32 +02:00
Marc Durdin
3cdce9b371
Merge pull request #14467 from keymanapp/maint/mac/14287-skip-publishing-on-build-buildlevel
maint(mac): skip unnecessary network steps when buildLevel is build 🦌
2025-08-19 15:42:59 +07:00
Marc Durdin
4314088071 maint(mac): only publish sentry for CI builds 2025-08-18 11:28:08 +02:00
Marc Durdin
8caf66ce9e maint(mac): address review comments 2025-08-12 05:27:48 +02:00
Marc Durdin
c3ce6adfaf
Merge branch 'maint/ios/14286-skip-publishing-on-build-buildlevel' into maint/mac/14287-skip-publishing-on-build-buildlevel 2025-08-07 11:44:32 +07:00
Marc Durdin
637b59d2e2 maint(mac): skip unnecessary network steps when buildLevel is build
Skips sentry upload, notarization, and code signing.

Fixes: #14287
2025-08-06 11:09:47 +08:00
Marc Durdin
f03be501a6 maint(common): reorganize mac/ios build script includes
Move mac-specific build scripts and functions into our established
patterns for scripts under resources/build:

* new mac/mac.inc.sh for mac-specific functions, from mac-utils.inc.sh,
  utils.inc.sh, builder-basic.inc.sh
* move other mac-specific scripts into mac/

Relates-to: #14065
Build-bot: build
Test-bot: skip
2025-08-05 12:57:32 +10:00
Marc Durdin
f394245636 maint(common): consolidate builder scripts
Clarifies the confusing builder.inc.sh / build-utils.sh distinction by
giving the scripts more appropriate names. Most build scripts should use
builder-full.inc.sh; some helper scripts can use builder-basic.inc.sh.
Documented in resources/build/README.md.

Renames:
* resources/build/builder.inc.sh to resources/build/builder-full.inc.sh
* resources/build/build-utils.sh to resources/build/builder-basic.inc.sh

Other changes:
* Moves Android-specific functions out of builder-basic.inc.sh and into
  android/build.sh.
* Renames functions in builder-basic.inc.sh

More functions may be moved from builder-basic.inc.sh into utils.inc.sh
or other scripts in the future.

Fixes: #14065
Build-bot: build all
Test-bot: skip
2025-08-02 08:11:24 +10:00
Marc Durdin
65158a0526 maint(common): rename shellHelperFunctions.sh to utils.inc.sh
Adds documentation for various functions, removes unused functions (a
couple of simple, very lightly used functions were unDRYed; these could
go back the other way across all shell scripts if necessary). TODO items
noted for follow-up refactoring.

Fixes: #14275
Relates-to: #14269
Build-bot: build all
Test-bot: skip
2025-08-02 06:58:40 +10:00
Eberhard Beilharz
bcc6ecc3eb
maint(mac): consolidate write-download_info
Mac had a separate `write-download_info.sh` script that duplicates what
is done in the `write_download_info` function. Also remove the unused
`dl_info_display_usage` function that is unused and seems to be related
to the script we're deleting.

Test-bot: skip
2025-07-09 19:12:29 +02:00
Marc Durdin
dd712333e5 maint(mac): make make-km-dmg.sh less quiet
When build.sh was converted to a builder-style script, the -quiet flag
was then passed into make-km-dmg.sh, which meant that it no longer gave
valuable diagnostic output. This returns the script to default levels of
output (there is also a -verbose or -debug level we could use). The
variable QUIET_FLAG appears to have been used only in that one place.
2025-06-03 05:58:48 +07:00
Eberhard Beilharz
4d81589f48
maint(common): use unique names for Keyman version variables
Previously the builder scripts defined a readonly `VERSION` environment
variable for the Keyman version. That caused problems when another
(external) script tried to define a `VERSION` variable. We encountered
this problem when trying to move the TC build steps of a configuration
into a single script (#13399) when we tried to source `~/.nvm/nvm.sh`.

This change uses a Keyman specific prefix for the version variables and
renames `VERSION` → `KEYMAN_VERSION` etc. Unfortunately these variables
are used in a lot of places, so this turned out to be a bit of a yak
shave.

Test-bot: skip
2025-05-07 18:46:51 +02:00
Marc Durdin
07e497c4f0 docs(mac): add comment explaining multiple build steps 2025-05-05 06:05:13 +07:00
Marc Durdin
abb1eecddf fix(mac): add version metadata after building tests
The mac build started to lose rewritten info.plist metadata in #11444
when tests were run after the build completed. When the tests were run,
xcodebuild would rewrite the info.plist, losing the rewritten metadata.

This patch updates the build script to write the metadata after unit
tests (if any) are run.

Fixes: #13791
2025-05-03 15:35:53 +07:00
Marc Durdin
f57aec64bb
Merge branch 'epic/linux-mcompile' into chore/merge-master-into-linux-mcompile 2025-02-13 20:37:44 +07:00
sgschantz
6a2c01e71f chore(mac): suppress verbose bash script logging 2025-02-03 10:19:46 +07:00
Marc Durdin
19812d5ff8
Merge branch 'epic/linux-mcompile' into chore/merge-master-into-linux-mcompile 2024-10-25 09:31:06 +02:00
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
Sabine
dd0ebc4325 chore(mac): add backslash to build.sh 2024-08-16 10:58:41 +02:00
Sabine
d926045725 chore(mac): add mcompile to build.sh 2024-08-16 10:47:13 +02: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