azure pipelines [skip travis] [skip appveyor]
diff --git a/.coveragerc b/.coveragerc
index 0a55c5f..7c592a9 100644
--- a/.coveragerc
+++ b/.coveragerc
@@ -6,7 +6,6 @@
.tox/*
/usr/*
setup.py
- get-git-lfs.py
[report]
show_missing = True
diff --git a/.travis.yml b/.travis.yml
deleted file mode 100644
index fa16cce..0000000
--- a/.travis.yml
+++ /dev/null
@@ -1,22 +0,0 @@
-dist: xenial
-language: python
-matrix:
- include: # These should match the tox env list
- - env: TOXENV=py27
- - env: TOXENV=py36
- python: 3.6
- - env: TOXENV=py37
- python: 3.7
- - env: TOXENV=pypy
- python: pypy2.7-5.10.0
-install: pip install coveralls tox
-script: tox
-before_install:
- # Install git-lfs for a test
- - './get-git-lfs.py && export PATH="/tmp/git-lfs:$PATH"'
-after_success: coveralls
-cache:
- directories:
- - $HOME/.cache/pip
- - $HOME/.cache/pre-commit
- - /tmp/git-lfs
diff --git a/README.md b/README.md
index 177c4be..a937771 100644
--- a/README.md
+++ b/README.md
@@ -1,9 +1,8 @@
-[](https://travis-ci.org/pre-commit/pre-commit-hooks)
-[](https://coveralls.io/github/pre-commit/pre-commit-hooks?branch=master)
-[](https://ci.appveyor.com/project/asottile/pre-commit-hooks/branch/master)
+[](https://asottile.visualstudio.com/asottile/_build/latest?definitionId=17&branchName=master)
+[](https://dev.azure.com/asottile/asottile/_build/latest?definitionId=17&branchName=master)
pre-commit-hooks
-==========
+================
Some out-of-the-box hooks for pre-commit.
diff --git a/appveyor.yml b/appveyor.yml
deleted file mode 100644
index 395320b..0000000
--- a/appveyor.yml
+++ /dev/null
@@ -1,17 +0,0 @@
-environment:
- matrix:
- - TOXENV: py27
- - TOXENV: py37
-
-install:
- - "SET PATH=C:\\Python37;C:\\Python37\\Scripts;%PATH%"
- - pip install tox
-
-# Not a C# project
-build: false
-
-test_script: tox
-
-cache:
- - '%LOCALAPPDATA%\pip\cache'
- - '%USERPROFILE%\.cache\pre-commit'
diff --git a/azure-pipelines.yml b/azure-pipelines.yml
new file mode 100644
index 0000000..ab4c896
--- /dev/null
+++ b/azure-pipelines.yml
@@ -0,0 +1,25 @@
+trigger:
+ branches:
+ include: [master, test-me-*]
+
+resources:
+ repositories:
+ - repository: asottile
+ type: github
+ endpoint: asottile-github
+ name: asottile/azure-pipeline-templates
+ ref: refs/tags/v0.0.8
+
+jobs:
+- template: job--python-tox.yml@asottile
+ parameters:
+ toxenvs: [py27, py37]
+ os: windows
+ pre_test:
+ - script: git lfs
+- template: job--python-tox.yml@asottile
+ parameters:
+ toxenvs: [pypy, py27, py36, py37]
+ os: linux
+ pre_test:
+ - script: git lfs
diff --git a/get-git-lfs.py b/get-git-lfs.py
deleted file mode 100755
index 4b09cac..0000000
--- a/get-git-lfs.py
+++ /dev/null
@@ -1,42 +0,0 @@
-#!/usr/bin/env python3
-"""This is a script to install git-lfs to a tempdir for use in tests"""
-import io
-import os.path
-import shutil
-import tarfile
-import urllib.request
-from typing import cast
-from typing import IO
-
-DOWNLOAD_PATH = (
- 'https://github.com/github/git-lfs/releases/download/'
- 'v2.2.1/git-lfs-linux-amd64-2.2.1.tar.gz'
-)
-PATH_IN_TAR = 'git-lfs-2.2.1/git-lfs'
-DEST_PATH = '/tmp/git-lfs/git-lfs'
-DEST_DIR = os.path.dirname(DEST_PATH)
-
-
-def main(): # type: () -> int
- if (
- os.path.exists(DEST_PATH) and
- os.path.isfile(DEST_PATH) and
- os.access(DEST_PATH, os.X_OK)
- ):
- print('Already installed!')
- return 0
-
- shutil.rmtree(DEST_DIR, ignore_errors=True)
- os.makedirs(DEST_DIR, exist_ok=True)
-
- contents = io.BytesIO(urllib.request.urlopen(DOWNLOAD_PATH).read())
- with tarfile.open(fileobj=contents) as tar:
- with cast(IO[bytes], tar.extractfile(PATH_IN_TAR)) as src_file:
- with open(DEST_PATH, 'wb') as dest_file:
- shutil.copyfileobj(src_file, dest_file)
- os.chmod(DEST_PATH, 0o755)
- return 0
-
-
-if __name__ == '__main__':
- exit(main())
diff --git a/pre_commit_hooks/util.py b/pre_commit_hooks/util.py
index 5d1d11b..d68e769 100644
--- a/pre_commit_hooks/util.py
+++ b/pre_commit_hooks/util.py
@@ -24,8 +24,6 @@
proc = subprocess.Popen(cmd, **kwargs)
stdout, stderr = proc.communicate()
stdout = stdout.decode('UTF-8')
- if stderr is not None:
- stderr = stderr.decode('UTF-8')
if retcode is not None and proc.returncode != retcode:
raise CalledProcessError(cmd, retcode, proc.returncode, stdout, stderr)
return stdout
diff --git a/tests/check_added_large_files_test.py b/tests/check_added_large_files_test.py
index 06671d7..7f5e418 100644
--- a/tests/check_added_large_files_test.py
+++ b/tests/check_added_large_files_test.py
@@ -1,7 +1,7 @@
from __future__ import absolute_import
from __future__ import unicode_literals
-import subprocess
+import distutils.spawn
import pytest
@@ -67,8 +67,7 @@
def has_gitlfs():
- output = cmd_output('git', 'lfs', retcode=None, stderr=subprocess.STDOUT)
- return 'git lfs status' in output
+ return distutils.spawn.find_executable('git-lfs') is not None
xfailif_no_gitlfs = pytest.mark.xfail(
diff --git a/tests/check_merge_conflict_test.py b/tests/check_merge_conflict_test.py
index 50e389c..af7cc43 100644
--- a/tests/check_merge_conflict_test.py
+++ b/tests/check_merge_conflict_test.py
@@ -22,7 +22,7 @@
cmd_output('git', 'init', '--', repo1.strpath)
with repo1.as_cwd():
repo1_f1.ensure()
- cmd_output('git', 'add', '--', repo1_f1.strpath)
+ cmd_output('git', 'add', '.')
cmd_output('git', 'commit', '--no-gpg-sign', '-m', 'commit1')
cmd_output('git', 'clone', repo1.strpath, repo2.strpath)
@@ -77,7 +77,7 @@
cmd_output('git', 'init', repo1.strpath)
with repo1.as_cwd():
repo1_f1.ensure()
- cmd_output('git', 'add', '--', repo1_f1.strpath)
+ cmd_output('git', 'add', '.')
cmd_output('git', 'commit', '--no-gpg-sign', '-m', 'commit1')
cmd_output('git', 'clone', repo1.strpath, repo2.strpath)
@@ -90,7 +90,7 @@
# Commit in clone and pull without committing
with repo2.as_cwd():
repo2_f2.write('child\n')
- cmd_output('git', 'add', '--', repo2_f2.strpath)
+ cmd_output('git', 'add', '.')
cmd_output('git', 'commit', '--no-gpg-sign', '-m', 'clone commit2')
cmd_output('git', 'pull', '--no-commit', '--no-rebase')
# We should end up in a pending merge
diff --git a/tox.ini b/tox.ini
index 3020bc0..590783a 100644
--- a/tox.ini
+++ b/tox.ini
@@ -1,5 +1,4 @@
[tox]
-# These should match the travis env list
envlist = py27,py36,py37,pypy3
[testenv]