Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

CI: Update to Xcode 15 / macOS 13 in GitHub runner #1434

Merged
merged 1 commit into from
Sep 30, 2023

Conversation

ychin
Copy link
Member

@ychin ychin commented Sep 26, 2023

Python2

  • Python2 is no longer installed in the new GitHub hosted runners (macos-13) and so we need to manually download the installer from Python's website and install it. Since it seems to run quite fast, not caching the folder fow now.
  • Had to change the default Python2 dynamic lib location to /Library/Framework/... which is where the installer installs to.
  • Should warn users that Python2 support could be removed in the future.

Lua

  • Previously dynamic lib loading implicitly relied on being able to find the lib from /usr/local/lib. Somehow Xcode 15 removed support for that folder when using dlopen(). Modified CI and configure script to allow manually specifying it.

Xcode / Legacy build

  • GitHub's macos-13 image does not have Xcode 14.0.1 installed. This is the version we need for building legacy builds (targeting macOS 10.9 - 10.12). As such, we need to keep using macos-12 for building legacy builds. Hopefully it won't be deprecated soon as we would need to investigate options for how to build legacy builds.

Fix deprecated C functions using old style declarations to handle new compiler warnings.

@ychin ychin added the Infrastructure Non-app infrastructure issues, e.g. CI label Sep 26, 2023
@github-actions github-actions bot added the CI Vim upstream label for CI issues label Sep 26, 2023
@ychin ychin force-pushed the ci-macos13-xcode15 branch 3 times, most recently from af3b653 to 2c28447 Compare September 29, 2023 22:32
Python2
- Python2 is no longer installed in the new GitHub hosted runners
  (macos-13) and so we need to manually download the installer from
  Python's website and install it. Since it seems to run quite fast, not
  caching the folder fow now.
- Had to change the default Python2 dynamic lib location to
  /Library/Framework/... which is where the installer installs to.
- Should warn users that Python2 support could be removed in the future.

Lua
- Previously dynamic lib loading implicitly relied on being able to find
  the lib from /usr/local/lib. Somehow Xcode 15 removed support for that
  folder when using dlopen(). Modified CI and configure script to allow
  manually specifying it.

Xcode / Legacy build
- GitHub's macos-13 image does not have Xcode 14.0.1 installed. This is
  the version we need for building legacy builds (targeting macOS 10.9 -
  10.12). As such, we need to keep using macos-12 for building legacy
  builds. Hopefully it won't be deprecated soon as we would need to
  investigate options for how to build legacy builds.

Fix deprecated C functions using old style declarations to handle new
compiler warnings.
@ychin ychin force-pushed the ci-macos13-xcode15 branch from 2c28447 to d3c1eb5 Compare September 29, 2023 22:58
@ychin ychin merged commit 9084c14 into macvim-dev:master Sep 30, 2023
4 checks passed
@ychin ychin deleted the ci-macos13-xcode15 branch September 30, 2023 00:43
@ychin ychin added this to the Release 179 milestone Oct 21, 2023
@ychin ychin added 14.0 Sonoma Scripting Languages Python / Ruby / etc binding issues labels Jan 4, 2024
ychin added a commit that referenced this pull request Jan 5, 2024
Updated to Vim 9.1.0

Vim 9.1 is now released! See
[announcement](https://www.vim.org/vim-9.1-released.php).

Features
====================

System monospace font (SF Mono)
--------------------

MacVim's `guifont` option now supports a new `-monospace-` value, which
instructs it to use the system monospace font, which is SF Mono in
recent macOS versions. As mentioned below, you can now use
tab-completion to see the available values in cmdline. See `:h
macvim-guifont` for more details on how to use it (including using
different font weights). #1463

Note: I'm contemplating changing the MacVim defaults to use
`-monospace-` in the future so MacVim will always use the native
monospace font instead of being hard-coded to Menlo. This makes it more
consistent with Apple Terminal and Xcode. Feel free to leave a comment
on #1277 if you have opinions on this.

New Vim features
--------------------

- Command-line tab completion improvements and bug fixes
    - Most string option values can now be completed. v9.0.1958
    - MacVim options (guifont, fuoptions) also support tab completion.
      #1436
    - ++opt (e.g. `:e ++`) and `:terminal ++` completion works as well.
      v9.0.2025
- New options:
    - `set jumpoptions=stack`. Ported from Neovim. v9.0.1921
- API changes
    - `getmousepos()` returns a new "coladd" for tab characters.
      v9.0.2032
- `:Man` now works properly when `gdefault` is set.
- A new small Vim script library that may expand in the future. See `:h
  vim-script-library`.
- Vim9 script improvements.
- Miscellaneous security fixes.

Misc
--------------------

New settings:

- "Scroll in one direction only" (Input). Prevents accidental horizontal
  scrolling when scrolling vertically using a trackpad. #1442

Clean mode (#1453):

- Vim can be opened in clean mode (does not use .vimrc or plugins) via
  the new menu item "New Clean Window". The new menu isn't localized in
  most languages. Please comment on the issue if you would like to help
  in localization.
- MacVim can be launched without loading user defaults for a clean
  experience via a command-line flag. See `:h macvim-settings`.

General
====================

- Sparkle (updater for MacVim) is now updated to 2.5.2. The updater can
  now show multiple release notes when updating MacVim across multiple
  versions. #1446 #1469
- Binary release is now built with more optimized compiler settings. Vim
  will now run slightly faster than before. #1444
- macOS 14 Sonoma:
    - Binary release is now built using the macOS 14 SDK (#1434, #1440,
      #1448). One small change is that very tall characters (e.g. "นี้")
      on the first line will now draw into the title bar instead of
      being clipped.
    - Fixed printing with `:hardcopy` under macOS 14. *NOTE:* Starting
      from macOS 14, you have to install `ps2pdf` (available from
      Ghostscript) yourself before you can print. See #1464
- Python 2 support: The default location for locating the Python 2 lib
  in the binary release is now under /Library/Frameworks rather than
  /usr/local. Note: Python 2 has long been obsolete. If you rely on
  Python 2 plugins, consider this a warning as it's only supported as
  long as it's feasible and could be removed in the future. #1434

Fixes
====================

- Fixed non-native full screen mode when using a MacBook with a notch
  and having the "Show menu bar in non-native mode" option set. Changing
  the screen resolution while using non-native full screen also works
  properly now. #1450
- Fixed Help menu's documentation search not working with tags with
  special characters like `<Down>`. #1455

Compatibility
====================

Requires macOS 10.9 or above. (10.9 - 10.12 requires downloading a
separate legacy build)

Script interfaces have compatibility with these versions:

- Lua 5.4
- Perl 5.30
- Python2 2.7
- Python3 3.9 or above
- Ruby 3.2
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
14.0 Sonoma CI Vim upstream label for CI issues Infrastructure Non-app infrastructure issues, e.g. CI Scripting Languages Python / Ruby / etc binding issues translation
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant