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

Build and CI rework #35

Closed
wants to merge 7 commits into from
Closed

Commits on Mar 22, 2019

  1. Remove promu from Makefile

    promu is useless in Makefile because it builds but we already do
    `go install`.
    dzeban committed Mar 22, 2019
    Configuration menu
    Copy the full SHA
    cebd6fa View commit details
    Browse the repository at this point in the history
  2. Upgrade CI

    Current CI configuration uses outdated Ubuntu Trusty and unsupported Go
    versions.
    
    This change updates version to Ubuntu Xenial and latest (at the moment
    of commit) supported versions of Go.
    dzeban committed Mar 22, 2019
    Configuration menu
    Copy the full SHA
    51c3bf6 View commit details
    Browse the repository at this point in the history
  3. Really test all packages

    Currently `go test` is running in "local directory mode". Citing the
    `go help test`:
    
    > The first, called local directory mode, occurs when go test is
    invoked with no package arguments (for example, 'go test' or 'go
    test -v'). In this mode, go test compiles the package sources and
    tests found in the current directory and then runs the resulting
    test binary.
    
    So no actual tests are run because main package doesn't have any.
    
    This commit adds testing of all packages by adding `./...` argument to
    test command. It also adds spinning up docker-compose to make tests pass
    because the tests need to query real Clickhouse instance.
    dzeban committed Mar 22, 2019
    Configuration menu
    Copy the full SHA
    10ff101 View commit details
    Browse the repository at this point in the history
  4. Add goreleaser configuration

    goreleaser is used for making GitHub releases on tag push so people
    could download the prebuilt binaries and Linux packages.
    
    goreleaser will create GitHub release with:
    
    * Binaries for Linux and Darwin for amd64 and i386
    * Deb and RPM packages for amd64 and i386
    dzeban committed Mar 22, 2019
    Configuration menu
    Copy the full SHA
    4baa178 View commit details
    Browse the repository at this point in the history
  5. Add release creation on tag push

    Travis CI will invoke goreleaser on tag push that will create GitHub
    release with artifacts described in goreleaser config.
    dzeban committed Mar 22, 2019
    Configuration menu
    Copy the full SHA
    307ad92 View commit details
    Browse the repository at this point in the history

Commits on Mar 25, 2019

  1. Fix deploy condition in Travis CI

    To avoid deploy job failure we have to invoke goreleaser from one job
    because otherwise GitHub release is already created.
    
    In this commit we add second condition to deploy with the last Go
    version.
    dzeban committed Mar 25, 2019
    Configuration menu
    Copy the full SHA
    4a3fe48 View commit details
    Browse the repository at this point in the history
  2. Remove promu files

    dzeban committed Mar 25, 2019
    Configuration menu
    Copy the full SHA
    2b14a23 View commit details
    Browse the repository at this point in the history