annotate .github/workflows/ci.yml @ 27795:b622a834ac9c

Added tag v8.2.4423 for changeset 77a95d7d56767f2f49bb8036c7d93634f3841356
author Bram Moolenaar <Bram@vim.org>
date Sat, 19 Feb 2022 17:15:03 +0100
parents ae09d11b8099
children 52a5f4a8eef5
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
23209
1984a3fcc953 patch 8.2.2150: Github actions CI isn't used for all available platforms
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
1 name: GitHub CI
1984a3fcc953 patch 8.2.2150: Github actions CI isn't used for all available platforms
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
2
23221
4046b3d17d60 patch 8.2.2156: Github actions run on pusing a tag
Bram Moolenaar <Bram@vim.org>
parents: 23209
diff changeset
3 on:
4046b3d17d60 patch 8.2.2156: Github actions run on pusing a tag
Bram Moolenaar <Bram@vim.org>
parents: 23209
diff changeset
4 push:
4046b3d17d60 patch 8.2.2156: Github actions run on pusing a tag
Bram Moolenaar <Bram@vim.org>
parents: 23209
diff changeset
5 branches: ['**']
4046b3d17d60 patch 8.2.2156: Github actions run on pusing a tag
Bram Moolenaar <Bram@vim.org>
parents: 23209
diff changeset
6 pull_request:
23209
1984a3fcc953 patch 8.2.2150: Github actions CI isn't used for all available platforms
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
7
26725
11383a35b497 patch 8.2.3891: github CI: workflows may overlap
Bram Moolenaar <Bram@vim.org>
parents: 26583
diff changeset
8 # Cancels all previous workflow runs for pull requests that have not completed.
11383a35b497 patch 8.2.3891: github CI: workflows may overlap
Bram Moolenaar <Bram@vim.org>
parents: 26583
diff changeset
9 concurrency:
11383a35b497 patch 8.2.3891: github CI: workflows may overlap
Bram Moolenaar <Bram@vim.org>
parents: 26583
diff changeset
10 # The concurrency group contains the workflow name and the branch name for
11383a35b497 patch 8.2.3891: github CI: workflows may overlap
Bram Moolenaar <Bram@vim.org>
parents: 26583
diff changeset
11 # pull requests or the commit hash for any other events.
11383a35b497 patch 8.2.3891: github CI: workflows may overlap
Bram Moolenaar <Bram@vim.org>
parents: 26583
diff changeset
12 group: ${{ github.workflow }}-${{ github.event_name == 'pull_request' && github.head_ref || github.sha }}
11383a35b497 patch 8.2.3891: github CI: workflows may overlap
Bram Moolenaar <Bram@vim.org>
parents: 26583
diff changeset
13 cancel-in-progress: true
11383a35b497 patch 8.2.3891: github CI: workflows may overlap
Bram Moolenaar <Bram@vim.org>
parents: 26583
diff changeset
14
23209
1984a3fcc953 patch 8.2.2150: Github actions CI isn't used for all available platforms
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
15 jobs:
1984a3fcc953 patch 8.2.2150: Github actions CI isn't used for all available platforms
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
16 linux:
23929
c0669a521a71 patch 8.2.2507: github build may fail if Ubuntu 20.04 is used
Bram Moolenaar <Bram@vim.org>
parents: 23919
diff changeset
17 runs-on: ubuntu-18.04
23209
1984a3fcc953 patch 8.2.2150: Github actions CI isn't used for all available platforms
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
18
1984a3fcc953 patch 8.2.2150: Github actions CI isn't used for all available platforms
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
19 env:
1984a3fcc953 patch 8.2.2150: Github actions CI isn't used for all available platforms
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
20 CC: ${{ matrix.compiler }}
1984a3fcc953 patch 8.2.2150: Github actions CI isn't used for all available platforms
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
21 TEST: test
1984a3fcc953 patch 8.2.2150: Github actions CI isn't used for all available platforms
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
22 SRCDIR: ./src
1984a3fcc953 patch 8.2.2150: Github actions CI isn't used for all available platforms
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
23 LEAK_CFLAGS: -DEXITFREE
1984a3fcc953 patch 8.2.2150: Github actions CI isn't used for all available platforms
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
24 LOG_DIR: ${{ github.workspace }}/logs
1984a3fcc953 patch 8.2.2150: Github actions CI isn't used for all available platforms
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
25 TERM: xterm
1984a3fcc953 patch 8.2.2150: Github actions CI isn't used for all available platforms
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
26 DISPLAY: ':99'
23258
262b38ddf72d patch 8.2.2175: github actions: clang-11 handling suboptimal
Bram Moolenaar <Bram@vim.org>
parents: 23225
diff changeset
27 DEBIAN_FRONTEND: noninteractive
23209
1984a3fcc953 patch 8.2.2150: Github actions CI isn't used for all available platforms
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
28
1984a3fcc953 patch 8.2.2150: Github actions CI isn't used for all available platforms
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
29 strategy:
1984a3fcc953 patch 8.2.2150: Github actions CI isn't used for all available platforms
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
30 fail-fast: false
1984a3fcc953 patch 8.2.2150: Github actions CI isn't used for all available platforms
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
31 matrix:
1984a3fcc953 patch 8.2.2150: Github actions CI isn't used for all available platforms
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
32 features: [tiny, small, normal, huge]
1984a3fcc953 patch 8.2.2150: Github actions CI isn't used for all available platforms
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
33 compiler: [clang, gcc]
1984a3fcc953 patch 8.2.2150: Github actions CI isn't used for all available platforms
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
34 extra: [none]
1984a3fcc953 patch 8.2.2150: Github actions CI isn't used for all available platforms
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
35 include:
1984a3fcc953 patch 8.2.2150: Github actions CI isn't used for all available platforms
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
36 - features: tiny
1984a3fcc953 patch 8.2.2150: Github actions CI isn't used for all available platforms
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
37 compiler: clang
1984a3fcc953 patch 8.2.2150: Github actions CI isn't used for all available platforms
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
38 extra: nogui
1984a3fcc953 patch 8.2.2150: Github actions CI isn't used for all available platforms
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
39 - features: tiny
1984a3fcc953 patch 8.2.2150: Github actions CI isn't used for all available platforms
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
40 compiler: gcc
1984a3fcc953 patch 8.2.2150: Github actions CI isn't used for all available platforms
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
41 extra: nogui
1984a3fcc953 patch 8.2.2150: Github actions CI isn't used for all available platforms
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
42 - features: normal
1984a3fcc953 patch 8.2.2150: Github actions CI isn't used for all available platforms
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
43 shadow: ./src/shadow
1984a3fcc953 patch 8.2.2150: Github actions CI isn't used for all available platforms
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
44 - features: huge
1984a3fcc953 patch 8.2.2150: Github actions CI isn't used for all available platforms
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
45 coverage: true
1984a3fcc953 patch 8.2.2150: Github actions CI isn't used for all available platforms
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
46 - features: huge
1984a3fcc953 patch 8.2.2150: Github actions CI isn't used for all available platforms
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
47 compiler: gcc
1984a3fcc953 patch 8.2.2150: Github actions CI isn't used for all available platforms
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
48 coverage: true
1984a3fcc953 patch 8.2.2150: Github actions CI isn't used for all available platforms
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
49 extra: testgui
25895
8e9864b98846 patch 8.2.3481: failures when char is unsigned
Bram Moolenaar <Bram@vim.org>
parents: 25830
diff changeset
50 uchar: true
23209
1984a3fcc953 patch 8.2.2150: Github actions CI isn't used for all available platforms
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
51 - features: huge
1984a3fcc953 patch 8.2.2150: Github actions CI isn't used for all available platforms
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
52 compiler: clang
1984a3fcc953 patch 8.2.2150: Github actions CI isn't used for all available platforms
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
53 extra: asan
1984a3fcc953 patch 8.2.2150: Github actions CI isn't used for all available platforms
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
54 - features: huge
1984a3fcc953 patch 8.2.2150: Github actions CI isn't used for all available platforms
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
55 compiler: gcc
1984a3fcc953 patch 8.2.2150: Github actions CI isn't used for all available platforms
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
56 coverage: true
1984a3fcc953 patch 8.2.2150: Github actions CI isn't used for all available platforms
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
57 extra: unittests
1984a3fcc953 patch 8.2.2150: Github actions CI isn't used for all available platforms
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
58 - features: normal
1984a3fcc953 patch 8.2.2150: Github actions CI isn't used for all available platforms
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
59 compiler: gcc
1984a3fcc953 patch 8.2.2150: Github actions CI isn't used for all available platforms
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
60 extra: vimtags
1984a3fcc953 patch 8.2.2150: Github actions CI isn't used for all available platforms
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
61
1984a3fcc953 patch 8.2.2150: Github actions CI isn't used for all available platforms
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
62 steps:
1984a3fcc953 patch 8.2.2150: Github actions CI isn't used for all available platforms
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
63 - uses: actions/checkout@v2
1984a3fcc953 patch 8.2.2150: Github actions CI isn't used for all available platforms
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
64
1984a3fcc953 patch 8.2.2150: Github actions CI isn't used for all available platforms
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
65 - name: Install packages
1984a3fcc953 patch 8.2.2150: Github actions CI isn't used for all available platforms
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
66 run: |
27134
1ea88ee85a7a patch 8.2.4096: Linux CI: unnecessarily installing packages
Bram Moolenaar <Bram@vim.org>
parents: 27126
diff changeset
67 PKGS=( \
23209
1984a3fcc953 patch 8.2.2150: Github actions CI isn't used for all available platforms
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
68 gettext \
1984a3fcc953 patch 8.2.2150: Github actions CI isn't used for all available platforms
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
69 libgtk2.0-dev \
1984a3fcc953 patch 8.2.2150: Github actions CI isn't used for all available platforms
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
70 desktop-file-utils \
24970
7e9e53a0368f patch 8.2.3022: available encryption methods are not strong enough
Bram Moolenaar <Bram@vim.org>
parents: 23929
diff changeset
71 libtool-bin \
27134
1ea88ee85a7a patch 8.2.4096: Linux CI: unnecessarily installing packages
Bram Moolenaar <Bram@vim.org>
parents: 27126
diff changeset
72 )
1ea88ee85a7a patch 8.2.4096: Linux CI: unnecessarily installing packages
Bram Moolenaar <Bram@vim.org>
parents: 27126
diff changeset
73 if ${{ matrix.features == 'huge' }}; then
1ea88ee85a7a patch 8.2.4096: Linux CI: unnecessarily installing packages
Bram Moolenaar <Bram@vim.org>
parents: 27126
diff changeset
74 PKGS+=( \
1ea88ee85a7a patch 8.2.4096: Linux CI: unnecessarily installing packages
Bram Moolenaar <Bram@vim.org>
parents: 27126
diff changeset
75 autoconf \
1ea88ee85a7a patch 8.2.4096: Linux CI: unnecessarily installing packages
Bram Moolenaar <Bram@vim.org>
parents: 27126
diff changeset
76 lcov \
1ea88ee85a7a patch 8.2.4096: Linux CI: unnecessarily installing packages
Bram Moolenaar <Bram@vim.org>
parents: 27126
diff changeset
77 libcanberra-dev \
1ea88ee85a7a patch 8.2.4096: Linux CI: unnecessarily installing packages
Bram Moolenaar <Bram@vim.org>
parents: 27126
diff changeset
78 libperl-dev \
1ea88ee85a7a patch 8.2.4096: Linux CI: unnecessarily installing packages
Bram Moolenaar <Bram@vim.org>
parents: 27126
diff changeset
79 python-dev \
1ea88ee85a7a patch 8.2.4096: Linux CI: unnecessarily installing packages
Bram Moolenaar <Bram@vim.org>
parents: 27126
diff changeset
80 python3-dev \
1ea88ee85a7a patch 8.2.4096: Linux CI: unnecessarily installing packages
Bram Moolenaar <Bram@vim.org>
parents: 27126
diff changeset
81 liblua5.3-dev \
1ea88ee85a7a patch 8.2.4096: Linux CI: unnecessarily installing packages
Bram Moolenaar <Bram@vim.org>
parents: 27126
diff changeset
82 lua5.3 \
1ea88ee85a7a patch 8.2.4096: Linux CI: unnecessarily installing packages
Bram Moolenaar <Bram@vim.org>
parents: 27126
diff changeset
83 ruby-dev \
1ea88ee85a7a patch 8.2.4096: Linux CI: unnecessarily installing packages
Bram Moolenaar <Bram@vim.org>
parents: 27126
diff changeset
84 tcl-dev \
1ea88ee85a7a patch 8.2.4096: Linux CI: unnecessarily installing packages
Bram Moolenaar <Bram@vim.org>
parents: 27126
diff changeset
85 cscope \
1ea88ee85a7a patch 8.2.4096: Linux CI: unnecessarily installing packages
Bram Moolenaar <Bram@vim.org>
parents: 27126
diff changeset
86 libsodium-dev \
1ea88ee85a7a patch 8.2.4096: Linux CI: unnecessarily installing packages
Bram Moolenaar <Bram@vim.org>
parents: 27126
diff changeset
87 )
1ea88ee85a7a patch 8.2.4096: Linux CI: unnecessarily installing packages
Bram Moolenaar <Bram@vim.org>
parents: 27126
diff changeset
88 fi
1ea88ee85a7a patch 8.2.4096: Linux CI: unnecessarily installing packages
Bram Moolenaar <Bram@vim.org>
parents: 27126
diff changeset
89 sudo apt update && sudo apt install -y "${PKGS[@]}"
23258
262b38ddf72d patch 8.2.2175: github actions: clang-11 handling suboptimal
Bram Moolenaar <Bram@vim.org>
parents: 23225
diff changeset
90
26480
cf986610be6a patch 8.2.3770: new compiler warnings from clang-12 and clang-13
Bram Moolenaar <Bram@vim.org>
parents: 25933
diff changeset
91 - name: Install clang-13
23258
262b38ddf72d patch 8.2.2175: github actions: clang-11 handling suboptimal
Bram Moolenaar <Bram@vim.org>
parents: 23225
diff changeset
92 if: matrix.compiler == 'clang'
262b38ddf72d patch 8.2.2175: github actions: clang-11 handling suboptimal
Bram Moolenaar <Bram@vim.org>
parents: 23225
diff changeset
93 run: |
262b38ddf72d patch 8.2.2175: github actions: clang-11 handling suboptimal
Bram Moolenaar <Bram@vim.org>
parents: 23225
diff changeset
94 wget -O - https://apt.llvm.org/llvm-snapshot.gpg.key | sudo apt-key add -
262b38ddf72d patch 8.2.2175: github actions: clang-11 handling suboptimal
Bram Moolenaar <Bram@vim.org>
parents: 23225
diff changeset
95 . /etc/lsb-release
26480
cf986610be6a patch 8.2.3770: new compiler warnings from clang-12 and clang-13
Bram Moolenaar <Bram@vim.org>
parents: 25933
diff changeset
96 sudo add-apt-repository -y "deb http://apt.llvm.org/${DISTRIB_CODENAME}/ llvm-toolchain-${DISTRIB_CODENAME}-13 main"
cf986610be6a patch 8.2.3770: new compiler warnings from clang-12 and clang-13
Bram Moolenaar <Bram@vim.org>
parents: 25933
diff changeset
97 sudo apt-get install -y clang-13 llvm-13
cf986610be6a patch 8.2.3770: new compiler warnings from clang-12 and clang-13
Bram Moolenaar <Bram@vim.org>
parents: 25933
diff changeset
98 sudo update-alternatives --install /usr/bin/clang clang /usr/bin/clang-13 100
cf986610be6a patch 8.2.3770: new compiler warnings from clang-12 and clang-13
Bram Moolenaar <Bram@vim.org>
parents: 25933
diff changeset
99 sudo update-alternatives --set clang /usr/bin/clang-13
cf986610be6a patch 8.2.3770: new compiler warnings from clang-12 and clang-13
Bram Moolenaar <Bram@vim.org>
parents: 25933
diff changeset
100 sudo update-alternatives --install /usr/bin/llvm-cov llvm-cov /usr/bin/llvm-cov-13 100
27065
f1f47818f16e patch 8.2.4061: codecov bash script is deprecated
Bram Moolenaar <Bram@vim.org>
parents: 26725
diff changeset
101 sudo update-alternatives --install /usr/bin/asan_symbolize asan_symbolize /usr/bin/asan_symbolize-13 100
23209
1984a3fcc953 patch 8.2.2150: Github actions CI isn't used for all available platforms
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
102
1984a3fcc953 patch 8.2.2150: Github actions CI isn't used for all available platforms
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
103 - name: Set up environment
1984a3fcc953 patch 8.2.2150: Github actions CI isn't used for all available platforms
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
104 run: |
1984a3fcc953 patch 8.2.2150: Github actions CI isn't used for all available platforms
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
105 mkdir -p "${LOG_DIR}"
1984a3fcc953 patch 8.2.2150: Github actions CI isn't used for all available platforms
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
106 mkdir -p "${HOME}/bin"
1984a3fcc953 patch 8.2.2150: Github actions CI isn't used for all available platforms
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
107 echo "${HOME}/bin" >> $GITHUB_PATH
1984a3fcc953 patch 8.2.2150: Github actions CI isn't used for all available platforms
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
108 (
1984a3fcc953 patch 8.2.2150: Github actions CI isn't used for all available platforms
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
109 echo "LINUX_VERSION=$(uname -r)"
1984a3fcc953 patch 8.2.2150: Github actions CI isn't used for all available platforms
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
110 echo "NPROC=$(getconf _NPROCESSORS_ONLN)"
1984a3fcc953 patch 8.2.2150: Github actions CI isn't used for all available platforms
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
111 echo "SND_DUMMY_DIR=${HOME}/snd-dummy"
1984a3fcc953 patch 8.2.2150: Github actions CI isn't used for all available platforms
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
112 echo "TMPDIR=${{ runner.temp }}"
1984a3fcc953 patch 8.2.2150: Github actions CI isn't used for all available platforms
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
113
1984a3fcc953 patch 8.2.2150: Github actions CI isn't used for all available platforms
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
114 case "${{ matrix.features }}" in
1984a3fcc953 patch 8.2.2150: Github actions CI isn't used for all available platforms
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
115 tiny|small)
1984a3fcc953 patch 8.2.2150: Github actions CI isn't used for all available platforms
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
116 echo "TEST=testtiny"
1984a3fcc953 patch 8.2.2150: Github actions CI isn't used for all available platforms
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
117 if ${{ contains(matrix.extra, 'nogui') }}; then
1984a3fcc953 patch 8.2.2150: Github actions CI isn't used for all available platforms
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
118 echo "CONFOPT=--disable-gui"
1984a3fcc953 patch 8.2.2150: Github actions CI isn't used for all available platforms
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
119 fi
1984a3fcc953 patch 8.2.2150: Github actions CI isn't used for all available platforms
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
120 ;;
1984a3fcc953 patch 8.2.2150: Github actions CI isn't used for all available platforms
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
121 normal)
1984a3fcc953 patch 8.2.2150: Github actions CI isn't used for all available platforms
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
122 ;;
1984a3fcc953 patch 8.2.2150: Github actions CI isn't used for all available platforms
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
123 huge)
1984a3fcc953 patch 8.2.2150: Github actions CI isn't used for all available platforms
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
124 echo "TEST=scripttests test_libvterm"
1984a3fcc953 patch 8.2.2150: Github actions CI isn't used for all available platforms
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
125 echo "CONFOPT=--enable-perlinterp --enable-pythoninterp --enable-python3interp --enable-rubyinterp --enable-luainterp --enable-tclinterp"
1984a3fcc953 patch 8.2.2150: Github actions CI isn't used for all available platforms
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
126 ;;
1984a3fcc953 patch 8.2.2150: Github actions CI isn't used for all available platforms
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
127 esac
1984a3fcc953 patch 8.2.2150: Github actions CI isn't used for all available platforms
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
128
1984a3fcc953 patch 8.2.2150: Github actions CI isn't used for all available platforms
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
129 if ${{ matrix.coverage == true }}; then
25895
8e9864b98846 patch 8.2.3481: failures when char is unsigned
Bram Moolenaar <Bram@vim.org>
parents: 25830
diff changeset
130 CFLAGS="$CFLAGS --coverage -DUSE_GCOV_FLUSH"
23209
1984a3fcc953 patch 8.2.2150: Github actions CI isn't used for all available platforms
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
131 echo "LDFLAGS=--coverage"
1984a3fcc953 patch 8.2.2150: Github actions CI isn't used for all available platforms
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
132 fi
25895
8e9864b98846 patch 8.2.3481: failures when char is unsigned
Bram Moolenaar <Bram@vim.org>
parents: 25830
diff changeset
133 if ${{ matrix.uchar == true }}; then
8e9864b98846 patch 8.2.3481: failures when char is unsigned
Bram Moolenaar <Bram@vim.org>
parents: 25830
diff changeset
134 CFLAGS="$CFLAGS -funsigned-char"
8e9864b98846 patch 8.2.3481: failures when char is unsigned
Bram Moolenaar <Bram@vim.org>
parents: 25830
diff changeset
135 fi
23209
1984a3fcc953 patch 8.2.2150: Github actions CI isn't used for all available platforms
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
136 if ${{ contains(matrix.extra, 'testgui') }}; then
1984a3fcc953 patch 8.2.2150: Github actions CI isn't used for all available platforms
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
137 echo "TEST=-C src testgui"
1984a3fcc953 patch 8.2.2150: Github actions CI isn't used for all available platforms
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
138 fi
1984a3fcc953 patch 8.2.2150: Github actions CI isn't used for all available platforms
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
139 if ${{ contains(matrix.extra, 'unittests') }}; then
1984a3fcc953 patch 8.2.2150: Github actions CI isn't used for all available platforms
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
140 echo "TEST=unittests"
1984a3fcc953 patch 8.2.2150: Github actions CI isn't used for all available platforms
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
141 fi
1984a3fcc953 patch 8.2.2150: Github actions CI isn't used for all available platforms
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
142 if ${{ contains(matrix.extra, 'asan') }}; then
1984a3fcc953 patch 8.2.2150: Github actions CI isn't used for all available platforms
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
143 echo "SANITIZER_CFLAGS=-g -O1 -DABORT_ON_INTERNAL_ERROR -DEXITFREE -fsanitize-recover=all -fsanitize=address -fsanitize=undefined -fno-omit-frame-pointer"
1984a3fcc953 patch 8.2.2150: Github actions CI isn't used for all available platforms
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
144 echo "ASAN_OPTIONS=print_stacktrace=1 log_path=${LOG_DIR}/asan"
1984a3fcc953 patch 8.2.2150: Github actions CI isn't used for all available platforms
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
145 echo "UBSAN_OPTIONS=print_stacktrace=1 log_path=${LOG_DIR}/ubsan"
1984a3fcc953 patch 8.2.2150: Github actions CI isn't used for all available platforms
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
146 echo "LSAN_OPTIONS=suppressions=${GITHUB_WORKSPACE}/src/testdir/lsan-suppress.txt"
1984a3fcc953 patch 8.2.2150: Github actions CI isn't used for all available platforms
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
147 fi
1984a3fcc953 patch 8.2.2150: Github actions CI isn't used for all available platforms
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
148 if ${{ contains(matrix.extra, 'vimtags') }}; then
1984a3fcc953 patch 8.2.2150: Github actions CI isn't used for all available platforms
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
149 echo "TEST=-C runtime/doc vimtags VIMEXE=../../${SRCDIR}/vim"
1984a3fcc953 patch 8.2.2150: Github actions CI isn't used for all available platforms
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
150 fi
25895
8e9864b98846 patch 8.2.3481: failures when char is unsigned
Bram Moolenaar <Bram@vim.org>
parents: 25830
diff changeset
151 echo "CFLAGS=$CFLAGS"
23209
1984a3fcc953 patch 8.2.2150: Github actions CI isn't used for all available platforms
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
152 ) >> $GITHUB_ENV
1984a3fcc953 patch 8.2.2150: Github actions CI isn't used for all available platforms
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
153
1984a3fcc953 patch 8.2.2150: Github actions CI isn't used for all available platforms
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
154 - name: Set up system
1984a3fcc953 patch 8.2.2150: Github actions CI isn't used for all available platforms
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
155 run: |
1984a3fcc953 patch 8.2.2150: Github actions CI isn't used for all available platforms
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
156 if [[ ${CC} = clang ]]; then
1984a3fcc953 patch 8.2.2150: Github actions CI isn't used for all available platforms
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
157 # Use llvm-cov instead of gcov when compiler is clang.
1984a3fcc953 patch 8.2.2150: Github actions CI isn't used for all available platforms
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
158 ln -fs /usr/bin/llvm-cov ${HOME}/bin/gcov
1984a3fcc953 patch 8.2.2150: Github actions CI isn't used for all available platforms
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
159 fi
1984a3fcc953 patch 8.2.2150: Github actions CI isn't used for all available platforms
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
160 # Setup lua5.3 manually since its package doesn't provide alternative.
1984a3fcc953 patch 8.2.2150: Github actions CI isn't used for all available platforms
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
161 # https://bugs.launchpad.net/ubuntu/+source/lua5.3/+bug/1707212
1984a3fcc953 patch 8.2.2150: Github actions CI isn't used for all available platforms
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
162 if [[ ${CONFOPT} =~ luainterp ]]; then
1984a3fcc953 patch 8.2.2150: Github actions CI isn't used for all available platforms
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
163 sudo update-alternatives --install /usr/bin/lua lua /usr/bin/lua5.3 10
1984a3fcc953 patch 8.2.2150: Github actions CI isn't used for all available platforms
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
164 fi
1984a3fcc953 patch 8.2.2150: Github actions CI isn't used for all available platforms
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
165 sudo sysctl -w net.ipv6.conf.lo.disable_ipv6=0
1984a3fcc953 patch 8.2.2150: Github actions CI isn't used for all available platforms
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
166 sudo usermod -a -G audio "${USER}"
1984a3fcc953 patch 8.2.2150: Github actions CI isn't used for all available platforms
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
167 sudo bash ci/setup-xvfb.sh
1984a3fcc953 patch 8.2.2150: Github actions CI isn't used for all available platforms
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
168
1984a3fcc953 patch 8.2.2150: Github actions CI isn't used for all available platforms
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
169 - name: Cache snd-dummy
1984a3fcc953 patch 8.2.2150: Github actions CI isn't used for all available platforms
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
170 uses: actions/cache@v2
1984a3fcc953 patch 8.2.2150: Github actions CI isn't used for all available platforms
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
171 with:
1984a3fcc953 patch 8.2.2150: Github actions CI isn't used for all available platforms
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
172 path: ${{ env.SND_DUMMY_DIR }}
1984a3fcc953 patch 8.2.2150: Github actions CI isn't used for all available platforms
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
173 key: linux-${{ env.LINUX_VERSION }}-snd-dummy
1984a3fcc953 patch 8.2.2150: Github actions CI isn't used for all available platforms
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
174
1984a3fcc953 patch 8.2.2150: Github actions CI isn't used for all available platforms
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
175 - name: Set up snd-dummy
1984a3fcc953 patch 8.2.2150: Github actions CI isn't used for all available platforms
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
176 run: |
1984a3fcc953 patch 8.2.2150: Github actions CI isn't used for all available platforms
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
177 if [[ ! -e ${SND_DUMMY_DIR}/snd-dummy.ko ]]; then
1984a3fcc953 patch 8.2.2150: Github actions CI isn't used for all available platforms
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
178 bash ci/build-snd-dummy.sh
1984a3fcc953 patch 8.2.2150: Github actions CI isn't used for all available platforms
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
179 fi
1984a3fcc953 patch 8.2.2150: Github actions CI isn't used for all available platforms
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
180 cd "${SND_DUMMY_DIR}"
1984a3fcc953 patch 8.2.2150: Github actions CI isn't used for all available platforms
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
181 sudo insmod soundcore.ko
1984a3fcc953 patch 8.2.2150: Github actions CI isn't used for all available platforms
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
182 sudo insmod snd.ko
1984a3fcc953 patch 8.2.2150: Github actions CI isn't used for all available platforms
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
183 sudo insmod snd-pcm.ko
1984a3fcc953 patch 8.2.2150: Github actions CI isn't used for all available platforms
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
184 sudo insmod snd-dummy.ko
1984a3fcc953 patch 8.2.2150: Github actions CI isn't used for all available platforms
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
185
1984a3fcc953 patch 8.2.2150: Github actions CI isn't used for all available platforms
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
186 - name: Check autoconf
1984a3fcc953 patch 8.2.2150: Github actions CI isn't used for all available platforms
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
187 if: contains(matrix.extra, 'unittests')
1984a3fcc953 patch 8.2.2150: Github actions CI isn't used for all available platforms
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
188 run: |
1984a3fcc953 patch 8.2.2150: Github actions CI isn't used for all available platforms
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
189 make -C src autoconf
1984a3fcc953 patch 8.2.2150: Github actions CI isn't used for all available platforms
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
190
1984a3fcc953 patch 8.2.2150: Github actions CI isn't used for all available platforms
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
191 - name: Set up shadow dir
1984a3fcc953 patch 8.2.2150: Github actions CI isn't used for all available platforms
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
192 if: matrix.shadow
1984a3fcc953 patch 8.2.2150: Github actions CI isn't used for all available platforms
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
193 run: |
1984a3fcc953 patch 8.2.2150: Github actions CI isn't used for all available platforms
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
194 make -C src shadow
1984a3fcc953 patch 8.2.2150: Github actions CI isn't used for all available platforms
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
195 echo "SRCDIR=${{ matrix.shadow }}" >> $GITHUB_ENV
1984a3fcc953 patch 8.2.2150: Github actions CI isn't used for all available platforms
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
196 echo "SHADOWOPT=-C ${{ matrix.shadow }}" >> $GITHUB_ENV
1984a3fcc953 patch 8.2.2150: Github actions CI isn't used for all available platforms
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
197
1984a3fcc953 patch 8.2.2150: Github actions CI isn't used for all available platforms
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
198 - name: Configure
1984a3fcc953 patch 8.2.2150: Github actions CI isn't used for all available platforms
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
199 run: |
1984a3fcc953 patch 8.2.2150: Github actions CI isn't used for all available platforms
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
200 ./configure --with-features=${{ matrix.features }} ${CONFOPT} --enable-fail-if-missing
1984a3fcc953 patch 8.2.2150: Github actions CI isn't used for all available platforms
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
201 # Append various warning flags to CFLAGS.
23258
262b38ddf72d patch 8.2.2175: github actions: clang-11 handling suboptimal
Bram Moolenaar <Bram@vim.org>
parents: 23225
diff changeset
202 sed -i -f ci/config.mk.sed ${SRCDIR}/auto/config.mk
262b38ddf72d patch 8.2.2175: github actions: clang-11 handling suboptimal
Bram Moolenaar <Bram@vim.org>
parents: 23225
diff changeset
203 sed -i -f ci/config.mk.${CC}.sed ${SRCDIR}/auto/config.mk
26480
cf986610be6a patch 8.2.3770: new compiler warnings from clang-12 and clang-13
Bram Moolenaar <Bram@vim.org>
parents: 25933
diff changeset
204 if [[ ${CC} = clang ]]; then
cf986610be6a patch 8.2.3770: new compiler warnings from clang-12 and clang-13
Bram Moolenaar <Bram@vim.org>
parents: 25933
diff changeset
205 # Suppress some warnings produced by clang 12 and later.
cf986610be6a patch 8.2.3770: new compiler warnings from clang-12 and clang-13
Bram Moolenaar <Bram@vim.org>
parents: 25933
diff changeset
206 sed -i -f ci/config.mk.clang-12.sed ${SRCDIR}/auto/config.mk
cf986610be6a patch 8.2.3770: new compiler warnings from clang-12 and clang-13
Bram Moolenaar <Bram@vim.org>
parents: 25933
diff changeset
207 fi
23209
1984a3fcc953 patch 8.2.2150: Github actions CI isn't used for all available platforms
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
208
1984a3fcc953 patch 8.2.2150: Github actions CI isn't used for all available platforms
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
209 - name: Build
1984a3fcc953 patch 8.2.2150: Github actions CI isn't used for all available platforms
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
210 if: (!contains(matrix.extra, 'unittests'))
1984a3fcc953 patch 8.2.2150: Github actions CI isn't used for all available platforms
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
211 run: |
1984a3fcc953 patch 8.2.2150: Github actions CI isn't used for all available platforms
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
212 make ${SHADOWOPT} -j${NPROC}
1984a3fcc953 patch 8.2.2150: Github actions CI isn't used for all available platforms
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
213
1984a3fcc953 patch 8.2.2150: Github actions CI isn't used for all available platforms
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
214 - name: Check version
1984a3fcc953 patch 8.2.2150: Github actions CI isn't used for all available platforms
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
215 if: (!contains(matrix.extra, 'unittests'))
1984a3fcc953 patch 8.2.2150: Github actions CI isn't used for all available platforms
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
216 run: |
1984a3fcc953 patch 8.2.2150: Github actions CI isn't used for all available platforms
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
217 "${SRCDIR}"/vim --version
1984a3fcc953 patch 8.2.2150: Github actions CI isn't used for all available platforms
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
218 "${SRCDIR}"/vim -u NONE -i NONE --not-a-term -esNX -V1 -S ci/if_ver-1.vim -c quit
1984a3fcc953 patch 8.2.2150: Github actions CI isn't used for all available platforms
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
219 "${SRCDIR}"/vim -u NONE -i NONE --not-a-term -esNX -V1 -S ci/if_ver-2.vim -c quit
1984a3fcc953 patch 8.2.2150: Github actions CI isn't used for all available platforms
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
220
1984a3fcc953 patch 8.2.2150: Github actions CI isn't used for all available platforms
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
221 - name: Test
1984a3fcc953 patch 8.2.2150: Github actions CI isn't used for all available platforms
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
222 timeout-minutes: 20
1984a3fcc953 patch 8.2.2150: Github actions CI isn't used for all available platforms
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
223 run: |
1984a3fcc953 patch 8.2.2150: Github actions CI isn't used for all available platforms
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
224 do_test() { sg audio "sg $(id -gn) '$*'"; }
1984a3fcc953 patch 8.2.2150: Github actions CI isn't used for all available platforms
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
225 do_test make ${SHADOWOPT} ${TEST}
1984a3fcc953 patch 8.2.2150: Github actions CI isn't used for all available platforms
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
226
27065
f1f47818f16e patch 8.2.4061: codecov bash script is deprecated
Bram Moolenaar <Bram@vim.org>
parents: 26725
diff changeset
227 # - name: Coveralls
27651
7765b0447add patch 8.2.4351: no coverage is measured on MS-Windows CI
Bram Moolenaar <Bram@vim.org>
parents: 27632
diff changeset
228 # if: matrix.coverage && github.event_name != 'pull_request'
27065
f1f47818f16e patch 8.2.4061: codecov bash script is deprecated
Bram Moolenaar <Bram@vim.org>
parents: 26725
diff changeset
229 # env:
f1f47818f16e patch 8.2.4061: codecov bash script is deprecated
Bram Moolenaar <Bram@vim.org>
parents: 26725
diff changeset
230 # COVERALLS_REPO_TOKEN: ${{ secrets.COVERALLS_REPO_TOKEN }}
f1f47818f16e patch 8.2.4061: codecov bash script is deprecated
Bram Moolenaar <Bram@vim.org>
parents: 26725
diff changeset
231 # COVERALLS_PARALLEL: true
f1f47818f16e patch 8.2.4061: codecov bash script is deprecated
Bram Moolenaar <Bram@vim.org>
parents: 26725
diff changeset
232 # TRAVIS_JOB_ID: ${{ github.run_id }}
f1f47818f16e patch 8.2.4061: codecov bash script is deprecated
Bram Moolenaar <Bram@vim.org>
parents: 26725
diff changeset
233 # run: |
f1f47818f16e patch 8.2.4061: codecov bash script is deprecated
Bram Moolenaar <Bram@vim.org>
parents: 26725
diff changeset
234 # sudo apt-get install -y python3-setuptools python3-wheel
f1f47818f16e patch 8.2.4061: codecov bash script is deprecated
Bram Moolenaar <Bram@vim.org>
parents: 26725
diff changeset
235 # sudo -H pip3 install pip -U
f1f47818f16e patch 8.2.4061: codecov bash script is deprecated
Bram Moolenaar <Bram@vim.org>
parents: 26725
diff changeset
236 # # needed for https support for coveralls building cffi only works with gcc, not with clang
f1f47818f16e patch 8.2.4061: codecov bash script is deprecated
Bram Moolenaar <Bram@vim.org>
parents: 26725
diff changeset
237 # CC=gcc pip3 install --user cpp-coveralls pyopenssl ndg-httpsclient pyasn1
f1f47818f16e patch 8.2.4061: codecov bash script is deprecated
Bram Moolenaar <Bram@vim.org>
parents: 26725
diff changeset
238 # ~/.local/bin/coveralls -b "${SRCDIR}" -x .xs -e "${SRCDIR}"/if_perl.c -e "${SRCDIR}"/xxd -e "${SRCDIR}"/libvterm --encodings utf-8
f1f47818f16e patch 8.2.4061: codecov bash script is deprecated
Bram Moolenaar <Bram@vim.org>
parents: 26725
diff changeset
239
f1f47818f16e patch 8.2.4061: codecov bash script is deprecated
Bram Moolenaar <Bram@vim.org>
parents: 26725
diff changeset
240 - name: Generate gcov files
27651
7765b0447add patch 8.2.4351: no coverage is measured on MS-Windows CI
Bram Moolenaar <Bram@vim.org>
parents: 27632
diff changeset
241 if: matrix.coverage
27065
f1f47818f16e patch 8.2.4061: codecov bash script is deprecated
Bram Moolenaar <Bram@vim.org>
parents: 26725
diff changeset
242 run: |
f1f47818f16e patch 8.2.4061: codecov bash script is deprecated
Bram Moolenaar <Bram@vim.org>
parents: 26725
diff changeset
243 cd "${SRCDIR}"
f1f47818f16e patch 8.2.4061: codecov bash script is deprecated
Bram Moolenaar <Bram@vim.org>
parents: 26725
diff changeset
244 find . -type f -name '*.gcno' -exec gcov -pb {} + || true
23209
1984a3fcc953 patch 8.2.2150: Github actions CI isn't used for all available platforms
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
245
1984a3fcc953 patch 8.2.2150: Github actions CI isn't used for all available platforms
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
246 - name: Codecov
27651
7765b0447add patch 8.2.4351: no coverage is measured on MS-Windows CI
Bram Moolenaar <Bram@vim.org>
parents: 27632
diff changeset
247 if: matrix.coverage
27065
f1f47818f16e patch 8.2.4061: codecov bash script is deprecated
Bram Moolenaar <Bram@vim.org>
parents: 26725
diff changeset
248 uses: codecov/codecov-action@v2
f1f47818f16e patch 8.2.4061: codecov bash script is deprecated
Bram Moolenaar <Bram@vim.org>
parents: 26725
diff changeset
249 with:
27651
7765b0447add patch 8.2.4351: no coverage is measured on MS-Windows CI
Bram Moolenaar <Bram@vim.org>
parents: 27632
diff changeset
250 flags: linux,${{ matrix.features }}-${{ matrix.compiler }}-${{ matrix.extra }}
23209
1984a3fcc953 patch 8.2.2150: Github actions CI isn't used for all available platforms
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
251
1984a3fcc953 patch 8.2.2150: Github actions CI isn't used for all available platforms
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
252 - name: ASan logs
1984a3fcc953 patch 8.2.2150: Github actions CI isn't used for all available platforms
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
253 if: contains(matrix.extra, 'asan') && !cancelled()
1984a3fcc953 patch 8.2.2150: Github actions CI isn't used for all available platforms
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
254 run: |
27651
7765b0447add patch 8.2.4351: no coverage is measured on MS-Windows CI
Bram Moolenaar <Bram@vim.org>
parents: 27632
diff changeset
255 for f in $(grep -lR '#[[:digit:]]* *0x[[:xdigit:]]*' "${LOG_DIR}"); do
27065
f1f47818f16e patch 8.2.4061: codecov bash script is deprecated
Bram Moolenaar <Bram@vim.org>
parents: 26725
diff changeset
256 asan_symbolize -l "$f"
23209
1984a3fcc953 patch 8.2.2150: Github actions CI isn't used for all available platforms
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
257 false # in order to fail a job
1984a3fcc953 patch 8.2.2150: Github actions CI isn't used for all available platforms
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
258 done
1984a3fcc953 patch 8.2.2150: Github actions CI isn't used for all available platforms
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
259
27065
f1f47818f16e patch 8.2.4061: codecov bash script is deprecated
Bram Moolenaar <Bram@vim.org>
parents: 26725
diff changeset
260 # coveralls:
f1f47818f16e patch 8.2.4061: codecov bash script is deprecated
Bram Moolenaar <Bram@vim.org>
parents: 26725
diff changeset
261 # runs-on: ubuntu-18.04
25830
e2d74d655b75 patch 8.2.3450: coveralls action fails
Bram Moolenaar <Bram@vim.org>
parents: 25402
diff changeset
262 #
27065
f1f47818f16e patch 8.2.4061: codecov bash script is deprecated
Bram Moolenaar <Bram@vim.org>
parents: 26725
diff changeset
263 # needs: linux
f1f47818f16e patch 8.2.4061: codecov bash script is deprecated
Bram Moolenaar <Bram@vim.org>
parents: 26725
diff changeset
264 # if: always() && github.event_name != 'pull_request'
25830
e2d74d655b75 patch 8.2.3450: coveralls action fails
Bram Moolenaar <Bram@vim.org>
parents: 25402
diff changeset
265 #
27065
f1f47818f16e patch 8.2.4061: codecov bash script is deprecated
Bram Moolenaar <Bram@vim.org>
parents: 26725
diff changeset
266 # steps:
f1f47818f16e patch 8.2.4061: codecov bash script is deprecated
Bram Moolenaar <Bram@vim.org>
parents: 26725
diff changeset
267 # - name: Parallel finished
f1f47818f16e patch 8.2.4061: codecov bash script is deprecated
Bram Moolenaar <Bram@vim.org>
parents: 26725
diff changeset
268 # env:
f1f47818f16e patch 8.2.4061: codecov bash script is deprecated
Bram Moolenaar <Bram@vim.org>
parents: 26725
diff changeset
269 # COVERALLS_REPO_TOKEN: ${{ secrets.COVERALLS_REPO_TOKEN }}
f1f47818f16e patch 8.2.4061: codecov bash script is deprecated
Bram Moolenaar <Bram@vim.org>
parents: 26725
diff changeset
270 # run: |
f1f47818f16e patch 8.2.4061: codecov bash script is deprecated
Bram Moolenaar <Bram@vim.org>
parents: 26725
diff changeset
271 # curl -k "https://coveralls.io/webhook?repo_token=${COVERALLS_REPO_TOKEN}" -d "payload[build_num]=${GITHUB_RUN_ID}&payload[status]=done"
23209
1984a3fcc953 patch 8.2.2150: Github actions CI isn't used for all available platforms
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
272
1984a3fcc953 patch 8.2.2150: Github actions CI isn't used for all available platforms
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
273 macos:
1984a3fcc953 patch 8.2.2150: Github actions CI isn't used for all available platforms
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
274 runs-on: macos-latest
1984a3fcc953 patch 8.2.2150: Github actions CI isn't used for all available platforms
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
275
1984a3fcc953 patch 8.2.2150: Github actions CI isn't used for all available platforms
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
276 env:
26510
3772e454a7fb patch 8.2.3785: running CI on MacOS with gcc is not useful
Bram Moolenaar <Bram@vim.org>
parents: 26480
diff changeset
277 CC: clang
23209
1984a3fcc953 patch 8.2.2150: Github actions CI isn't used for all available platforms
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
278 TEST: test
1984a3fcc953 patch 8.2.2150: Github actions CI isn't used for all available platforms
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
279 SRCDIR: ./src
1984a3fcc953 patch 8.2.2150: Github actions CI isn't used for all available platforms
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
280 LEAK_CFLAGS: -DEXITFREE
1984a3fcc953 patch 8.2.2150: Github actions CI isn't used for all available platforms
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
281 TERM: xterm
1984a3fcc953 patch 8.2.2150: Github actions CI isn't used for all available platforms
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
282
1984a3fcc953 patch 8.2.2150: Github actions CI isn't used for all available platforms
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
283 strategy:
1984a3fcc953 patch 8.2.2150: Github actions CI isn't used for all available platforms
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
284 fail-fast: false
1984a3fcc953 patch 8.2.2150: Github actions CI isn't used for all available platforms
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
285 matrix:
26510
3772e454a7fb patch 8.2.3785: running CI on MacOS with gcc is not useful
Bram Moolenaar <Bram@vim.org>
parents: 26480
diff changeset
286 features: [tiny, normal, huge]
23209
1984a3fcc953 patch 8.2.2150: Github actions CI isn't used for all available platforms
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
287
1984a3fcc953 patch 8.2.2150: Github actions CI isn't used for all available platforms
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
288 steps:
1984a3fcc953 patch 8.2.2150: Github actions CI isn't used for all available platforms
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
289 - uses: actions/checkout@v2
1984a3fcc953 patch 8.2.2150: Github actions CI isn't used for all available platforms
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
290
1984a3fcc953 patch 8.2.2150: Github actions CI isn't used for all available platforms
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
291 - name: Install packages
27134
1ea88ee85a7a patch 8.2.4096: Linux CI: unnecessarily installing packages
Bram Moolenaar <Bram@vim.org>
parents: 27126
diff changeset
292 if: matrix.features == 'huge'
23209
1984a3fcc953 patch 8.2.2150: Github actions CI isn't used for all available platforms
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
293 env:
1984a3fcc953 patch 8.2.2150: Github actions CI isn't used for all available platforms
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
294 HOMEBREW_NO_AUTO_UPDATE: 1
1984a3fcc953 patch 8.2.2150: Github actions CI isn't used for all available platforms
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
295 run: |
1984a3fcc953 patch 8.2.2150: Github actions CI isn't used for all available platforms
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
296 brew install lua
1984a3fcc953 patch 8.2.2150: Github actions CI isn't used for all available platforms
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
297 echo "LUA_PREFIX=/usr/local" >> $GITHUB_ENV
1984a3fcc953 patch 8.2.2150: Github actions CI isn't used for all available platforms
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
298
1984a3fcc953 patch 8.2.2150: Github actions CI isn't used for all available platforms
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
299 - name: Set up environment
1984a3fcc953 patch 8.2.2150: Github actions CI isn't used for all available platforms
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
300 run: |
1984a3fcc953 patch 8.2.2150: Github actions CI isn't used for all available platforms
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
301 (
1984a3fcc953 patch 8.2.2150: Github actions CI isn't used for all available platforms
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
302 echo "NPROC=$(getconf _NPROCESSORS_ONLN)"
1984a3fcc953 patch 8.2.2150: Github actions CI isn't used for all available platforms
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
303 case "${{ matrix.features }}" in
1984a3fcc953 patch 8.2.2150: Github actions CI isn't used for all available platforms
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
304 tiny)
1984a3fcc953 patch 8.2.2150: Github actions CI isn't used for all available platforms
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
305 echo "TEST=testtiny"
1984a3fcc953 patch 8.2.2150: Github actions CI isn't used for all available platforms
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
306 echo "CONFOPT=--disable-gui"
1984a3fcc953 patch 8.2.2150: Github actions CI isn't used for all available platforms
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
307 ;;
26510
3772e454a7fb patch 8.2.3785: running CI on MacOS with gcc is not useful
Bram Moolenaar <Bram@vim.org>
parents: 26480
diff changeset
308 normal)
3772e454a7fb patch 8.2.3785: running CI on MacOS with gcc is not useful
Bram Moolenaar <Bram@vim.org>
parents: 26480
diff changeset
309 ;;
23209
1984a3fcc953 patch 8.2.2150: Github actions CI isn't used for all available platforms
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
310 huge)
1984a3fcc953 patch 8.2.2150: Github actions CI isn't used for all available platforms
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
311 echo "CONFOPT=--enable-perlinterp --enable-python3interp --enable-rubyinterp --enable-luainterp --enable-tclinterp"
1984a3fcc953 patch 8.2.2150: Github actions CI isn't used for all available platforms
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
312 ;;
1984a3fcc953 patch 8.2.2150: Github actions CI isn't used for all available platforms
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
313 esac
1984a3fcc953 patch 8.2.2150: Github actions CI isn't used for all available platforms
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
314 ) >> $GITHUB_ENV
1984a3fcc953 patch 8.2.2150: Github actions CI isn't used for all available platforms
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
315
1984a3fcc953 patch 8.2.2150: Github actions CI isn't used for all available platforms
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
316 - name: Configure
1984a3fcc953 patch 8.2.2150: Github actions CI isn't used for all available platforms
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
317 run: |
1984a3fcc953 patch 8.2.2150: Github actions CI isn't used for all available platforms
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
318 ./configure --with-features=${{ matrix.features }} ${CONFOPT} --enable-fail-if-missing
1984a3fcc953 patch 8.2.2150: Github actions CI isn't used for all available platforms
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
319 # Append various warning flags to CFLAGS.
1984a3fcc953 patch 8.2.2150: Github actions CI isn't used for all available platforms
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
320 # BSD sed needs backup extension specified.
1984a3fcc953 patch 8.2.2150: Github actions CI isn't used for all available platforms
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
321 sed -i.bak -f ci/config.mk.sed ${SRCDIR}/auto/config.mk
1984a3fcc953 patch 8.2.2150: Github actions CI isn't used for all available platforms
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
322 # On macOS, the entity of gcc is clang.
1984a3fcc953 patch 8.2.2150: Github actions CI isn't used for all available platforms
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
323 sed -i.bak -f ci/config.mk.clang.sed ${SRCDIR}/auto/config.mk
26480
cf986610be6a patch 8.2.3770: new compiler warnings from clang-12 and clang-13
Bram Moolenaar <Bram@vim.org>
parents: 25933
diff changeset
324 # Suppress some warnings produced by clang 12 and later.
cf986610be6a patch 8.2.3770: new compiler warnings from clang-12 and clang-13
Bram Moolenaar <Bram@vim.org>
parents: 25933
diff changeset
325 if clang --version | grep -qs 'Apple clang version \(1[3-9]\|[2-9]\)\.'; then
cf986610be6a patch 8.2.3770: new compiler warnings from clang-12 and clang-13
Bram Moolenaar <Bram@vim.org>
parents: 25933
diff changeset
326 sed -i.bak -f ci/config.mk.clang-12.sed ${SRCDIR}/auto/config.mk
cf986610be6a patch 8.2.3770: new compiler warnings from clang-12 and clang-13
Bram Moolenaar <Bram@vim.org>
parents: 25933
diff changeset
327 fi
23209
1984a3fcc953 patch 8.2.2150: Github actions CI isn't used for all available platforms
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
328
1984a3fcc953 patch 8.2.2150: Github actions CI isn't used for all available platforms
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
329 - name: Build
23258
262b38ddf72d patch 8.2.2175: github actions: clang-11 handling suboptimal
Bram Moolenaar <Bram@vim.org>
parents: 23225
diff changeset
330 env:
23388
57e79eda1a62 patch 8.2.2237: CI on Mac fails in sed command
Bram Moolenaar <Bram@vim.org>
parents: 23293
diff changeset
331 LC_ALL: C
23209
1984a3fcc953 patch 8.2.2150: Github actions CI isn't used for all available platforms
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
332 run: |
1984a3fcc953 patch 8.2.2150: Github actions CI isn't used for all available platforms
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
333 make -j${NPROC}
1984a3fcc953 patch 8.2.2150: Github actions CI isn't used for all available platforms
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
334
1984a3fcc953 patch 8.2.2150: Github actions CI isn't used for all available platforms
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
335 - name: Check version
1984a3fcc953 patch 8.2.2150: Github actions CI isn't used for all available platforms
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
336 run: |
1984a3fcc953 patch 8.2.2150: Github actions CI isn't used for all available platforms
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
337 "${SRCDIR}"/vim --version
1984a3fcc953 patch 8.2.2150: Github actions CI isn't used for all available platforms
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
338 "${SRCDIR}"/vim -u NONE -i NONE --not-a-term -esNX -V1 -S ci/if_ver-1.vim -c quit
1984a3fcc953 patch 8.2.2150: Github actions CI isn't used for all available platforms
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
339 "${SRCDIR}"/vim -u NONE -i NONE --not-a-term -esNX -V1 -S ci/if_ver-2.vim -c quit
1984a3fcc953 patch 8.2.2150: Github actions CI isn't used for all available platforms
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
340
1984a3fcc953 patch 8.2.2150: Github actions CI isn't used for all available platforms
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
341 - name: Test
1984a3fcc953 patch 8.2.2150: Github actions CI isn't used for all available platforms
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
342 timeout-minutes: 20
1984a3fcc953 patch 8.2.2150: Github actions CI isn't used for all available platforms
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
343 run: |
1984a3fcc953 patch 8.2.2150: Github actions CI isn't used for all available platforms
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
344 make ${TEST}
1984a3fcc953 patch 8.2.2150: Github actions CI isn't used for all available platforms
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
345
1984a3fcc953 patch 8.2.2150: Github actions CI isn't used for all available platforms
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
346 windows:
27632
286f012d30fb patch 8.2.4342: CI will soon switch to other windows version
Bram Moolenaar <Bram@vim.org>
parents: 27480
diff changeset
347 runs-on: windows-2019
23209
1984a3fcc953 patch 8.2.2150: Github actions CI isn't used for all available platforms
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
348
1984a3fcc953 patch 8.2.2150: Github actions CI isn't used for all available platforms
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
349 env:
1984a3fcc953 patch 8.2.2150: Github actions CI isn't used for all available platforms
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
350 # Interfaces
1984a3fcc953 patch 8.2.2150: Github actions CI isn't used for all available platforms
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
351 # Lua
1984a3fcc953 patch 8.2.2150: Github actions CI isn't used for all available platforms
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
352 LUA_VER: 54
1984a3fcc953 patch 8.2.2150: Github actions CI isn't used for all available platforms
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
353 LUA_VER_DOT: '5.4'
27655
3d4609ea2b58 patch 8.2.4353: CI does not use the latest Lua and Python
Bram Moolenaar <Bram@vim.org>
parents: 27651
diff changeset
354 LUA_RELEASE: 5.4.2
23209
1984a3fcc953 patch 8.2.2150: Github actions CI isn't used for all available platforms
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
355 LUA32_URL: https://downloads.sourceforge.net/luabinaries/lua-%LUA_RELEASE%_Win32_dllw6_lib.zip
1984a3fcc953 patch 8.2.2150: Github actions CI isn't used for all available platforms
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
356 LUA64_URL: https://downloads.sourceforge.net/luabinaries/lua-%LUA_RELEASE%_Win64_dllw6_lib.zip
1984a3fcc953 patch 8.2.2150: Github actions CI isn't used for all available platforms
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
357 LUA_DIR: D:\Lua
1984a3fcc953 patch 8.2.2150: Github actions CI isn't used for all available platforms
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
358 # Python 2
1984a3fcc953 patch 8.2.2150: Github actions CI isn't used for all available platforms
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
359 PYTHON_VER: 27
1984a3fcc953 patch 8.2.2150: Github actions CI isn't used for all available platforms
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
360 PYTHON_VER_DOT: '2.7'
1984a3fcc953 patch 8.2.2150: Github actions CI isn't used for all available platforms
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
361 # Python 3
27655
3d4609ea2b58 patch 8.2.4353: CI does not use the latest Lua and Python
Bram Moolenaar <Bram@vim.org>
parents: 27651
diff changeset
362 PYTHON3_VER: 310
3d4609ea2b58 patch 8.2.4353: CI does not use the latest Lua and Python
Bram Moolenaar <Bram@vim.org>
parents: 27651
diff changeset
363 PYTHON3_VER_DOT: '3.10'
23209
1984a3fcc953 patch 8.2.2150: Github actions CI isn't used for all available platforms
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
364 # Other dependencies
1984a3fcc953 patch 8.2.2150: Github actions CI isn't used for all available platforms
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
365 # winpty
1984a3fcc953 patch 8.2.2150: Github actions CI isn't used for all available platforms
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
366 WINPTY_URL: https://github.com/rprichard/winpty/releases/download/0.4.3/winpty-0.4.3-msvc2015.zip
1984a3fcc953 patch 8.2.2150: Github actions CI isn't used for all available platforms
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
367 # Escape sequences
1984a3fcc953 patch 8.2.2150: Github actions CI isn't used for all available platforms
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
368 COL_RED: "\x1b[31m"
1984a3fcc953 patch 8.2.2150: Github actions CI isn't used for all available platforms
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
369 COL_GREEN: "\x1b[32m"
1984a3fcc953 patch 8.2.2150: Github actions CI isn't used for all available platforms
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
370 COL_YELLOW: "\x1b[33m"
1984a3fcc953 patch 8.2.2150: Github actions CI isn't used for all available platforms
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
371 COL_RESET: "\x1b[m"
1984a3fcc953 patch 8.2.2150: Github actions CI isn't used for all available platforms
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
372
1984a3fcc953 patch 8.2.2150: Github actions CI isn't used for all available platforms
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
373 strategy:
1984a3fcc953 patch 8.2.2150: Github actions CI isn't used for all available platforms
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
374 fail-fast: false
1984a3fcc953 patch 8.2.2150: Github actions CI isn't used for all available platforms
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
375 matrix:
1984a3fcc953 patch 8.2.2150: Github actions CI isn't used for all available platforms
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
376 toolchain: [msvc, mingw]
1984a3fcc953 patch 8.2.2150: Github actions CI isn't used for all available platforms
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
377 arch: [x64, x86]
1984a3fcc953 patch 8.2.2150: Github actions CI isn't used for all available platforms
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
378 features: [HUGE, NORMAL]
1984a3fcc953 patch 8.2.2150: Github actions CI isn't used for all available platforms
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
379 include:
1984a3fcc953 patch 8.2.2150: Github actions CI isn't used for all available platforms
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
380 - arch: x64
1984a3fcc953 patch 8.2.2150: Github actions CI isn't used for all available platforms
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
381 vcarch: amd64
1984a3fcc953 patch 8.2.2150: Github actions CI isn't used for all available platforms
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
382 warch: x64
1984a3fcc953 patch 8.2.2150: Github actions CI isn't used for all available platforms
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
383 bits: 64
1984a3fcc953 patch 8.2.2150: Github actions CI isn't used for all available platforms
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
384 msystem: MINGW64
1984a3fcc953 patch 8.2.2150: Github actions CI isn't used for all available platforms
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
385 cygreg: registry
1984a3fcc953 patch 8.2.2150: Github actions CI isn't used for all available platforms
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
386 pyreg: ""
1984a3fcc953 patch 8.2.2150: Github actions CI isn't used for all available platforms
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
387 - arch: x86
1984a3fcc953 patch 8.2.2150: Github actions CI isn't used for all available platforms
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
388 vcarch: x86
1984a3fcc953 patch 8.2.2150: Github actions CI isn't used for all available platforms
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
389 warch: ia32
1984a3fcc953 patch 8.2.2150: Github actions CI isn't used for all available platforms
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
390 bits: 32
1984a3fcc953 patch 8.2.2150: Github actions CI isn't used for all available platforms
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
391 msystem: MINGW32
1984a3fcc953 patch 8.2.2150: Github actions CI isn't used for all available platforms
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
392 cygreg: registry32
1984a3fcc953 patch 8.2.2150: Github actions CI isn't used for all available platforms
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
393 pyreg: "-32"
27702
ae09d11b8099 patch 8.2.4377: CI steps for Windows are a bit unorganized
Bram Moolenaar <Bram@vim.org>
parents: 27655
diff changeset
394 - toolchain: mingw
ae09d11b8099 patch 8.2.4377: CI steps for Windows are a bit unorganized
Bram Moolenaar <Bram@vim.org>
parents: 27655
diff changeset
395 arch: x64
ae09d11b8099 patch 8.2.4377: CI steps for Windows are a bit unorganized
Bram Moolenaar <Bram@vim.org>
parents: 27655
diff changeset
396 features: HUGE
ae09d11b8099 patch 8.2.4377: CI steps for Windows are a bit unorganized
Bram Moolenaar <Bram@vim.org>
parents: 27655
diff changeset
397 coverage: yes
23209
1984a3fcc953 patch 8.2.2150: Github actions CI isn't used for all available platforms
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
398 exclude:
1984a3fcc953 patch 8.2.2150: Github actions CI isn't used for all available platforms
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
399 - toolchain: msvc
1984a3fcc953 patch 8.2.2150: Github actions CI isn't used for all available platforms
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
400 arch: x64
1984a3fcc953 patch 8.2.2150: Github actions CI isn't used for all available platforms
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
401 features: NORMAL
1984a3fcc953 patch 8.2.2150: Github actions CI isn't used for all available platforms
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
402 - toolchain: mingw
1984a3fcc953 patch 8.2.2150: Github actions CI isn't used for all available platforms
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
403 arch: x86
1984a3fcc953 patch 8.2.2150: Github actions CI isn't used for all available platforms
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
404 features: NORMAL
1984a3fcc953 patch 8.2.2150: Github actions CI isn't used for all available platforms
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
405
1984a3fcc953 patch 8.2.2150: Github actions CI isn't used for all available platforms
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
406 steps:
25402
bdda48f01a68 Update runtime files
Bram Moolenaar <Bram@vim.org>
parents: 24994
diff changeset
407 - name: Initialize
23209
1984a3fcc953 patch 8.2.2150: Github actions CI isn't used for all available platforms
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
408 id: init
1984a3fcc953 patch 8.2.2150: Github actions CI isn't used for all available platforms
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
409 shell: bash
1984a3fcc953 patch 8.2.2150: Github actions CI isn't used for all available platforms
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
410 run: |
1984a3fcc953 patch 8.2.2150: Github actions CI isn't used for all available platforms
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
411 git config --global core.autocrlf input
27702
ae09d11b8099 patch 8.2.4377: CI steps for Windows are a bit unorganized
Bram Moolenaar <Bram@vim.org>
parents: 27655
diff changeset
412 echo "VCVARSALL=$(vswhere -products \* -latest -property installationPath)\\VC\\Auxiliary\\Build\\vcvarsall.bat" >> $GITHUB_ENV
23209
1984a3fcc953 patch 8.2.2150: Github actions CI isn't used for all available platforms
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
413 python_dir=$(cat "/proc/${{ matrix.cygreg }}/HKEY_LOCAL_MACHINE/SOFTWARE/Python/PythonCore/${PYTHON_VER_DOT}/InstallPath/@")
1984a3fcc953 patch 8.2.2150: Github actions CI isn't used for all available platforms
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
414 python3_dir=$(cat "/proc/${{ matrix.cygreg }}/HKEY_LOCAL_MACHINE/SOFTWARE/Python/PythonCore/${PYTHON3_VER_DOT}${{ matrix.pyreg }}/InstallPath/@")
1984a3fcc953 patch 8.2.2150: Github actions CI isn't used for all available platforms
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
415 echo "PYTHON_DIR=$python_dir" >> $GITHUB_ENV
1984a3fcc953 patch 8.2.2150: Github actions CI isn't used for all available platforms
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
416 echo "PYTHON3_DIR=$python3_dir" >> $GITHUB_ENV
1984a3fcc953 patch 8.2.2150: Github actions CI isn't used for all available platforms
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
417
1984a3fcc953 patch 8.2.2150: Github actions CI isn't used for all available platforms
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
418 - uses: msys2/setup-msys2@v2
1984a3fcc953 patch 8.2.2150: Github actions CI isn't used for all available platforms
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
419 if: matrix.toolchain == 'mingw'
1984a3fcc953 patch 8.2.2150: Github actions CI isn't used for all available platforms
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
420 with:
1984a3fcc953 patch 8.2.2150: Github actions CI isn't used for all available platforms
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
421 msystem: ${{ matrix.msystem }}
1984a3fcc953 patch 8.2.2150: Github actions CI isn't used for all available platforms
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
422 release: false
1984a3fcc953 patch 8.2.2150: Github actions CI isn't used for all available platforms
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
423
1984a3fcc953 patch 8.2.2150: Github actions CI isn't used for all available platforms
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
424 - uses: actions/checkout@v2
1984a3fcc953 patch 8.2.2150: Github actions CI isn't used for all available platforms
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
425
1984a3fcc953 patch 8.2.2150: Github actions CI isn't used for all available platforms
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
426 - name: Create a list of download URLs
1984a3fcc953 patch 8.2.2150: Github actions CI isn't used for all available platforms
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
427 shell: cmd
1984a3fcc953 patch 8.2.2150: Github actions CI isn't used for all available platforms
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
428 run: |
1984a3fcc953 patch 8.2.2150: Github actions CI isn't used for all available platforms
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
429 type NUL > urls.txt
1984a3fcc953 patch 8.2.2150: Github actions CI isn't used for all available platforms
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
430 echo %LUA_RELEASE%>> urls.txt
1984a3fcc953 patch 8.2.2150: Github actions CI isn't used for all available platforms
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
431 echo %WINPTY_URL%>> urls.txt
1984a3fcc953 patch 8.2.2150: Github actions CI isn't used for all available platforms
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
432
1984a3fcc953 patch 8.2.2150: Github actions CI isn't used for all available platforms
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
433 - name: Cache downloaded files
1984a3fcc953 patch 8.2.2150: Github actions CI isn't used for all available platforms
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
434 uses: actions/cache@v2
1984a3fcc953 patch 8.2.2150: Github actions CI isn't used for all available platforms
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
435 with:
1984a3fcc953 patch 8.2.2150: Github actions CI isn't used for all available platforms
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
436 path: downloads
1984a3fcc953 patch 8.2.2150: Github actions CI isn't used for all available platforms
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
437 key: ${{ runner.os }}-${{ matrix.bits }}-${{ hashFiles('urls.txt') }}
1984a3fcc953 patch 8.2.2150: Github actions CI isn't used for all available platforms
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
438
1984a3fcc953 patch 8.2.2150: Github actions CI isn't used for all available platforms
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
439 - name: Download dependencies
1984a3fcc953 patch 8.2.2150: Github actions CI isn't used for all available platforms
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
440 shell: cmd
1984a3fcc953 patch 8.2.2150: Github actions CI isn't used for all available platforms
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
441 run: |
1984a3fcc953 patch 8.2.2150: Github actions CI isn't used for all available platforms
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
442 path C:\Program Files\7-Zip;%path%
1984a3fcc953 patch 8.2.2150: Github actions CI isn't used for all available platforms
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
443 if not exist downloads mkdir downloads
1984a3fcc953 patch 8.2.2150: Github actions CI isn't used for all available platforms
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
444
1984a3fcc953 patch 8.2.2150: Github actions CI isn't used for all available platforms
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
445 echo %COL_GREEN%Download Lua%COL_RESET%
1984a3fcc953 patch 8.2.2150: Github actions CI isn't used for all available platforms
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
446 call :downloadfile %LUA${{ matrix.bits }}_URL% downloads\lua.zip
1984a3fcc953 patch 8.2.2150: Github actions CI isn't used for all available platforms
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
447 7z x downloads\lua.zip -o%LUA_DIR% > nul || exit 1
1984a3fcc953 patch 8.2.2150: Github actions CI isn't used for all available platforms
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
448
1984a3fcc953 patch 8.2.2150: Github actions CI isn't used for all available platforms
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
449 echo %COL_GREEN%Download winpty%COL_RESET%
1984a3fcc953 patch 8.2.2150: Github actions CI isn't used for all available platforms
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
450 call :downloadfile %WINPTY_URL% downloads\winpty.zip
1984a3fcc953 patch 8.2.2150: Github actions CI isn't used for all available platforms
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
451 7z x -y downloads\winpty.zip -oD:\winpty > nul || exit 1
1984a3fcc953 patch 8.2.2150: Github actions CI isn't used for all available platforms
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
452 copy /Y D:\winpty\${{ matrix.warch }}\bin\winpty.dll src\winpty${{ matrix.bits }}.dll
1984a3fcc953 patch 8.2.2150: Github actions CI isn't used for all available platforms
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
453 copy /Y D:\winpty\${{ matrix.warch }}\bin\winpty-agent.exe src\
1984a3fcc953 patch 8.2.2150: Github actions CI isn't used for all available platforms
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
454
1984a3fcc953 patch 8.2.2150: Github actions CI isn't used for all available platforms
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
455 goto :eof
1984a3fcc953 patch 8.2.2150: Github actions CI isn't used for all available platforms
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
456
1984a3fcc953 patch 8.2.2150: Github actions CI isn't used for all available platforms
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
457 :downloadfile
1984a3fcc953 patch 8.2.2150: Github actions CI isn't used for all available platforms
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
458 :: call :downloadfile <URL> <localfile>
1984a3fcc953 patch 8.2.2150: Github actions CI isn't used for all available platforms
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
459 if not exist %2 (
1984a3fcc953 patch 8.2.2150: Github actions CI isn't used for all available platforms
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
460 curl -f -L %1 -o %2
1984a3fcc953 patch 8.2.2150: Github actions CI isn't used for all available platforms
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
461 )
1984a3fcc953 patch 8.2.2150: Github actions CI isn't used for all available platforms
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
462 if ERRORLEVEL 1 (
1984a3fcc953 patch 8.2.2150: Github actions CI isn't used for all available platforms
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
463 rem Retry once.
1984a3fcc953 patch 8.2.2150: Github actions CI isn't used for all available platforms
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
464 curl -f -L %1 -o %2 || exit 1
1984a3fcc953 patch 8.2.2150: Github actions CI isn't used for all available platforms
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
465 )
1984a3fcc953 patch 8.2.2150: Github actions CI isn't used for all available platforms
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
466 goto :eof
1984a3fcc953 patch 8.2.2150: Github actions CI isn't used for all available platforms
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
467
1984a3fcc953 patch 8.2.2150: Github actions CI isn't used for all available platforms
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
468 - name: Copy src directory to src2
1984a3fcc953 patch 8.2.2150: Github actions CI isn't used for all available platforms
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
469 shell: cmd
27702
ae09d11b8099 patch 8.2.4377: CI steps for Windows are a bit unorganized
Bram Moolenaar <Bram@vim.org>
parents: 27655
diff changeset
470 run: xcopy src src2\ /E > nul
23209
1984a3fcc953 patch 8.2.2150: Github actions CI isn't used for all available platforms
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
471
1984a3fcc953 patch 8.2.2150: Github actions CI isn't used for all available platforms
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
472 - name: Build (MSVC)
1984a3fcc953 patch 8.2.2150: Github actions CI isn't used for all available platforms
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
473 if: matrix.toolchain == 'msvc'
1984a3fcc953 patch 8.2.2150: Github actions CI isn't used for all available platforms
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
474 shell: cmd
1984a3fcc953 patch 8.2.2150: Github actions CI isn't used for all available platforms
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
475 run: |
1984a3fcc953 patch 8.2.2150: Github actions CI isn't used for all available platforms
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
476 call "%VCVARSALL%" ${{ matrix.vcarch }}
1984a3fcc953 patch 8.2.2150: Github actions CI isn't used for all available platforms
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
477 cd src
1984a3fcc953 patch 8.2.2150: Github actions CI isn't used for all available platforms
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
478 if "${{ matrix.features }}"=="HUGE" (
27388
83bd6e25d0b6 patch 8.2.4222: MS-Windows: clumsy way to suppress progress on CI
Bram Moolenaar <Bram@vim.org>
parents: 27134
diff changeset
479 nmake -nologo -f Make_mvc.mak ^
23209
1984a3fcc953 patch 8.2.2150: Github actions CI isn't used for all available platforms
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
480 FEATURES=${{ matrix.features }} ^
1984a3fcc953 patch 8.2.2150: Github actions CI isn't used for all available platforms
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
481 GUI=yes IME=yes ICONV=yes VIMDLL=yes ^
1984a3fcc953 patch 8.2.2150: Github actions CI isn't used for all available platforms
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
482 DYNAMIC_LUA=yes LUA=%LUA_DIR% ^
1984a3fcc953 patch 8.2.2150: Github actions CI isn't used for all available platforms
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
483 DYNAMIC_PYTHON=yes PYTHON=%PYTHON_DIR% ^
1984a3fcc953 patch 8.2.2150: Github actions CI isn't used for all available platforms
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
484 DYNAMIC_PYTHON3=yes PYTHON3=%PYTHON3_DIR%
1984a3fcc953 patch 8.2.2150: Github actions CI isn't used for all available platforms
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
485 ) else (
27388
83bd6e25d0b6 patch 8.2.4222: MS-Windows: clumsy way to suppress progress on CI
Bram Moolenaar <Bram@vim.org>
parents: 27134
diff changeset
486 nmake -nologo -f Make_mvc.mak ^
23209
1984a3fcc953 patch 8.2.2150: Github actions CI isn't used for all available platforms
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
487 FEATURES=${{ matrix.features }} ^
1984a3fcc953 patch 8.2.2150: Github actions CI isn't used for all available platforms
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
488 GUI=yes IME=yes ICONV=yes VIMDLL=yes
1984a3fcc953 patch 8.2.2150: Github actions CI isn't used for all available platforms
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
489 )
1984a3fcc953 patch 8.2.2150: Github actions CI isn't used for all available platforms
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
490 if not exist vim${{ matrix.bits }}.dll (
1984a3fcc953 patch 8.2.2150: Github actions CI isn't used for all available platforms
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
491 echo %COL_RED%Build failure.%COL_RESET%
1984a3fcc953 patch 8.2.2150: Github actions CI isn't used for all available platforms
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
492 exit 1
1984a3fcc953 patch 8.2.2150: Github actions CI isn't used for all available platforms
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
493 )
1984a3fcc953 patch 8.2.2150: Github actions CI isn't used for all available platforms
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
494
1984a3fcc953 patch 8.2.2150: Github actions CI isn't used for all available platforms
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
495 - name: Build (MinGW)
1984a3fcc953 patch 8.2.2150: Github actions CI isn't used for all available platforms
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
496 if: matrix.toolchain == 'mingw'
1984a3fcc953 patch 8.2.2150: Github actions CI isn't used for all available platforms
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
497 shell: msys2 {0}
1984a3fcc953 patch 8.2.2150: Github actions CI isn't used for all available platforms
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
498 run: |
1984a3fcc953 patch 8.2.2150: Github actions CI isn't used for all available platforms
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
499 cd src
1984a3fcc953 patch 8.2.2150: Github actions CI isn't used for all available platforms
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
500 if [ "${{ matrix.features }}" = "HUGE" ]; then
1984a3fcc953 patch 8.2.2150: Github actions CI isn't used for all available platforms
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
501 mingw32-make -f Make_ming.mak -j2 \
1984a3fcc953 patch 8.2.2150: Github actions CI isn't used for all available platforms
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
502 FEATURES=${{ matrix.features }} \
1984a3fcc953 patch 8.2.2150: Github actions CI isn't used for all available platforms
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
503 GUI=yes IME=yes ICONV=yes VIMDLL=yes \
1984a3fcc953 patch 8.2.2150: Github actions CI isn't used for all available platforms
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
504 DYNAMIC_LUA=yes LUA=${LUA_DIR} \
1984a3fcc953 patch 8.2.2150: Github actions CI isn't used for all available platforms
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
505 DYNAMIC_PYTHON=yes PYTHON=${PYTHON_DIR} \
1984a3fcc953 patch 8.2.2150: Github actions CI isn't used for all available platforms
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
506 DYNAMIC_PYTHON3=yes PYTHON3=${PYTHON3_DIR} \
27702
ae09d11b8099 patch 8.2.4377: CI steps for Windows are a bit unorganized
Bram Moolenaar <Bram@vim.org>
parents: 27655
diff changeset
507 STATIC_STDCPLUS=yes COVERAGE=${{ matrix.coverage }}
23209
1984a3fcc953 patch 8.2.2150: Github actions CI isn't used for all available platforms
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
508 else
1984a3fcc953 patch 8.2.2150: Github actions CI isn't used for all available platforms
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
509 mingw32-make -f Make_ming.mak -j2 \
1984a3fcc953 patch 8.2.2150: Github actions CI isn't used for all available platforms
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
510 FEATURES=${{ matrix.features }} \
1984a3fcc953 patch 8.2.2150: Github actions CI isn't used for all available platforms
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
511 GUI=yes IME=yes ICONV=yes VIMDLL=yes \
1984a3fcc953 patch 8.2.2150: Github actions CI isn't used for all available platforms
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
512 STATIC_STDCPLUS=yes
1984a3fcc953 patch 8.2.2150: Github actions CI isn't used for all available platforms
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
513 fi
1984a3fcc953 patch 8.2.2150: Github actions CI isn't used for all available platforms
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
514
27702
ae09d11b8099 patch 8.2.4377: CI steps for Windows are a bit unorganized
Bram Moolenaar <Bram@vim.org>
parents: 27655
diff changeset
515 - name: Check version
ae09d11b8099 patch 8.2.4377: CI steps for Windows are a bit unorganized
Bram Moolenaar <Bram@vim.org>
parents: 27655
diff changeset
516 shell: cmd
ae09d11b8099 patch 8.2.4377: CI steps for Windows are a bit unorganized
Bram Moolenaar <Bram@vim.org>
parents: 27655
diff changeset
517 run: src\vim --version || exit 1
ae09d11b8099 patch 8.2.4377: CI steps for Windows are a bit unorganized
Bram Moolenaar <Bram@vim.org>
parents: 27655
diff changeset
518
23209
1984a3fcc953 patch 8.2.2150: Github actions CI isn't used for all available platforms
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
519 #- name: Prepare Artifact
1984a3fcc953 patch 8.2.2150: Github actions CI isn't used for all available platforms
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
520 # shell: cmd
1984a3fcc953 patch 8.2.2150: Github actions CI isn't used for all available platforms
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
521 # run: |
1984a3fcc953 patch 8.2.2150: Github actions CI isn't used for all available platforms
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
522 # mkdir artifacts
1984a3fcc953 patch 8.2.2150: Github actions CI isn't used for all available platforms
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
523 # copy src\*vim.exe artifacts
1984a3fcc953 patch 8.2.2150: Github actions CI isn't used for all available platforms
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
524 # copy src\vim*.dll artifacts
1984a3fcc953 patch 8.2.2150: Github actions CI isn't used for all available platforms
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
525 #
1984a3fcc953 patch 8.2.2150: Github actions CI isn't used for all available platforms
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
526 #- name: Upload Artifact
1984a3fcc953 patch 8.2.2150: Github actions CI isn't used for all available platforms
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
527 # uses: actions/upload-artifact@v1
1984a3fcc953 patch 8.2.2150: Github actions CI isn't used for all available platforms
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
528 # with:
1984a3fcc953 patch 8.2.2150: Github actions CI isn't used for all available platforms
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
529 # name: vim${{ matrix.bits }}-${{ matrix.toolchain }}
1984a3fcc953 patch 8.2.2150: Github actions CI isn't used for all available platforms
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
530 # path: ./artifacts
1984a3fcc953 patch 8.2.2150: Github actions CI isn't used for all available platforms
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
531
27651
7765b0447add patch 8.2.4351: no coverage is measured on MS-Windows CI
Bram Moolenaar <Bram@vim.org>
parents: 27632
diff changeset
532 - name: Copy gcov data files to src2
27702
ae09d11b8099 patch 8.2.4377: CI steps for Windows are a bit unorganized
Bram Moolenaar <Bram@vim.org>
parents: 27655
diff changeset
533 if: matrix.coverage
27651
7765b0447add patch 8.2.4351: no coverage is measured on MS-Windows CI
Bram Moolenaar <Bram@vim.org>
parents: 27632
diff changeset
534 shell: msys2 {0}
27702
ae09d11b8099 patch 8.2.4377: CI steps for Windows are a bit unorganized
Bram Moolenaar <Bram@vim.org>
parents: 27655
diff changeset
535 run: find src -name '*.gcno' | tar -c -T - | tar -x -C src2 --strip-components 1
27651
7765b0447add patch 8.2.4351: no coverage is measured on MS-Windows CI
Bram Moolenaar <Bram@vim.org>
parents: 27632
diff changeset
536
27702
ae09d11b8099 patch 8.2.4377: CI steps for Windows are a bit unorganized
Bram Moolenaar <Bram@vim.org>
parents: 27655
diff changeset
537 - name: Test and show the result of testing gVim
23209
1984a3fcc953 patch 8.2.2150: Github actions CI isn't used for all available platforms
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
538 shell: cmd
1984a3fcc953 patch 8.2.2150: Github actions CI isn't used for all available platforms
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
539 timeout-minutes: 20
1984a3fcc953 patch 8.2.2150: Github actions CI isn't used for all available platforms
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
540 run: |
1984a3fcc953 patch 8.2.2150: Github actions CI isn't used for all available platforms
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
541 PATH %LUA_DIR%;C:\msys64\${{ matrix.msystem }}\bin;%PATH%;%PYTHON3_DIR%
1984a3fcc953 patch 8.2.2150: Github actions CI isn't used for all available platforms
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
542 call "%VCVARSALL%" ${{ matrix.vcarch }}
27702
ae09d11b8099 patch 8.2.4377: CI steps for Windows are a bit unorganized
Bram Moolenaar <Bram@vim.org>
parents: 27655
diff changeset
543
ae09d11b8099 patch 8.2.4377: CI steps for Windows are a bit unorganized
Bram Moolenaar <Bram@vim.org>
parents: 27655
diff changeset
544 echo %COL_GREEN%Start testing Vim in background.%COL_RESET%
ae09d11b8099 patch 8.2.4377: CI steps for Windows are a bit unorganized
Bram Moolenaar <Bram@vim.org>
parents: 27655
diff changeset
545 start cmd /c "cd src2\testdir & nmake -nologo -f Make_dos.mak VIMPROG=..\..\src\vim > nul & echo done>done.txt"
23209
1984a3fcc953 patch 8.2.2150: Github actions CI isn't used for all available platforms
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
546
27702
ae09d11b8099 patch 8.2.4377: CI steps for Windows are a bit unorganized
Bram Moolenaar <Bram@vim.org>
parents: 27655
diff changeset
547 echo %COL_GREEN%Test gVim:%COL_RESET%
ae09d11b8099 patch 8.2.4377: CI steps for Windows are a bit unorganized
Bram Moolenaar <Bram@vim.org>
parents: 27655
diff changeset
548 cd src\testdir
ae09d11b8099 patch 8.2.4377: CI steps for Windows are a bit unorganized
Bram Moolenaar <Bram@vim.org>
parents: 27655
diff changeset
549 nmake -nologo -f Make_dos.mak VIMPROG=..\gvim || exit 1
23209
1984a3fcc953 patch 8.2.2150: Github actions CI isn't used for all available platforms
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
550
27702
ae09d11b8099 patch 8.2.4377: CI steps for Windows are a bit unorganized
Bram Moolenaar <Bram@vim.org>
parents: 27655
diff changeset
551 - name: Show the result of testing Vim
ae09d11b8099 patch 8.2.4377: CI steps for Windows are a bit unorganized
Bram Moolenaar <Bram@vim.org>
parents: 27655
diff changeset
552 shell: cmd
ae09d11b8099 patch 8.2.4377: CI steps for Windows are a bit unorganized
Bram Moolenaar <Bram@vim.org>
parents: 27655
diff changeset
553 timeout-minutes: 20
ae09d11b8099 patch 8.2.4377: CI steps for Windows are a bit unorganized
Bram Moolenaar <Bram@vim.org>
parents: 27655
diff changeset
554 run: |
ae09d11b8099 patch 8.2.4377: CI steps for Windows are a bit unorganized
Bram Moolenaar <Bram@vim.org>
parents: 27655
diff changeset
555 PATH %LUA_DIR%;C:\msys64\${{ matrix.msystem }}\bin;%PATH%;%PYTHON3_DIR%
ae09d11b8099 patch 8.2.4377: CI steps for Windows are a bit unorganized
Bram Moolenaar <Bram@vim.org>
parents: 27655
diff changeset
556 call "%VCVARSALL%" ${{ matrix.vcarch }}
23209
1984a3fcc953 patch 8.2.2150: Github actions CI isn't used for all available platforms
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
557
27702
ae09d11b8099 patch 8.2.4377: CI steps for Windows are a bit unorganized
Bram Moolenaar <Bram@vim.org>
parents: 27655
diff changeset
558 echo %COL_GREEN%Wait for Vim tests to finish.%COL_RESET%
ae09d11b8099 patch 8.2.4377: CI steps for Windows are a bit unorganized
Bram Moolenaar <Bram@vim.org>
parents: 27655
diff changeset
559 cd src2\testdir
23209
1984a3fcc953 patch 8.2.2150: Github actions CI isn't used for all available platforms
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
560 :: Wait about 10 minutes.
1984a3fcc953 patch 8.2.2150: Github actions CI isn't used for all available platforms
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
561 for /L %%i in (1,1,60) do (
1984a3fcc953 patch 8.2.2150: Github actions CI isn't used for all available platforms
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
562 if exist done.txt goto exitloop
1984a3fcc953 patch 8.2.2150: Github actions CI isn't used for all available platforms
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
563 timeout 10 > NUL 2>&1
1984a3fcc953 patch 8.2.2150: Github actions CI isn't used for all available platforms
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
564 if ERRORLEVEL 1 ping -n 11 localhost > NUL
1984a3fcc953 patch 8.2.2150: Github actions CI isn't used for all available platforms
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
565 )
1984a3fcc953 patch 8.2.2150: Github actions CI isn't used for all available platforms
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
566 set timeout=1
1984a3fcc953 patch 8.2.2150: Github actions CI isn't used for all available platforms
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
567 :exitloop
1984a3fcc953 patch 8.2.2150: Github actions CI isn't used for all available platforms
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
568
27702
ae09d11b8099 patch 8.2.4377: CI steps for Windows are a bit unorganized
Bram Moolenaar <Bram@vim.org>
parents: 27655
diff changeset
569 echo %COL_GREEN%The result of testing Vim:%COL_RESET%
ae09d11b8099 patch 8.2.4377: CI steps for Windows are a bit unorganized
Bram Moolenaar <Bram@vim.org>
parents: 27655
diff changeset
570 cd src2\testdir
23209
1984a3fcc953 patch 8.2.2150: Github actions CI isn't used for all available platforms
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
571 if exist messages type messages
1984a3fcc953 patch 8.2.2150: Github actions CI isn't used for all available platforms
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
572 nmake -nologo -f Make_dos.mak report VIMPROG=..\..\src\vim || exit 1
27702
ae09d11b8099 patch 8.2.4377: CI steps for Windows are a bit unorganized
Bram Moolenaar <Bram@vim.org>
parents: 27655
diff changeset
573
23209
1984a3fcc953 patch 8.2.2150: Github actions CI isn't used for all available platforms
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
574 if "%timeout%"=="1" (
1984a3fcc953 patch 8.2.2150: Github actions CI isn't used for all available platforms
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
575 echo %COL_RED%Timed out.%COL_RESET%
1984a3fcc953 patch 8.2.2150: Github actions CI isn't used for all available platforms
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
576 exit 1
1984a3fcc953 patch 8.2.2150: Github actions CI isn't used for all available platforms
Bram Moolenaar <Bram@vim.org>
parents:
diff changeset
577 )
27651
7765b0447add patch 8.2.4351: no coverage is measured on MS-Windows CI
Bram Moolenaar <Bram@vim.org>
parents: 27632
diff changeset
578
7765b0447add patch 8.2.4351: no coverage is measured on MS-Windows CI
Bram Moolenaar <Bram@vim.org>
parents: 27632
diff changeset
579 - name: Generate gcov files
27702
ae09d11b8099 patch 8.2.4377: CI steps for Windows are a bit unorganized
Bram Moolenaar <Bram@vim.org>
parents: 27655
diff changeset
580 if: matrix.coverage
27651
7765b0447add patch 8.2.4351: no coverage is measured on MS-Windows CI
Bram Moolenaar <Bram@vim.org>
parents: 27632
diff changeset
581 shell: msys2 {0}
7765b0447add patch 8.2.4351: no coverage is measured on MS-Windows CI
Bram Moolenaar <Bram@vim.org>
parents: 27632
diff changeset
582 run: |
7765b0447add patch 8.2.4351: no coverage is measured on MS-Windows CI
Bram Moolenaar <Bram@vim.org>
parents: 27632
diff changeset
583 cd src
7765b0447add patch 8.2.4351: no coverage is measured on MS-Windows CI
Bram Moolenaar <Bram@vim.org>
parents: 27632
diff changeset
584 find . -type f -name '*.gcno' -exec gcov -pb {} + || true
7765b0447add patch 8.2.4351: no coverage is measured on MS-Windows CI
Bram Moolenaar <Bram@vim.org>
parents: 27632
diff changeset
585 cd ../src2
7765b0447add patch 8.2.4351: no coverage is measured on MS-Windows CI
Bram Moolenaar <Bram@vim.org>
parents: 27632
diff changeset
586 find . -type f -name '*.gcno' -exec gcov -pb {} + || true
7765b0447add patch 8.2.4351: no coverage is measured on MS-Windows CI
Bram Moolenaar <Bram@vim.org>
parents: 27632
diff changeset
587
27702
ae09d11b8099 patch 8.2.4377: CI steps for Windows are a bit unorganized
Bram Moolenaar <Bram@vim.org>
parents: 27655
diff changeset
588 - name: Codecov (gVim)
ae09d11b8099 patch 8.2.4377: CI steps for Windows are a bit unorganized
Bram Moolenaar <Bram@vim.org>
parents: 27655
diff changeset
589 if: matrix.coverage
27651
7765b0447add patch 8.2.4351: no coverage is measured on MS-Windows CI
Bram Moolenaar <Bram@vim.org>
parents: 27632
diff changeset
590 uses: codecov/codecov-action@v2
7765b0447add patch 8.2.4351: no coverage is measured on MS-Windows CI
Bram Moolenaar <Bram@vim.org>
parents: 27632
diff changeset
591 with:
7765b0447add patch 8.2.4351: no coverage is measured on MS-Windows CI
Bram Moolenaar <Bram@vim.org>
parents: 27632
diff changeset
592 directory: src
7765b0447add patch 8.2.4351: no coverage is measured on MS-Windows CI
Bram Moolenaar <Bram@vim.org>
parents: 27632
diff changeset
593 flags: windows,${{ matrix.toolchain }}-${{ matrix.arch }}-${{ matrix.features }}-gui
7765b0447add patch 8.2.4351: no coverage is measured on MS-Windows CI
Bram Moolenaar <Bram@vim.org>
parents: 27632
diff changeset
594
27702
ae09d11b8099 patch 8.2.4377: CI steps for Windows are a bit unorganized
Bram Moolenaar <Bram@vim.org>
parents: 27655
diff changeset
595 - name: Codecov (Vim)
ae09d11b8099 patch 8.2.4377: CI steps for Windows are a bit unorganized
Bram Moolenaar <Bram@vim.org>
parents: 27655
diff changeset
596 if: matrix.coverage
27651
7765b0447add patch 8.2.4351: no coverage is measured on MS-Windows CI
Bram Moolenaar <Bram@vim.org>
parents: 27632
diff changeset
597 uses: codecov/codecov-action@v2
7765b0447add patch 8.2.4351: no coverage is measured on MS-Windows CI
Bram Moolenaar <Bram@vim.org>
parents: 27632
diff changeset
598 with:
7765b0447add patch 8.2.4351: no coverage is measured on MS-Windows CI
Bram Moolenaar <Bram@vim.org>
parents: 27632
diff changeset
599 directory: src2
7765b0447add patch 8.2.4351: no coverage is measured on MS-Windows CI
Bram Moolenaar <Bram@vim.org>
parents: 27632
diff changeset
600 flags: windows,${{ matrix.toolchain }}-${{ matrix.arch }}-${{ matrix.features }}