google / flatbuffers

FlatBuffers: Memory Efficient Serialization Library
https://flatbuffers.dev/
Apache License 2.0
23.32k stars 3.25k forks source link

Travis-CI: Request for help #289

Closed rw closed 7 years ago

rw commented 9 years ago

We use Travis CI to test code at check-in. However, right now it only tests the FlatBuffers C++ code.

I'd like help configuring our .travis.yml file to test the following ports:

As a bonus, testing each port on 32bit and 64bit machines, and different OS'es, would be useful.

ghost commented 9 years ago

Great idea, this is long overdue. What software does this all need that Travis doesn't come with by default? Can we start with a test_all.sh that combines the existing tests?

Thomasdezeeuw commented 9 years ago

This could be travis file for Go:

sudo: false
language: go
go:
  - 1.3
  - 1.4
  - 1.5
  - tip

I should note that I haven't tested flatbuffers with older versions of Go.

xplicit commented 9 years ago

For CS you can look at the travis configuration for ms bond serializer. It uses various languages (cs, c++, etc) https://github.com/Microsoft/bond/blob/master/.travis.yml

If you don't want to use "csharp" language definition in travis.yml file, you can use any other language and install mono prerequisites manually.

Here the sample how It can be done for OSX: https://github.com/xplicit/bond/blob/travis2/.travis.yml

Here the sample how it can be done for Linux: https://github.com/xplicit/HyperFastCgi/blob/2f92e4d1a0a87927c1c022176e9b4be45a0eb1ec/.travis.yml

rw commented 9 years ago

I also wrote about this in an existing Travis issue: https://github.com/travis-ci/travis-ci/issues/4090#issuecomment-152558948

ghost commented 7 years ago

These languages are now all tested by our AppVeyor CI. And since they're not as platform-sensitive as C++, testing them also in Travis would be nice to have but not strictly necessary.