diff options
author | toonn <toonn@toonn.io> | 2019-09-03 19:42:10 +0200 |
---|---|---|
committer | toonn <toonn@toonn.io> | 2019-09-03 21:05:42 +0200 |
commit | 94a621ae4e218c49a0446a700774d79519d71941 (patch) | |
tree | 36f833ed7e87180c59743cdb161efdd969d0794e /.github/workflows | |
parent | 5e66753a7222e585e8a31f617ac3a3c94743f288 (diff) | |
download | ranger-94a621ae4e218c49a0446a700774d79519d71941.tar.gz |
Add GitHub Actions ci
Run our python tests and shellcheck in seperate workflows only when relevant files are changed, respectively python files or `scope.sh`. This tests with one extra version of python, 3.7. GitHub's version of shellcheck seems to be missing a few flags. So we download the latest stable version, 0.7.0 currently.
Diffstat (limited to '.github/workflows')
-rw-r--r-- | .github/workflows/python.yml | 30 | ||||
-rw-r--r-- | .github/workflows/shellcheck.yml | 22 |
2 files changed, 52 insertions, 0 deletions
diff --git a/.github/workflows/python.yml b/.github/workflows/python.yml new file mode 100644 index 00000000..6e872db5 --- /dev/null +++ b/.github/workflows/python.yml @@ -0,0 +1,30 @@ +name: Python lints and tests + +on: + push: + paths: + - '.github/workflows/python.yml' + - '*.py' + +jobs: + test_py: + runs-on: ubuntu-latest + strategy: + max-parallel: 4 + matrix: + python-version: [2.7, 3.5, 3.6, 3.7] + steps: + - uses: actions/checkout@v1 + with: + fetch-depth: 1 + - name: Set up Python ${{ matrix.python-version }} + uses: actions/setup-python@v1 + with: + python-version: ${{ matrix.python-version }} + - name: Install dependencies + run: | + python -m pip install --upgrade pip + pip install -r requirements.txt + - name: Lint and test with pylint, flake8, doctest, pytest + run: | + make test_py diff --git a/.github/workflows/shellcheck.yml b/.github/workflows/shellcheck.yml new file mode 100644 index 00000000..0d10cf61 --- /dev/null +++ b/.github/workflows/shellcheck.yml @@ -0,0 +1,22 @@ +name: Shellcheck scope.sh + +on: + push: + paths: + - '.github/workflows/shellcheck.yml' + - 'ranger/data/scope.sh' + +jobs: + test_shellcheck: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v1 + with: + fetch-depth: 1 + - name: Install newer shellcheck (0.7.0 rather than 0.4.6) + run: | + curl -LO "https://storage.googleapis.com/shellcheck/shellcheck-stable.linux.x86_64.tar.xz" + tar xf shellcheck-stable.linux.x86_64.tar.xz + - name: Shellcheck scope.sh + run: | + env PATH=shellcheck-stable:$PATH make test_shellcheck |