summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSebastian Thiel <sebastian.thiel@icloud.com>2020-04-11 10:41:20 +0800
committerGitHub <noreply@github.com>2020-04-11 10:41:20 +0800
commit15e457c8a245a7f9c90588e577a9cc85e1efec07 (patch)
treeb512890d8c21948accc20b4f2f45c603b8645fe4
parent644f75338667592c35f78a2c2ab921e184a903a0 (diff)
downloadgitpython-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.yml62
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