Add basic GitHub Actions CI workflow, running pytest tests (#1688)
Add basic GitHub Actions CI workflow, running pytest tests (#1688)

This is an MVP of using GitHub Actions for CI instead of Buildkite. This change
is designed to reduce our costs and our DevOps requirements.

It works successfully for that:

- The build is running, on Python 3.6, 3.7 and 3.8, in parallel:
  https://github.com/stellargraph/stellargraph/actions/runs/139107467
- The JUnit XML files are being uploaded: (see pytest-results-... in link above)
- Codecov results are being uploaded:
  https://codecov.io/gh/stellargraph/stellargraph/commit/6470d09d5cdb07620a352544b6e865724f4254f8/build

This is quite easy because there's native support (or actions) for:

- build matrices, with multiple options such as different Python versions
- dependency caching (so we don't have to do the prebuilding of docker images
  like we do on Buildkite... for now) (I haven't investigated the improvement
  from this, yet, though)
- attaching artefacts
- uploading codecov results

Things missing compared to Buildkite:

- clean annotation of test failures?
- everything other than pytest tests (notebooks, documentation, formatting,
  etc.)

These can be done as follow up work.

See: #1687

stellargraph/stellargraph,stellargraph/stellargraph