neovim

Neovim text editor
git clone https://git.dasho.dev/neovim.git
Log | Files | Refs | README

optional.yml (2203B)


      1 name: optional
      2 on:
      3  pull_request:
      4    types: [labeled, opened, synchronize, reopened]
      5  workflow_dispatch:
      6 
      7 concurrency:
      8  group: ${{ github.workflow }}-${{ github.ref }}
      9  cancel-in-progress: ${{ github.event_name == 'pull_request' }}
     10 
     11 env:
     12  INSTALL_PREFIX: ${{ github.workspace }}/nvim-install
     13  # Double test timeout since it's running via qemu
     14  TEST_TIMEOUT: 3600
     15  # TEST_FILE: test/functional/shada
     16  # TEST_FILTER: foo
     17 
     18 jobs:
     19  s390x:
     20    if: contains(github.event.pull_request.labels.*.name, 'ci:s390x') || github.event_name == 'workflow_dispatch'
     21    strategy:
     22      fail-fast: false
     23      matrix:
     24        test: [functionaltest, oldtest]
     25    runs-on: ubuntu-latest
     26    timeout-minutes: 90
     27    steps:
     28      - run: docker run --rm --privileged multiarch/qemu-user-static:register --reset
     29      - uses: docker://multiarch/ubuntu-core:s390x-focal
     30        with:
     31          # Docker runs the command as root, but we want the build/test to run
     32          # as non-root so permissions based tests run correctly
     33          args: >
     34            bash -c
     35            "
     36            apt-get -y update &&
     37            time DEBIAN_FRONTEND=noninteractive apt-get -y install build-essential cmake curl gettext ninja-build locales-all cpanminus git attr libattr1-dev xdg-utils &&
     38            useradd --create-home qemuci &&
     39            chown -R qemuci. . &&
     40            runuser -u qemuci -- git clone --depth=1 https://github.com/neovim/neovim.git &&
     41            cd neovim &&
     42            runuser -u qemuci -- git fetch origin ${{ github.ref }}:pr &&
     43            runuser -u qemuci -- git switch pr &&
     44            runuser -u qemuci -- cmake -S cmake.deps -B .deps -G Ninja -D USE_BUNDLED_LUAJIT=OFF -D USE_BUNDLED_LUA=ON &&
     45            runuser -u qemuci -- cmake --build .deps &&
     46            runuser -u qemuci -- cmake -B build -G Ninja -D CI_BUILD=ON -D PREFER_LUA=ON &&
     47            runuser -u qemuci -- make ${{ matrix.test }}
     48            "
     49 
     50  windows-asan:
     51    if: contains(github.event.pull_request.labels.*.name, 'ci:windows-asan') || github.event_name == 'workflow_dispatch'
     52    uses: ./.github/workflows/test_windows.yml
     53    with:
     54      build_flags: "-D ENABLE_ASAN_UBSAN=ON"
     55      functionaltest_timeout: 40