Migrate from Travis to GitHub Actions (#460)

It seems that the last completed Travis build was 6 days ago, and
travis-ci.org is going to be shut down anyway.

As with travis, api_benchmark/query_benchmark have a single stage
which generates protos checks format and runs analyzer.

For protobuf and protoc_plugin I've split a single format_analyze_test
stage into three separate stages for a better control of OSes and Dart
SDK versions.

`protobuf` tests run on windows, linux, and osx, but `protoc_plugin`
tests run on linux only (we'd need a way to make `make protos` work on
osx and windows to enable tests).

Currently the pipeline takes about 16-17 minutes to run, mostly
because `make protos` for protoc_plugin takes around 2 minutes and
dartfmt check is slow (also around 2 minutes) for protoc_plugin and
query_benchmark. If this is an issue, we can potentially speed it by 4
minutes by merging all protoc_plugin stages into one (as tests run on
a single os anyway).

Fixes #459
9 files changed
tree: a5650803ebbaf3ec81a4617313b2e593c02f7249
  1. .github/
  2. api_benchmark/
  3. protobuf/
  4. protoc_plugin/
  5. query_benchmark/
  6. tool/
  7. .gitignore
  8. analysis_options.yaml
  9. mono_repo.yaml
  10. README.md
README.md

Protobuf support for Dart

Protocol Buffers (protobuf) are Google's language-neutral, platform-neutral, extensible mechanism for serializing structured data.

This repository is home to packages related to protobuf for Dart. It contains: