Mercurial > vim
comparison .github/workflows/ci.yml @ 33183:c8c9d89fc55f v9.0.1871
patch 9.0.1871: Github CI does not run i386 job
Commit: https://github.com/vim/vim/commit/a4245a10eacac614dc833a2721cd7c0376627ec8
Author: James McCoy <jamessan@jamessan.com>
Date: Tue Sep 5 07:41:23 2023 +0200
patch 9.0.1871: Github CI does not run i386 job
Problem: Github CI does not run i386 job
Solution: Add a i386 architecture
Add CI testing for i386
message_test recently failed on i386, which exposed a gap in the CI
testing. Convert the shadowdir job to one that runs on i386 so we get
32-bit test coverage.
Since the GHA runners are x86_64, we can enable the i386 architecture
in dpkg and install i386 packages for the i386 CI jobs. However, this
can't currently be done with features=huge since that would require
installing python3-dev:i386, which breaks the CI environment.
closes: #12975
Signed-off-by: Christian Brabandt <cb@256bit.org>
Co-authored-by: James McCoy <jamessan@jamessan.com>
author | Christian Brabandt <cb@256bit.org> |
---|---|
date | Tue, 05 Sep 2023 07:45:10 +0200 |
parents | 9b2c827e0f2e |
children | db65486d8d75 |
comparison
equal
deleted
inserted
replaced
33182:ab047eb6d559 | 33183:c8c9d89fc55f |
---|---|
35 fail-fast: false | 35 fail-fast: false |
36 matrix: | 36 matrix: |
37 features: [tiny, normal, huge] | 37 features: [tiny, normal, huge] |
38 compiler: [clang, gcc] | 38 compiler: [clang, gcc] |
39 extra: [[]] | 39 extra: [[]] |
40 # Only use non-native architecture when features != huge. | |
41 # features=huge tries to install python3-dev, which fails to install | |
42 # for the non-native architecture. | |
43 architecture: [native] | |
40 include: | 44 include: |
41 - features: tiny | 45 - features: tiny |
42 compiler: clang | 46 compiler: clang |
43 extra: [nogui] | 47 extra: [nogui] |
44 - features: tiny | 48 - features: tiny |
45 compiler: gcc | 49 compiler: gcc |
46 extra: [nogui] | 50 extra: [nogui] |
47 - features: normal | 51 - features: normal |
48 shadow: ./src/shadow | 52 shadow: ./src/shadow |
53 compiler: gcc | |
54 architecture: i386 | |
49 - features: huge | 55 - features: huge |
50 coverage: true | 56 coverage: true |
51 - features: huge | 57 - features: huge |
52 compiler: clang | 58 compiler: clang |
53 interface: dynamic | 59 interface: dynamic |
73 | 79 |
74 steps: | 80 steps: |
75 - name: Checkout repository from github | 81 - name: Checkout repository from github |
76 uses: actions/checkout@v3 | 82 uses: actions/checkout@v3 |
77 | 83 |
84 - run: sudo dpkg --add-architecture i386 | |
85 if: matrix.architecture == 'i386' | |
86 | |
78 - name: Install packages | 87 - name: Install packages |
79 run: | | 88 run: | |
80 PKGS=( \ | 89 PKGS=( \ |
81 gettext \ | 90 gettext \ |
82 libgtk2.0-dev \ | 91 libgtk2.0-dev:${{ matrix.architecture }} \ |
83 desktop-file-utils \ | 92 desktop-file-utils \ |
84 libtool-bin \ | 93 libtool-bin \ |
94 libncurses-dev:${{ matrix.architecture }} \ | |
95 libxt-dev:${{ matrix.architecture }} \ | |
85 ) | 96 ) |
86 if ${{ matrix.features == 'huge' }}; then | 97 if ${{ matrix.features == 'huge' }}; then |
87 LUA_VER=${{ matrix.lua_ver || '5.4' }} | 98 LUA_VER=${{ matrix.lua_ver || '5.4' }} |
88 PKGS+=( \ | 99 PKGS+=( \ |
89 autoconf \ | 100 autoconf \ |
104 sudo apt-get update && sudo apt-get install -y "${PKGS[@]}" | 115 sudo apt-get update && sudo apt-get install -y "${PKGS[@]}" |
105 | 116 |
106 - name: Install gcc-${{ env.GCC_VER }} | 117 - name: Install gcc-${{ env.GCC_VER }} |
107 if: matrix.compiler == 'gcc' | 118 if: matrix.compiler == 'gcc' |
108 run: | | 119 run: | |
109 sudo apt-get install -y gcc-${{ env.GCC_VER }} | 120 sudo apt-get install -y gcc-${{ env.GCC_VER }}:${{ matrix.architecture }} |
110 sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-${{ env.GCC_VER }} 100 | 121 sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-${{ env.GCC_VER }} 100 |
111 sudo update-alternatives --set gcc /usr/bin/gcc-${{ env.GCC_VER }} | 122 sudo update-alternatives --set gcc /usr/bin/gcc-${{ env.GCC_VER }} |
112 | 123 |
113 - name: Install clang-${{ env.CLANG_VER }} | 124 - name: Install clang-${{ env.CLANG_VER }} |
114 if: matrix.compiler == 'clang' | 125 if: matrix.compiler == 'clang' |