Commit Graph

42 Commits

Author SHA1 Message Date
ichizok
f64c251300 CI: Use Xcode 13.0
Workaround for the configuration error on if_python
2021-11-26 18:26:56 +09:00
ichizok
8ffd874b61 CI: Suppress build warnings (errors)
Xcode 13 clang reports build errors by '-Wcompound-token-split-by-macro'
at compiling if_perl.
2021-10-21 17:08:25 +09:00
ichizok
5066f33ff6 Merge remote-tracking branch 'vim/master' 2021-09-05 18:39:35 +09:00
Bram Moolenaar
89a9c159f2 Update runtime files 2021-08-29 21:55:35 +02:00
ichizok
d5083f3ebd CI: Modify os name 2021-08-12 01:29:18 +09:00
ichizok
e9d414076d Merge remote-tracking branch 'vim/master' 2021-08-11 14:23:10 +09:00
James McCoy
eed9616120 patch 8.2.3319: Coverity action on github does not work
Problem:    Coverity action on github does not work.
Solution:   Remove undefined $SRCDIR. (James McCoy, closes #8739)
2021-08-09 13:20:38 +02:00
Bram Moolenaar
d57a6bd98c patch 8.2.3302: Coverity is not run from github
Problem:    Coverity is not run from github.
Solution:   Add a coverity script. (James McCoy, closes #8714)
2021-08-07 12:32:20 +02:00
Bram Moolenaar
53f7fccc94 Update runtime files 2021-07-28 20:10:16 +02:00
Christian Brabandt
ef7be8348f patch 8.2.3034: installing packages on github CI sometimes fails
Problem:    Installing packages on github CI sometimes fails.
Solution:   Update package information first. (Christian Brabandt,
            closes #8432)
2021-06-22 18:21:19 +02:00
Christian Brabandt
f573c6e1ed patch 8.2.3022: available encryption methods are not strong enough
Problem:    Available encryption methods are not strong enough.
Solution:   Add initial support for xchaha20. (Christian Brabandt,
            closes #8394)
2021-06-20 14:02:16 +02:00
ichizok
9a4fe3392a CI: Fix error at installing gettext 2021-05-14 19:56:36 +09:00
ichizok
40b8eed832 CI: Fix downloading gettext bottle for arm64 2021-05-14 01:08:29 +09:00
Bram Moolenaar
0fa09676c2 patch 8.2.2507: github build may fail if Ubuntu 20.04 is used
Problem:    Github build may fail if Ubuntu 20.04 is used.  Installing rust is
            not needed.
Solution:   Specify ubuntu-18.04 instead of latest. Update "pip" instead of
            installing rust. (Ozaki Kiichi, closes #7820)
2021-02-13 17:08:33 +01:00
Bram Moolenaar
ca753ec862 patch 8.2.2502: a few github actions are failing
Problem:    A few github actions are failing.
Solution:   Install setuptools-rust. (closes #7823)
2021-02-12 19:48:51 +01:00
ichizok
951868d9bd CI: Set LC_ALL=C on build
In order to avoid sed error at regenerating translation files.
2021-02-01 21:59:31 +09:00
ichizok
8c4e43c72d CI: Check Homebrew perl is installed before unlink 2021-01-17 10:31:27 +09:00
Bram Moolenaar
ed1e4c9a70 patch 8.2.2237: CI on Mac fails in sed command
Problem:    CI on Mac fails in sed command.
Solution:   Set LC_ALL to "C". (Ozaki Kiichi, closes #7565)
2020-12-28 15:46:47 +01:00
Bram Moolenaar
e5492609b3 patch 8.2.2192: Codecov on github actions fails
Problem:    Codecov on github actions fails.
Solution:   Revert to codecov script. (Ozaki Kiichi, closes #7529)
2020-12-22 19:05:33 +01:00
Yee Cheng Chin
9817aba7f3 Support for building universal x86 / Apple Silicon (arm64) app
This adds support for building MacVim as a fat binary (aka universal
app) for x86_64 / arm64 in CI.

The main challenge mostly lies in configuring the scripting language
default search paths for the libraries, and linking against gettext.
There are two possible approaches:
1. configure/build each arch completely separately, and then use `lipo`
   to stitch them back together. This is pretty annoying to set up, and
   kind of manual to do, and requires building the same thing twice,
   which is not great.
2. Build once with `--with-macarchs="x86_64 arm64` flag, which is what
   we do here.

gettext: Homebrew doesn't support fat binaries, and we also need to
build a custom x86 version of gettext to support down to macOS 10.9
anyway, so we manually download the bottle for arm64 gettext bottle, and
then stitch it with the x86 version to create a unified binary under
/usr/local/lib. This way we can just link against it in one go.

Scripting languages: Add new ifdef's to load different libs under
different architecture. Modify configure to support that (instead of
hacking a patch in during CI like Ruby). This means while on x86_64 it
will look under /usr/local/lib for Python 3, on arm64 it will look under
/opt/homebrew instead (this is the recommended path for Homebrew
installs for native arm64 packages). This new path is very specific to
Homebrew which is not ideal, but we could change this later and maybe
make the default search path logic for scripting languages smarter.

Note that since there is no arm64 in CI right now, this just builds the
app, but there will be no automatic testing to make sure it actually
works.

This is part of #1136.
2020-12-22 04:10:17 -08:00
Bram Moolenaar
9aff970204 patch 8.2.2175: github actions: clang-11 handling suboptimal
Problem:    Github actions: clang-11 handling suboptimal.
Solution:   Separate step of installing clang-11. Get ubuntu release name
            dynamically. (Ozaki Kiichi, closes #7514)
2020-12-21 13:37:28 +01:00
Yee Cheng Chin
65e4813e7e Use --with-compiledby configure flag for GitHub Actions CI
This makes `:version` output cleaner and that it's clear that CI built
the published app.
2020-12-19 17:49:45 -08:00
ichizok
5bf293e79e CI: Organize GitHub Actions 2020-12-19 22:07:06 +09:00
Yee Cheng Chin
3db996fa3c Add matrix testing to GitHub Actions CI
GitHub Actions runners choices are relatively limited, so do matrix
testing on the two OS versions they support, and Xcode 11 to test
compatibility with Catalina (10.15) SDKs.

Remove the standard Vim's CI file, to make it less confusing and to
prevent GitHub Actions from running it accidentally (the UI has the
ability to disable certain workflows but it seems a little buggy at
times).

Also fixed up how terminal Vim was linking against Carbon and Cocoa
which are unnecessary. It only needs AppKit for communicating between
MMBackend and the GUI.

Also switch to using clang to match what we had in Travis CI.
2020-12-19 03:00:15 -08:00
Yee Cheng Chin
b9058dda72 Fix MacVim GitHub Actions CI tests
Part of #1127
2020-12-18 20:19:07 -08:00
Yee Cheng Chin
7caffe5c20 Merge remote-tracking branch 'vim/master' 2020-12-18 19:38:57 -08:00
Yee Cheng Chin
5939c3e8f9 Add Github Actions CI for MacVim
This is the initial work to migrate to Github Actions from Travis CI for
MacVim CI (see #1127). Sets up a MacVim-specific workflow that builds
and test MacVim, and also publishes built artifacts for releases.

Some notest on implementation:

- Testing is currently disabled as it seems to be failing on a few
  tests.
- gettext is now custom built instead using the Homebrew version. The
  latest versions of the binary were built with later SDKs and would
  cause MacVim to not work in older macOS versions (10.13), see #1138.
  To fix this, we need to manually build gettext with min SDK set to
  10.9 (the current MacVim target) before we link it with MacVim. We do
  this by copying the brew formula and manually patch in the min SDK and
  then install from source.
- When publishing a build when a tag is pushed, simply have the workflow
  publish a dmg artifact, instead of pushing it to the release like
  Travis CI. Currently, releases are manual and requires offline
  signing/notarization steps that are out of CI, and also release notes
  formatting that also requires manual work. As such, there is no point
  in automating releases other than building a dmg that we can then
  sign and publish.

Features to add later:

- Test matrix. We should test on the available OS versions (currently
  10.15 and 11.0) and also different Xcode / macOS SDKs to try catch
  backwards compatibility issues.
- Enable testing once the tests are fixed.
2020-12-18 15:01:47 -08:00
Bram Moolenaar
6e562fcc07 patch 8.2.2158: CI on cirrus times out, coveralls doesn't always run
Problem:    CI on cirrus times out, coveralls doesn't always run.
Solution:   Set timeout to 20 minutes. Adjust condition. (closes #7493)
2020-12-18 16:29:25 +01:00
Bram Moolenaar
b5b77378bc patch 8.2.2156: Github actions run on pusing a tag
Problem:    Github actions run on pusing a tag.
Solution:   Don't run CI on tag push. Omit coveralls on pull-request.
            (Ozaki Kiichi, closes #7489)
2020-12-18 13:31:31 +01:00
Bram Moolenaar
18f69229c5 patch 8.2.2155: warning from Github actions for code analysis
Problem:    Warning from Github actions for code analysis.
Solution:   Remove the "git checkout HEAD^2" block.
2020-12-18 13:15:20 +01:00
Bram Moolenaar
8ea05de6aa patch 8.2.2150: Github actions CI isn't used for all available platforms
Problem:    Github actions CI isn't used for all available platforms.
Solution:   Update the github workflows. (Ozaki Kiichi, closes #7433)
2020-12-17 20:27:26 +01:00
Bram Moolenaar
5ee0981fb5 patch 8.2.2044: MS-Windows: swap file test sometimes fails
Problem:    MS-Windows: swap file test sometimes fails.
Solution:   Use a more reliable way to change the process ID. When "timeout"
            fails use "ping" to wait up to ten minutes. (Ken Takata,
            closes #7365)
2020-11-25 12:43:28 +01:00
Bram Moolenaar
15ab48f088 patch 8.2.1887: Github actions not optimally configured
Problem:    Github actions not optimally configured.
Solution:   Run CI on any pushed branches. Set fail-fast. (Ozaki Kiichi,
            closes #7184)
2020-10-22 17:33:17 +02:00
Bram Moolenaar
bd6428b9e7 patch 8.2.1829: warnings when executing Github actions
Problem:    Warnings when executing Github actions.
Solution:   Use another method to set environment variables. (Ken Takata,
            closes #7107)
2020-10-10 22:34:36 +02:00
Bram Moolenaar
fa79be6b10 patch 8.2.1784: commits are not scanned for security problems
Problem:    commits are not scanned for security problems
Solution:   Enable Github code scanning. (Christian Brabandt, closes #7057)
2020-10-02 10:29:45 +02:00
Bram Moolenaar
851d108313 patch 8.2.1735: Github actions appear to timeout too soon
Problem:    Github actions appear to timeout too soon.
Solution:   use "timeout" instead of "ping".
2020-09-23 22:27:22 +02:00
Bram Moolenaar
7d6979608e patch 8.2.1555: not all tests are executed on Github Actions
Problem:    Not all tests are executed on Github Actions.
Solution:   Copy "src" to "src2" earlier. Recognize "src2" in a couple more
            places.  Add two tests to the list of flaky tests. (Ken Takata,
            closes #6798)
2020-08-31 21:30:32 +02:00
Bram Moolenaar
b53da7918c patch 8.2.1334: Github workflow timeout needs tuning
Problem:    Github workflow timeout needs tuning
Solution:   Use a 10 minute timeout. Fail when timing out. (Ken Takata,
            closes #6590)
2020-08-01 12:26:04 +02:00
Bram Moolenaar
3a53ec8bdd patch 8.2.1330: Github workflow takes longer than needed
Problem:    Github workflow takes longer than needed.
Solution:   Do two test runs in parallel instead of sequentially. (Ken Takata,
            closes #6579)
2020-07-31 22:17:32 +02:00
Bram Moolenaar
7b7f78f51d patch 8.2.1321: GitHub CI also runs on tag push
Problem:    GitHub CI also runs on tag push.
Solution:   Skip CI on push. (Ken Takata, closes #6571)
2020-07-29 19:29:23 +02:00
Bram Moolenaar
ac7bf8c4bf patch 8.2.1319: status badge for Github CI has wrong link
Problem:    Status badge for Github CI has wrong link.
Solution:   Rename and use the right link
2020-07-29 17:43:55 +02:00
Bram Moolenaar
f9a343f8bd patch 8.2.1317: MS-Windows tests on AppVeyor are slow
Problem:    MS-Windows tests on AppVeyor are slow.
Solution:   Use GitHub Actions. (Ken Takata, closes #6569)
2020-07-29 16:32:21 +02:00