ci: add optional CI that can be triggered manually

These are meant for expensive or situational tests that may not be
suitable to run each time, but can occasionally be useful.

Currently only add testing for s390x. The job is enabled by adding the
ci-s390x label in github.

(cherry picked from commit 20dd9f3a26)
This commit is contained in:
dundargoc
2023-10-31 13:27:39 +01:00
committed by James McCoy
parent f538e4fd01
commit 205e8e4bcf

34
.github/workflows/optional.yml vendored Normal file
View File

@@ -0,0 +1,34 @@
name: optional
on:
pull_request:
types: [labeled, opened, synchronize, reopened]
concurrency:
group: ${{ github.workflow }}-${{ github.event_name == 'pull_request' && github.head_ref || github.sha }}
cancel-in-progress: true
jobs:
s390x:
if: ${{ github.event.label.name == 'ci-s390x' }}
strategy:
fail-fast: false
matrix:
test: [functionaltest, oldtest]
runs-on: ubuntu-latest
timeout-minutes: 60
steps:
- run: docker run --rm --privileged multiarch/qemu-user-static:register --reset
- uses: docker://multiarch/ubuntu-core:s390x-focal
with:
args: >
bash -c
"
apt-get -y update &&
DEBIAN_FRONTEND=noninteractive apt-get -y install attr build-essential cmake curl gettext libattr1-dev ninja-build unzip locales-all cpanminus git &&
git clone --depth=1 https://github.com/neovim/neovim.git &&
cd neovim &&
cmake -S cmake.deps -B .deps -G Ninja -D USE_BUNDLED_LUAJIT=OFF -D USE_BUNDLED_LUA=ON &&
cmake --build .deps &&
cmake -B build -G Ninja -D PREFER_LUA=ON &&
make ${{ matrix.test }}
"