diff options
author | Sebastian Thiel <sebastian.thiel@icloud.com> | 2020-04-11 10:41:20 +0800 |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-04-11 10:41:20 +0800 |
commit | 15e457c8a245a7f9c90588e577a9cc85e1efec07 (patch) | |
tree | b512890d8c21948accc20b4f2f45c603b8645fe4 | |
parent | 644f75338667592c35f78a2c2ab921e184a903a0 (diff) | |
download | gitpython-15e457c8a245a7f9c90588e577a9cc85e1efec07.tar.gz |
Create pythonpackage.yml
See if we can get away from Travis, as github actions is faster and easier to use and…works much better in China.
-rw-r--r-- | .github/workflows/pythonpackage.yml | 62 |
1 files changed, 62 insertions, 0 deletions
diff --git a/.github/workflows/pythonpackage.yml b/.github/workflows/pythonpackage.yml new file mode 100644 index 00000000..3b7d348c --- /dev/null +++ b/.github/workflows/pythonpackage.yml @@ -0,0 +1,62 @@ +# This workflow will install Python dependencies, run tests and lint with a variety of Python versions +# For more information see: https://help.github.com/actions/language-and-framework-guides/using-python-with-github-actions + +name: Python package + +on: + push: + branches: [ master ] + pull_request: + branches: [ master ] + +jobs: + build: + + runs-on: ubuntu-latest + strategy: + matrix: + python-version: [3.4, 3.5, 3.6, 3.7, 3.8, nightly] + + steps: + - uses: actions/checkout@v2 + with: + fetch-depth: 9999 + - name: Set up Python ${{ matrix.python-version }} + uses: actions/setup-python@v1 + with: + python-version: ${{ matrix.python-version }} + - name: Install dependencies and prepare tests + run: | + python -m pip install --upgrade pip + python --version; git --version + git submodule update --init --recursive + git fetch --tags + + pip install -r test-requirements.txt + ./init-tests-after-clone.sh + + git config --global user.email "travis@ci.com" + git config --global user.name "Travis Runner" + # If we rewrite the user's config by accident, we will mess it up + # and cause subsequent tests to fail + cat git/test/fixtures/.gitconfig >> ~/.gitconfig + - name: Lint with flake8 + run: | + pip install flake8 + # stop the build if there are Python syntax errors or undefined names + flake8 --ignore=W293,E265,E266,W503,W504,E731 --count --show-source --statistics + - name: Coverage + run: | + pip install codecov + ulimit -n 128 + ulimit -n + coverage run --omit="git/test/*" -m unittest --buffer + coverage report + - name: Documentation + run: | + pip install -r doc/requirements.txt + make -C doc html + - name: Test with pytest + run: | + pip install pytest + pytest |