From 8a2129b894f18a476f91951669fec6bfcae91226 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Micha=C3=ABl=20Arnauts?= Date: Thu, 17 Dec 2020 14:16:49 +0100 Subject: [PATCH] Run CI on Windows (#62) * Run CI on Windows * Don't run service on windows --- .github/workflows/ci.yml | 20 ++++++++++++++++++-- 1 file changed, 18 insertions(+), 2 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 8eabefb..405cc33 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -5,7 +5,7 @@ on: jobs: tests: name: Add-on testing - runs-on: ubuntu-latest + runs-on: ${{ matrix.os }} env: PYTHONIOENCODING: utf-8 PYTHONPATH: ${{ github.workspace }}/resources/lib @@ -14,7 +14,17 @@ jobs: strategy: fail-fast: false matrix: + os: [ubuntu-latest] python-version: [2.7, 3.5, 3.6, 3.7, 3.8, 3.9] + include: + # Kodi Leia on Windows uses a bundled Python 2.7 + - os: windows-latest + python-version: 2.7 + # Kodi Matrix on Windows uses a bundled Python 3.8 + - os: windows-latest + python-version: 3.8 + - os: windows-latest + python-version: 3.9 steps: - name: Check out ${{ github.sha }} from repository ${{ github.repository }} uses: actions/checkout@v2 @@ -22,10 +32,13 @@ jobs: uses: actions/setup-python@v1 with: python-version: ${{ matrix.python-version }} - - name: Install dependencies + - name: Install dependencies (linux) + if: matrix.os == 'ubuntu-latest' run: | sudo apt-get install gettext sudo pip install coverage --install-option="--install-scripts=/usr/bin" + - name: Install dependencies + run: | python -m pip install --upgrade pip pip install -r requirements.txt - name: Run pylint @@ -33,6 +46,7 @@ jobs: - name: Run tox run: make check-tox - name: Check translations + if: matrix.os == 'ubuntu-latest' run: make check-translations - name: Run unit tests run: coverage run -m unittest discover @@ -40,10 +54,12 @@ jobs: ADDON_PASSWORD: ${{ secrets.ADDON_PASSWORD }} ADDON_USERNAME: ${{ secrets.ADDON_USERNAME }} - name: Run addon service for 10 seconds + if: matrix.os == 'ubuntu-latest' run: timeout --preserve-status -s SIGINT 10 coverage run -a service_entry.py env: ADDON_PASSWORD: ${{ secrets.ADDON_PASSWORD }} ADDON_USERNAME: ${{ secrets.ADDON_USERNAME }} - name: Upload code coverage to CodeCov + if: matrix.os == 'ubuntu-latest' uses: codecov/codecov-action@v1 continue-on-error: true