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

WIP: First attempt at GitHub Actions integration for CI #285

Merged
merged 85 commits into from Nov 24, 2020
Merged

Conversation

bocklund
Copy link
Collaborator

@bocklund bocklund commented Nov 20, 2020

Checklist

  • The documentation examples have been regenerated if the Jupyter notebooks in the examples/ have changed. To regenerate the documentation examples, run jupyter nbconvert --to rst --output-dir=docs/examples examples/*.ipynb from the top level directory)
  • If any dependencies have changed, the changes are reflected in the
    • setup.py
    • .travis.yml (deleted)
    • appveyor.yml (deleted)
    • conda_recipe/meta.yaml (deleted)
    • environment-dev.yml (added)

@bocklund bocklund changed the title First attempt at GitHub Actions integration for CI WIP: First attempt at GitHub Actions integration for CI Nov 20, 2020
@bocklund
Copy link
Collaborator Author

bocklund commented Nov 20, 2020

This is a work in progress PR. The goals are

  • tests pass for Windows
  • tests pass for Mac
  • test pass for Linux
  • we have a second CI script that will depend on the build matrix (above platforms * Python versions) passing that does the documentation deployment
  • coveralls code coverage integration works
  • bonus (a relatively more) unified and sane way of tracking dependencies

Other TODO items:

  • Can we drop coveralls<5 pin now?
  • Make sure to cleanup (delete?) environment.yml/environment-test.yml depending on whether or not they're actually used
  • cleanup old travis, appveyor and ci/ files.

@bocklund
Copy link
Collaborator Author

Woohoo! All 3 platforms are passing with python 3.8 on f4cd558 🎉

@bocklund
Copy link
Collaborator Author

Once everything passes, we have accomplished all the original goals of this PR.

The only things not at feature parity are:

  • Coverage doesn't report for PRs that originate from branches outside the pycalphad repo (i.e. forks)
  • Documentation only deploys to the latest directory of the website branch (whenever a commit shows up on develop). We aren't deploying a separate directory for every tag like we were before. It's possible to do this, but either requires duplicating the docs.yaml and making some minor changes, or adding parsing of the github.ref variable and applying some logic to deploy to "latest" if not tagged and the right tag if tagged.

Ultimately, what's here in GitHub Actions is just a starting point to organically grow the infrastructure from. Some outstanding things we could do are:

  • Combine the tests and docs into one workflow where the Docs job needs: Tests and won't run until all the test succeed
  • Deploy tagged commits to PyPI

@bocklund
Copy link
Collaborator Author

This is ready for one last look @richardotis

@bocklund bocklund merged commit fb0fe9c into develop Nov 24, 2020
bocklund added a commit that referenced this pull request Dec 11, 2020
Uses one `test.yaml` workflow for GitHub Actions that triggers on pull requests and pushes. We now use codecov.io for coverage on pushes and PRs (since coveralls does not support coverage from PRs, as discussed in #285).

This PR:

- Enables testing on PRs
- Introduces the codecov.io GitHub Action
- Switches the readme badge to use codecov instead of coveralls
- Drops coveralls dependency from `environment-dev.yml`

Closes #293 (supersedes those changes)
@bocklund bocklund deleted the gh-actions branch March 15, 2021 03:07
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants