name: build on: push: branches: - "main" pull_request: branches: - "main" jobs: test: runs-on: ubuntu-latest strategy: matrix: python-version: [3.6, 3.7, 3.8, 3.9] steps: # Checkout the latest code from the repo - name: Checkout repo uses: actions/checkout@v2 # Setup which version of Python to use - name: Set Up Python ${{ matrix.python-version }} uses: actions/setup-python@v2 with: python-version: ${{ matrix.python-version }} # Display the Python version being used - name: Display Python version run: python -c "import sys; print(sys.version)" # Install the package using the setup.py - name: Install package run: pip install -e . # Install coverage (you can use some other testing utility) - name: Install coverage run: | python -m pip install --upgrade pip pip install coverage # Run the tests. I'm using unittest and coverage and the file is in the tests directory. - name: Run tests run: coverage run -m unittest