aboutsummaryrefslogtreecommitdiff
path: root/.github/workflows/optional.yml
blob: 84d71821c5678e1e972cdc6ffa6a420c9e2eb70a (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
name: optional
on:
  pull_request:
    types: [labeled, opened, synchronize, reopened]
  workflow_dispatch:

concurrency:
  group: ${{ github.workflow }}-${{ github.ref }}
  cancel-in-progress: ${{ github.event_name == 'pull_request' }}

env:
  INSTALL_PREFIX: ${{ github.workspace }}/nvim-install
  # Double test timeout since it's running via qemu
  TEST_TIMEOUT: 2400
  # TEST_FILE: test/functional/shada
  # TEST_FILTER: foo

jobs:
  s390x:
    if: contains(github.event.pull_request.labels.*.name, 'ci:s390x') || github.event_name == 'workflow_dispatch'
    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:
          # Docker runs the command as root, but we want the build/test to run
          # as non-root so permissions based tests run correctly
          args: >
            bash -c
            "
            apt-get -y update &&
            DEBIAN_FRONTEND=noninteractive apt-get -y install build-essential cmake curl gettext ninja-build locales-all cpanminus git attr libattr1-dev  &&
            useradd --create-home qemuci &&
            chown -R qemuci. . &&
            runuser -u qemuci -- git clone --depth=1 https://github.com/neovim/neovim.git &&
            cd neovim &&
            runuser -u qemuci -- git fetch origin ${{ github.ref }}:pr &&
            runuser -u qemuci -- git switch pr &&
            runuser -u qemuci -- cmake -S cmake.deps -B .deps -G Ninja -D USE_BUNDLED_LUAJIT=OFF -D USE_BUNDLED_LUA=ON &&
            runuser -u qemuci -- cmake --build .deps &&
            runuser -u qemuci -- cmake -B build -G Ninja -D CI_BUILD=ON -D PREFER_LUA=ON &&
            runuser -u qemuci -- make ${{ matrix.test }}
            "