srevinsaju/guiscrcpy

View on GitHub
.circleci/config.yml

Summary

Maintainability
Test Coverage
# Python CircleCI 2.0 configuration filename
#
# Check https://circleci.com/docs/2.0/language-python/ for more details
#
version: 2
orbs:
  codecov: codecov/codecov@1.0.2
  
jobs:
  build:
    docker:
      # specify the version you desire here
      # use `-browsers` prefix for selenium tests, e.g. `3.6.1-browsers`
      - image: circleci/python:3.8

      # Specify service dependencies here if necessary
      # CircleCI maintains a library of pre-built images
      # documented at https://circleci.com/docs/2.0/circleci-images/
      # - image: circleci/postgres:9.4

    working_directory: ~/guiscrcpy

    steps:
      - checkout
      

      # Download and cache dependencies
      - restore_cache:
          keys:
          
            - v1-dependencies-{{ checksum "requirements.txt" }}
            
            - v1-dependencies-

      - run:
          name: install dependencies
          command: |
            python3 -m venv venv
            . venv/bin/activate
            echo 'export CODECOV_TOKEN="085850e5-a220-4d9f-b174-eb90bbdaab39"' >> $BASH_ENV
            pip install -r requirements.txt
            pip install codecov
            pip install pytest-qt
            pip install coverage
            python3 setup.py install
      
     
            
           
      - save_cache:
          paths:
            - ./venv
          key: v1-dependencies-{{ checksum "requirements.txt" }}

      # run tests!
      # this example uses Django's built-in test-runner
      # other common Python testing frameworks include pytest and nose
      # https://pytest.org
      # https://nose.readthedocs.io
      - run:
          name: run tests
          variables:
            QT_QPA_PLATFORM: "offscreen"
            DISPLAY: ":99.0"
      
          command: |
            /sbin/start-stop-daemon --start --quiet --pidfile /tmp/custom_xvfb_99.pid --make-pidfile --background --exec /usr/bin/Xvfb -- :99 -ac -screen 0 1280x1024x24
            . venv/bin/activate
            python guiscrcpy -v
            ls
            pytest ./guiscrcpy/launcher.py
            
            echo Done