Skip to content

[READY] Update CI config #587

[READY] Update CI config

[READY] Update CI config #587

Workflow file for this run

name: CI
on:
workflow_dispatch:
pull_request:
push:
branches:
- master
jobs:
python-tests:
strategy:
fail-fast: false
matrix:
runs-on: [ ubuntu-24.04, macos-14, windows-2019 ]
python-arch: [ 'x64' ]
include:
- runs-on: macos-14
python-arch: 'arm64'
- runs-on: windows-2019
python-arch: 'x86'
exclude:
- runs-on: macos-14
python-arch: "x64"
env:
COVERAGE: true
name: "${{ matrix.runs-on }} - Python 3.9 ${{ matrix.python-arch }}"
runs-on: ${{ matrix.runs-on }}
steps:
- uses: actions/checkout@v4
with:
submodules: recursive
fetch-depth: 0
- name: Install Python
uses: actions/setup-python@v5
with:
python-version: "3.9"
architecture: ${{ matrix.python-arch }}
- name: Run pip
run: python3 -m pip install -r python/test_requirements.txt
- name: Run tests
run: python3 run_tests.py --quiet python/ycm/tests
- name: summarise coverage
run: coverage xml
- name: Upload coverage data
uses: codecov/codecov-action@v4
with:
name: "${{ runner.os }}-3.9-${{ matrix.python-arch }}"
token: ${{ secrets.CODECOV_TOKEN }}
vim-tests:
strategy:
fail-fast: false
matrix:
vim: [ 'new', 'old' ]
arch: [ 'x86_64' ]
runs-on: ubuntu-20.04
container: 'youcompleteme/ycm-vim-${{ matrix.arch }}-py3:test'
env:
COVERAGE: true
YCM_TEST_STDOUT: true
name: "Vim tests - ${{ matrix.vim }}"
steps:
- uses: actions/checkout@v4
with:
submodules: recursive
fetch-depth: 0
- name: Install dependencies
run: sudo -H pip3 install -r python/test_requirements.txt
- name: Install Java
uses: actions/setup-java@v4
with:
java-version: 17
distribution: 'temurin'
- name: Build ycmd
run: python3 ./install.py --force-sudo --ts-completer --clangd-completer --java-completer
- name: Run tests in old vim
# System vim should be oldest supported.
if: matrix.vim == 'old'
run: ./test/run_vim_tests --vim /usr/bin/vim
- name: Run tests in new vim
if: matrix.vim == 'new'
run: ./test/run_vim_tests
- name: Combine and summarise coverage
run: coverage combine && coverage xml
- name: Upload coverage data
uses: codecov/codecov-action@v4
with:
name: "vim-tests-${{ matrix.vim }}"
token: ${{ secrets.CODECOV_TOKEN }}