Commit Graph

18 Commits

Author SHA1 Message Date
Jack O'Connor f97bfc19f9 remove the allowed failure setting on nightly Python
It looks like whatever that coverage bug was has been fixed.
2016-05-02 10:19:54 -04:00
Jack O'Connor 14ec9c64fd allow the nightly build to fail
It doesn't look like coverage supports nightly yet. We can deal with
this later.
2016-04-26 12:45:00 -04:00
Jack O'Connor 577424f876 add nightly Python to our Travis runs 2016-04-26 12:39:05 -04:00
Jack O'Connor 8d3175d9cb add Python 3.5 to our Travis build 2015-10-07 11:09:05 -04:00
Jack O'Connor 3a9620e948 fix the coveralls report
Summary:
Ever since the switch from `test.sh` to `test.py`, we've been generating
the `.coverage` file inside `tests/`. Update `.travis.yml` to run
`coveralls` in the right place.

Also, handle the `--with-coverage` flag in a slightly more flexible way.

Test Plan:
Watch the build in my fork and make sure it looks like it's going to
work.

Reviewers: sean

Reviewed By: sean

Differential Revision: https://phabricator.buildinspace.com/D182
2015-01-26 16:41:33 -08:00
Jack O'Connor e951bf78e9 make sure coveralls is installed on Travis
Summary:
I'm not sure if the Travis default configuration changed, but our latest
builds haven't been updating Coveralls. Make sure the client is
installed.

Test Plan: Tried it on my own fork, the command seemed to work.

Reviewers: sean

Reviewed By: sean

Differential Revision: https://phabricator.buildinspace.com/D181
2015-01-26 15:57:48 -08:00
Sean Olson 2fbd7a77e3 remove third-party/
Summary:
Remove the third-party/ directory and no longer rely on copies of dependencies
in the repo. When needed, fetch dependencies normally. This can usually be
accomplished via `pip install -r requirements.txt` or `pip install -r
requirements-dev.txt`.

Even though `peru.yaml` is gone, `.peru/` is still in `.gitignore`, because the
tests check for untracked files and will detect `.peru/` as an error.

Test Plan: Successfully ran tests locally and via Travis CI.

Reviewers: jacko

Reviewed By: jacko

Differential Revision: https://phabricator.buildinspace.com/D145
2014-12-20 21:06:36 -08:00
Jack O'Connor f438592800 reimplement shared bash scripts in python
Summary:
We have peru.sh and peru.bat, and also test.sh and test.bat. Rather than
maintaining both of those duplicates to support Windows, just
reimplement them in Python.

There's also validate-third-party.sh, but we never really use that on
Windows. We can port it in a later diff if we feel like it.

Test Plan:
Check that tests actually fail after introducing a bug. (To make sure
we're not actually testing the installed version instead of the repo
version.) Check that the linter fails after dirtying up some code. Check
that the untracked file test fails by creating a random file during
tests.

Reviewers: sean

Reviewed By: sean

Differential Revision: https://phabricator.buildinspace.com/D143
2014-12-18 15:12:14 -08:00
Jack O'Connor 90316ba268 fix the travis build
Summary: We forgot to point .travis.yml to the new test script name.

Test Plan: Pushed a branch to my fork.

Reviewers: sean

Differential Revision: https://phabricator.buildinspace.com/D140
2014-12-06 20:49:32 -06:00
Sean Olson a970ce27b7 reorganize scripts/ directory
Summary:
This is a cosmetic change and moves some more "targeted" scripts to specific
directories. It also pairs Windows-specific scripts with their Posix
counterparts.

Reviewers: jacko

Reviewed By: jacko

Differential Revision: https://phabricator.buildinspace.com/D138
2014-12-06 17:47:12 -08:00
Jack O'Connor af3e693e75 make travis test runs more verbose
Summary:
That way if a test has weird output, it's easier to tell what it's
coming from. Also allow test.sh to take command line arguments and
forward them to the unittest command.

Reviewers: sean

Differential Revision: https://phabricator.buildinspace.com/D129
2014-11-23 20:27:36 -05:00
Jack O'Connor 3a8306b067 parallel plugin fetching
Summary:
Use Python 3.4's `asyncio` to do plugin fetching in parallel. Right
now we don't try to parallelize any build or cache operations; those are still
done in series to keep things simple. We also don't do anything fancy with the
console; fetches will still print as they go, though reups have been modified a
little to make sure their outputs don't interleave.

This revision drops support for Python 3.2. We use the backport of `asyncio`
to maintain support for 3.3.

Test Plan:
All existing tests are passing. Not yet sure how best to test
the parallelism.

Reviewers: sean

Differential Revision: https://phabricator.buildinspace.com/D58
2014-08-26 23:23:37 -07:00
Jack O'Connor 77643c62a0 stop requiring realpath
Summary:
Most systems don't have `realpath` by default.  Right now the only other
dependencies you need to run peru from the repo are python3 and git, and
keeping it to just those two would be nice. (Note that running tests requires
other stuff.)

The only script that actually needs `realpath` is `peru.sh`, because that's the
only one that needs to support being run from a symlink. Use the pure bash
version from http://stackoverflow.com/a/1116890/823869.

Test Plan:
I can still invoke peru from my `~/bin/peru` symlink. The `test.sh`
and `validate_third_party.sh` scripts still work from outside the repo.

Reviewers: sean

Differential Revision: https://phabricator.buildinspace.com/D35
2014-07-24 16:14:18 -07:00
Sean Olson 36f03d918f coveralls support
Summary: Integrate with coveralls.io.

Reviewers: jacko

Reviewed By: jacko

Differential Revision: https://phabricator.buildinspace.com/D28
2014-07-21 17:20:17 -07:00
Jack O'Connor 7adcf729b9 create validate_third_party.sh and add it to .travis.yml
We would love to have peru fetch all of its own dependencies, but that
leads us to a bootstrapping problem: We can't run peru until it's
dependencies are present. To work around that, we define dependencies in
peru.yaml, and we also check them in. That means we could get into a
state where what's checked in doesn't match what's in peru.yaml, which
could cause all sorts of trouble.

To avoid that problem, create the validate_third_party.sh script. This
runs a fresh sync of our peru.yaml and compares the result to what we
have in the repo, to make sure they match. Run this as part of our
Travis tests. The expected workflow is that commits that change
peru.yaml should also commit the new third-party, or else they'll break
this test.

We're not including this in test.sh, because it's pretty slow if you
don't have PERU_PLUGINS_CACHE set to something persistent. Running it in
Travis should be enough.
2014-06-28 15:31:42 -07:00
Jack O'Connor 0892b9d7d4 travis needs to install flake8 2014-06-16 17:43:45 -07:00
Jack O'Connor c0f79b0d78 travis needs to install realpath 2014-06-16 17:20:58 -07:00
Jack O'Connor 032057aca7 create .travis.yml
Tests should be passing in 3.4, but failing in 3.3 and 3.2.
2014-06-16 17:09:50 -07:00