travis.sh 1.0 KB

1234567891011121314151617181920212223242526272829303132333435
  1. #!/bin/bash
  2. set -evx
  3. # Objective of this script is to be the most vendor agnostic possible
  4. # It builds and tests yay independently of hardware
  5. export VERSION=$(git describe --long --tags | sed 's/^v//;s/\([^-]*-g\)/r\1/;s/-/./g')
  6. export ARCH="x86_64"
  7. echo '::set-env name=VERSION::$VERSION'
  8. echo '::set-env name=ARCH::$ARCH'
  9. docker build --build-arg BUILD_ARCH=${ARCH} --target builder_env -t yay-builder_env .
  10. docker build --build-arg BUILD_ARCH=${ARCH} --target builder -t yay-builder .
  11. # Our unit test and packaging container
  12. docker run --name yay-go-tests yay-builder_env:latest make test
  13. docker rm yay-go-tests
  14. # docker run yay-builder make lint
  15. # Build image for integration testing
  16. docker build -t yay .
  17. # Do integration testing
  18. # TODO
  19. # Create a release asset
  20. docker run --name artifact_factory yay-builder make release ARCH=${ARCH} VERSION=${VERSION}
  21. # Copy bin and release to artifacts folder
  22. mkdir artifacts
  23. docker cp artifact_factory:/app/yay_${VERSION}_${ARCH}.tar.gz ./artifacts/
  24. # Cleanup docker
  25. docker rm artifact_factory