Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Use tox #2910

Merged
merged 15 commits into from
Jul 21, 2019
Merged

Use tox #2910

merged 15 commits into from
Jul 21, 2019

Conversation

jayvdb
Copy link
Member

@jayvdb jayvdb commented May 25, 2019

Green builds, and lots of closes. Continues #1386 . This is a new PR because that one is so old and has some interesting implementation choices where are no longer relevant due to new approaches.

WIP as the commits need to be split up, linked to issues, etc.

A few parts of this are hopefully going to be replaced with PRs underway by other folk, otherwise I'll take over the assigned issues.

This also implements https://gitlab.com/coala/mobans/merge_requests/130 for Windows CI on both AppVeyor and Travis CI.

@jayvdb
Copy link
Member Author

jayvdb commented May 25, 2019

Coverage appearing at https://codecov.io/gh/coala/coala-bears/tree/c50ebe9/bears

99.9% The remaining coverage is Constants, which is only used by docs/conf.py:from bears.Constants import VERSION

Having coverage at 100% isnt critical any more because of the use of per-file 100% coverage requirements. We should remove Constants. Anyway, this will be fixed by running the docs inside tox also.

.ci/deps.apt-new.sh Outdated Show resolved Hide resolved
.ci/deps.dartsdk.sh Outdated Show resolved Hide resolved
@jayvdb
Copy link
Member Author

jayvdb commented May 26, 2019

The travis failures are intentional, and will be added to "allowed failures", except for Elm and Haskell, the two languages which are supported by Travis but not yet working.

Another change I'll likely try getting into this PR is adding Linux to AppVeyor, as it supports Bionic, which the apt_get factor should handle ok, and there are many more bears with OS distributed packages in bionic.

tox.ini Outdated Show resolved Hide resolved
tests/vcs/git/GitCommitBearTest.py Outdated Show resolved Hide resolved
tests/natural_language/SpellCheckBearTest.py Show resolved Hide resolved
setup.cfg Outdated Show resolved Hide resolved
setup.cfg Outdated Show resolved Hide resolved
bears/r/RLintBear.py Outdated Show resolved Hide resolved
.ci/deps.r Outdated Show resolved Hide resolved
.ci/deps.opam.sh Show resolved Hide resolved
.ci/deps.julia.sh Outdated Show resolved Hide resolved
.ci/deps.go.sh Outdated Show resolved Hide resolved
.ci/deps.elm-platform-packages.ps1 Outdated Show resolved Hide resolved
.ci/deps.node_js.sh Outdated Show resolved Hide resolved
.ci/deps.node_js.sh Outdated Show resolved Hide resolved
.ci/deps.node_js.sh Outdated Show resolved Hide resolved
.ci/deps.pear.sh Outdated Show resolved Hide resolved
@jayvdb jayvdb force-pushed the tox branch 2 times, most recently from 2e149da to 852a3b7 Compare June 30, 2019 12:21
tox.ini Outdated Show resolved Hide resolved
REQUIRE Outdated Show resolved Hide resolved
tox.ini Outdated Show resolved Hide resolved
tox.ini Outdated Show resolved Hide resolved
.travis.yml Show resolved Hide resolved
.travis.yml Outdated Show resolved Hide resolved
.travis.yml Outdated Show resolved Hide resolved
.travis.yml Outdated Show resolved Hide resolved
.travis.yml Outdated Show resolved Hide resolved
.travis.yml Outdated Show resolved Hide resolved
.travis.yml Outdated Show resolved Hide resolved
.travis.yml Outdated Show resolved Hide resolved
@jayvdb jayvdb force-pushed the tox branch 4 times, most recently from bb63381 to 63991bb Compare July 19, 2019 23:39
.ci/deps.generic.sh Show resolved Hide resolved
.ci/deps.ghc-mod.sh Show resolved Hide resolved
.ci/deps.infer.sh Show resolved Hide resolved
.ci/deps.julia.sh Show resolved Hide resolved
.ci/deps.lua.sh Show resolved Hide resolved
.ci/deps.pyenv.sh Outdated Show resolved Hide resolved
.moban.yaml Outdated Show resolved Hide resolved
@jayvdb jayvdb force-pushed the tox branch 3 times, most recently from 6b9b27c to 2928f92 Compare July 20, 2019 06:40
jayvdb added 4 commits July 20, 2019 23:53
This rewrites `.ci/generate_bear_requirements.py` to inject
more metadata into new file bear-metadata.yaml.
This Circle CI v1 file is no longer useful since Circle CI
now requires a v2 file, which will be significantly different.

Related to coala#2298
This reverts commit c77ee65.

coala bears does not control the installed versions on users
machines.
The package.json in this repository is generated to aide installing,
and is not used to build a product and is therefore not locked!
CI fails when the lock is not maintained, and we have no reason
to maintain a lock file.

Related to coala#2508
Setting check_end_labels was created to remove the need to add
copious comments in the Jinja templates.

These help with Jinja2 templates, however there are other
unavoidable errors with bears-travis.yml.jj2
.ci/deps.npm.sh Outdated Show resolved Hide resolved
.ci/deps.alex.sh Show resolved Hide resolved
.ci/deps.pyenv.sh Outdated Show resolved Hide resolved
.moban.dt/travis-before-install.yaml Outdated Show resolved Hide resolved
.moban.dt/travis-manual-matrix.yaml Outdated Show resolved Hide resolved
.moban.yaml Outdated Show resolved Hide resolved
@jayvdb jayvdb force-pushed the tox branch 2 times, most recently from 2346c2b to a10afdf Compare July 21, 2019 04:11
This replaces Travis CI 'single image' with one VM for each set
of bears with similar dependencies, using tox to select the sets.

And it replaces AppVeyor CI to use FudgeCI to be a managable
'single image' VM that includes most of the dependencies needed
by bears, and uses tox to select the sets of bears.

The tox setup allows being used with or without --sitepackages,
and the AppVeyor CI does use --sitepackages and other tricks
to allow .ps1 finer control over the process of installing python
dependencies.

This uses tox-backticks to allow multiple selectors to be mapped
to multiple tests that pytest will run.

It uses pytest-cov-threshold to allow custom thresholds for each
source file, allowing each job to deselect the source files that
need coverage depending on the selected tests for the job.
@jayvdb jayvdb merged commit cbe1841 into coala:master Jul 21, 2019
jayvdb added a commit to jayvdb/coala-bears that referenced this pull request Jul 24, 2019
Running of .ci/deps.coala-bears.sh was removed from tox.ini
during the cleanup of coala#2910
but was necessary and the problem masked by the CI cache.

Fixes coala#2937
jayvdb added a commit to jayvdb/coala-bears that referenced this pull request Aug 3, 2019
Running of .ci/deps.coala-bears.sh was removed from tox.ini
during the cleanup of coala#2910
but was necessary and the problem masked by the CI cache.

Fixes coala#2937
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Development

Successfully merging this pull request may close these issues.

1 participant