huak 0.0.8-alpha.2

A Python package manager written in Rust inspired by Cargo.
Documentation
name: Python CI
# This top level workflow controls the what and when of the CI pipeline for Python components of huak

on:
  push:
    branches:
      - "master"
    paths:
      - 'huak-py/**'
      - '.github/workflows/ci-python.yaml'
  pull_request:
    branches:
      - "master"
    paths:
      - 'huak-py/**'
      - '.github/workflows/ci-python.yaml'

jobs:
  tests:
    runs-on: ubuntu-latest
    strategy:
      matrix:
        python-version: ['3.10']

    steps:
      - name: Checkout repo
        uses: actions/checkout@v2

      - name: Setup python
        uses: actions/setup-python@v1
        with:
          python-version: ${{ matrix.python-version }}
          architecture: x64

      - name: Install and configure Poetry
        uses: snok/install-poetry@v1
        with:
          version: 1.1.13
          virtualenvs-create: true
          virtualenvs-in-project: true
          installer-parallel: true

      - name: Load cached venv
        id: cached-poetry-dependencies
        uses: actions/cache@v2
        with:
          path: huak-py/.venv
          key: venv-${{ runner.os }}-${{ hashFiles('**/poetry.lock') }}

      - name: Install dependencies
        if: steps.cached-poetry-dependencies.outputs.cache-hit != 'true'
        run: cd huak-py && poetry install --no-interaction --no-root

      - name: Install library
        run: cd huak-py && poetry install --no-interaction

      - name: Run lint
        run: cd huak-py && make lint

      - name: Run mypy
        run: cd huak-py && make lint-types

      - name: Run fmt check
        run: cd huak-py && make fmt-check

      - name: Run tests
        run: cd huak-py && make test