name: ci on: push jobs: # lint: # name: lint # runs-on: ubuntu-latest # steps: # - uses: actions/checkout@v1 # - uses: actions/setup-python@v1 # with: # python-version: '3.7' # - name: extract pip cache # uses: actions/cache@v2 # with: # path: ~/.cache/pip # key: ${{ runner.os }}-pip-${{ hashFiles('setup.py') }} # restore-keys: ${{ runner.os }}-pip- # - run: | # pip install --user --upgrade pip wheel # pip install -e .[lint] # - run: make lint tests-unit: name: "tests / unit" strategy: matrix: os: - ubuntu-latest - macos-latest - windows-latest runs-on: ${{ matrix.os }} steps: - uses: actions/checkout@v1 - uses: actions/setup-python@v1 with: python-version: '3.7' - name: set pip cache dir id: pip-cache run: echo "::set-output name=dir::$(pip cache dir)" - name: extract pip cache uses: actions/cache@v2 with: path: ${{ steps.pip-cache.outputs.dir }} key: ${{ runner.os }}-pip-${{ hashFiles('setup.py') }} restore-keys: ${{ runner.os }}-pip- - run: | pip install --user --upgrade pip wheel pip install -e .[test] - env: HOME: /tmp run: coverage run -m unittest -vv tests.unit.test_conf # run: coverage run -m unittest discover -vv tests.unit - if: startsWith(runner.os, 'linux') || startsWith(runner.os, 'mac') env: COVERALLS_REPO_TOKEN: ${{ secrets.GITHUB_TOKEN }} COVERALLS_PARALLEL: true name: Submit to coveralls run: | pip install coveralls coveralls debug complete_coverals: needs: tests-unit runs-on: ubuntu-latest steps: - name: Coveralls Finished uses: coverallsapp/github-action@57daa114 with: github-token: ${{ secrets.GITHUB_TOKEN }} parallel-finished: true # tests-integration: # name: "tests / integration" # runs-on: ubuntu-latest # strategy: # matrix: # test: ## - datanetwork # - blockchain ## - other # db: # - sqlite ## - postgres ## services: ## postgres: ## image: postgres:12 ## env: ## POSTGRES_USER: postgres ## POSTGRES_PASSWORD: postgres ## POSTGRES_DB: postgres ## ports: ## - 5432:5432 ## options: --health-cmd pg_isready --health-interval 10s --health-timeout 5s --health-retries 5 # steps: # - uses: actions/checkout@v1 # - uses: actions/setup-python@v1 # with: # python-version: '3.7' # - if: matrix.test == 'other' # run: | # sudo apt-get update # sudo apt-get install -y --no-install-recommends ffmpeg # - name: extract pip cache # uses: actions/cache@v2 # with: # path: ./.tox # key: tox-integration-${{ matrix.test }}-${{ matrix.db }}-${{ hashFiles('setup.py') }} # restore-keys: txo-integration-${{ matrix.test }}-${{ matrix.db }}- # - run: pip install tox # - env: # TEST_DB: ${{ matrix.db }} # run: tox -e ${{ matrix.test }} # build: # needs: ["lint", "tests-unit", "tests-integration"] # name: "build" # strategy: # matrix: # os: # - ubuntu-16.04 # - macos-latest # - windows-latest # runs-on: ${{ matrix.os }} # steps: # - uses: actions/checkout@v1 # - uses: actions/setup-python@v1 # with: # python-version: '3.7' # - name: set pip cache dir # id: pip-cache # run: echo "::set-output name=dir::$(pip cache dir)" # - name: extract pip cache # uses: actions/cache@v2 # with: # path: ${{ steps.pip-cache.outputs.dir }} # key: ${{ runner.os }}-pip-${{ hashFiles('setup.py') }} # restore-keys: ${{ runner.os }}-pip- # - if: startsWith(runner.os, 'linux') # run: sudo apt-get install libzmq3-dev # - if: startsWith(runner.os, 'mac') # run: brew install zeromq # - name: Setup # run: | # pip install --user --upgrade pip wheel # pip install sqlalchemy@git+https://github.com/eukreign/pyinstaller.git@sqlalchemy # pip install -e . # - if: startsWith(runner.os, 'linux') # run: pip install psycopg2 # - if: startsWith(runner.os, 'linux') || startsWith(runner.os, 'mac') # name: Build & Run (Unix) # run: | # pyinstaller --onefile --name lbrynet lbry/cli.py # chmod +x dist/lbrynet # dist/lbrynet --version # - if: startsWith(runner.os, 'windows') # name: Build & Run (Windows) # run: | # pip install pywin32 # pyinstaller --additional-hooks-dir=scripts/. --icon=icons/lbry256.ico --onefile --name lbrynet lbry/cli.py # dist/lbrynet.exe --version # - uses: actions/upload-artifact@v2 # with: # name: lbrynet-${{ matrix.os }} # path: dist/