awslabs / flowgger

A fast data collector in Rust
BSD 2-Clause "Simplified" License
834 stars 55 forks source link

Github Releases #53

Closed Trojan295 closed 4 years ago

Trojan295 commented 5 years ago

Issue #, if available: none, somehow connected with https://github.com/awslabs/flowgger/issues/32

Description of changes: This PR adds a feature to publish flowgger release packages as GitHub Releases. It publishes a zip with the flowgger binary + flowgger.toml for every target in the Travis CI build. I also did some refactoring to the Travis scripts.

Example release: https://github.com/Trojan295/flowgger/releases/tag/0.1.0 Travis CI build for this release: https://travis-ci.org/Trojan295/flowgger/builds/600116381

To make it work, some Github account with rights to publish to Github Releases must generate an API key and add to Travis CI environment variables as GITHUB_APIKEY.

I also added to test/build the flowgger binary with all features except capnp, because it requires the capnp compiler installed in the build environment. We cannot install it there, because we are using cross and would need to build custom images for every target (see https://github.com/rust-embedded/cross/issues/281).

I also had to modify two tests for FileOutput, because they were writing a file to a path, which is read-only in the build environment and thus failing. There are also additional modification to this file, caused by cargo fmt.

By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.