Skip to content

Conversation

tleonhardt
Copy link
Member

@tleonhardt tleonhardt commented Jan 30, 2021

Use GitHub Actions for continuous integration (CI) testing on Linux, macOS, and Windows

Also:

  • Move generic GitHub files to .github directory
  • Remove all use of Travis CI and AppVeyor
  • Refactor do_history command slightly to fix a flake8 warning about high complexity

Fixes #874

This PR replaces all of Travis CI (Linux) and AppVeyor (Windows) for testing with GitHub Actions. For now, Azure Pipelines has been left in place for MacOS testing even though this is redundant with the GitHub Actions configuration.

TODO:

  • Get setuptools_scm version working correctly
  • Get all tests working on every matrix variant (combo of OS + Python version)
  • Make sure code coverage reporting is still working
  • Fix GitHub Actions matrix strategy interaction with nox
  • Consider moving flake8 linting to a separate workflow
  • Make sure we have a test for Sphinx documentation build, either in its own workflow or within this one
  • Remove other CI tools, at a minimum remove Travis CI; but consider removing AppVeyor and/or Azure Pipelines
  • Update test passing/failing badges in README
  • Fix or remove GitHubs Actions cache step

Also:
- Start to try to use GitHub Actions to do continuous integration testing
- Reduce number of TravisCI builds to see if it helps with how god awfully long it takes
@tleonhardt tleonhardt requested a review from kotfu January 30, 2021 02:57
@tleonhardt tleonhardt self-assigned this Jan 30, 2021
Also:
- Refactored do_history command to extract a helper method to fix a flake8 warning about high complexity
Also:
- Install setuptools and setuptools-scm to hopefully help with version confusion due to lack of setuptools-scm
- Try running nox using python -m since it wasn't found as a command when running on windows via GitHub Actions
…ons not being able to determine version via setuptools_scm
@tleonhardt tleonhardt requested a review from anselor January 30, 2021 19:20
@codecov
Copy link

codecov bot commented Jan 30, 2021

Codecov Report

Merging #1051 (631eaa9) into master (cd37707) will increase coverage by 1.36%.
The diff coverage is 100.00%.

Impacted file tree graph

@@            Coverage Diff             @@
##           master    #1051      +/-   ##
==========================================
+ Coverage   96.78%   98.14%   +1.36%     
==========================================
  Files          21       22       +1     
  Lines        4597     4630      +33     
==========================================
+ Hits         4449     4544      +95     
+ Misses        148       86      -62     
Impacted Files Coverage Δ
cmd2/cmd2.py 97.75% <100.00%> (+2.19%) ⬆️
cmd2/plugin.py 100.00% <0.00%> (ø)
cmd2/history.py 100.00% <0.00%> (ø)
cmd2/parsing.py 100.00% <0.00%> (ø)
cmd2/__init__.py 100.00% <0.00%> (ø)
plugins/template/cmd2_myplugin/myplugin.py 92.59% <0.00%> (+0.28%) ⬆️
cmd2/utils.py 98.11% <0.00%> (+1.41%) ⬆️
cmd2/clipboard.py 100.00% <0.00%> (+15.38%) ⬆️
cmd2/rl_utils.py 100.00% <0.00%> (+17.07%) ⬆️

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update cd37707...631eaa9. Read the comment docs.

This switches from using a conda-based Windows environment on AppVeyor to a default one.

The purpose is to see if we can significantly speed up tests running on AppVeyor.  Because if we can't, then I am just going to remove use of AppVeyor entirely in favor of GitHub Actions.
…tions matrix

Also:
- Temporarily disable dependency caching in GitHub Actions
- For Azure Pipelines MacOs testing, add Python 3.9 and remove 3.5
Also:
- Move flake8 linting to its own workflow
- Add new workflow for Sphinx documentation build
@tleonhardt tleonhardt changed the title [WIP] Use GitHub Actions for CI Use GitHub Actions for CI Jan 31, 2021
@tleonhardt
Copy link
Member Author

This PR is now ready for review.

…R instead of only ones to specific branches

I like getting to see the output of CI tools while I develop on a branch and suspect that will be handy for others as well.
@tleonhardt tleonhardt merged commit 3f67a3e into master Jan 31, 2021
@tleonhardt tleonhardt deleted the github_actions branch January 31, 2021 21:23
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Re-evaluate CI pipelines
2 participants