|
7 | 7 | env: |
8 | 8 | MACOSX_DEPLOYMENT_TARGET: 10.9 |
9 | 9 |
|
| 10 | + CC: clang |
| 11 | + CONFOPT: "--with-features=huge --enable-netbeans --with-tlib=ncurses --enable-cscope --enable-gui=macvim --with-macarchs=x86_64" |
| 12 | + |
10 | 13 | VERSIONER_PERL_VERSION: 5.18 |
11 | 14 | VERSIONER_PYTHON_VERSION: 2.7 |
12 | 15 | vi_cv_path_python: /usr/bin/python |
|
17 | 20 | vi_cv_dll_name_python: /System/Library/Frameworks/Python.framework/Versions/2.7/Python |
18 | 21 | vi_cv_dll_name_python3: /usr/local/Frameworks/Python.framework/Versions/3.9/Python |
19 | 22 | vi_cv_dll_name_ruby: /usr/local/opt/ruby/lib/libruby.dylib |
| 23 | + LANGOPT: "--enable-perlinterp=dynamic --enable-pythoninterp=dynamic --enable-python3interp=dynamic --enable-rubyinterp=dynamic --enable-luainterp=dynamic --with-lua-prefix=/usr/local" |
20 | 24 |
|
21 | 25 | VIMCMD: src/MacVim/build/Release/MacVim.app/Contents/MacOS/Vim |
22 | 26 | MACVIM_BIN: src/MacVim/build/Release/MacVim.app/Contents/MacOS/MacVim |
23 | 27 |
|
24 | | - CONFOPT: "--with-features=huge --enable-netbeans --with-tlib=ncurses --enable-cscope --enable-gui=macvim --with-macarchs=x86_64" |
25 | | - LANGOPT: "--enable-perlinterp=dynamic --enable-pythoninterp=dynamic --enable-python3interp=dynamic --enable-rubyinterp=dynamic --enable-luainterp=dynamic --with-lua-prefix=/usr/local" |
26 | | - |
27 | 28 | HAS_GETTEXT: 1 |
28 | 29 |
|
29 | | - BASH_SILENCE_DEPRECATION_WARNING: 1 |
30 | 30 | TERM: xterm |
| 31 | + BASH_SILENCE_DEPRECATION_WARNING: 1 |
31 | 32 |
|
32 | 33 | jobs: |
33 | 34 |
|
34 | 35 | # Builds and test MacVim |
35 | 36 | build: |
36 | | - runs-on: macos-latest |
| 37 | + |
| 38 | + # Test on macOS 10.15 / 11.0, and also older version of Xcode for compatibility testing. |
| 39 | + strategy: |
| 40 | + fail-fast: false |
| 41 | + matrix: |
| 42 | + xcode: [''] |
| 43 | + os: [macos-10.15, macos-11.0] |
| 44 | + include: |
| 45 | + - os: macos-10.15 |
| 46 | + xcode: 11.7 |
| 47 | + - os: macos-10.15 |
| 48 | + xcode: '' |
| 49 | + publish: true |
| 50 | + |
| 51 | + runs-on: ${{ matrix.os }} |
| 52 | + |
| 53 | + env: |
| 54 | + XCODE_VER: ${{ matrix.xcode }} |
37 | 55 |
|
38 | 56 | steps: |
39 | 57 | - uses: actions/checkout@v2 |
@@ -89,6 +107,11 @@ jobs: |
89 | 107 | set -o errexit |
90 | 108 | set -o verbose |
91 | 109 |
|
| 110 | + if [[ -n "${XCODE_VER}" ]]; then |
| 111 | + sudo xcode-select -s /Applications/Xcode_${XCODE_VER}.app/Contents/Developer |
| 112 | + fi |
| 113 | + xcode-select -p |
| 114 | +
|
92 | 115 | ./configure ${CONFOPT} ${LANGOPT} --enable-fail-if-missing |
93 | 116 | sed -i.bak -f ci/config.mk.sed -f ci/config.mk.clang.sed src/auto/config.mk |
94 | 117 | # Ruby is keg-only in Homebrew, so need to manually link in the path so Vim will know where to look for the binaries. |
@@ -155,14 +178,14 @@ jobs: |
155 | 178 | # do it manually, for two reasons: 1) signing / notarization are currently done out of CI, 2) we want to manually |
156 | 179 | # format our release notes and add pictures to make them look nice. |
157 | 180 | - name: Build MacVim dmg image |
158 | | - if: startsWith(github.ref, 'refs/tags/') |
| 181 | + if: startsWith(github.ref, 'refs/tags/') && matrix.publish |
159 | 182 | run: | |
160 | 183 | # Use the --skip-jenkins flag to skip the prettify osascript calls which could fail due to permission issues in |
161 | 184 | # CI environment. |
162 | 185 | make -C src macvim-dmg CREATEDMG_FLAGS=--skip-jenkins |
163 | 186 |
|
164 | 187 | - name: Upload MacVim image |
165 | | - if: startsWith(github.ref, 'refs/tags/') |
| 188 | + if: startsWith(github.ref, 'refs/tags/') && matrix.publish |
166 | 189 | uses: actions/upload-artifact@v2 |
167 | 190 | with: |
168 | 191 | name: MacVim.dmg |
|
0 commit comments