tunasync.yml 1.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970
  1. name: tunasync
  2. on: [push]
  3. jobs:
  4. build:
  5. name: Build
  6. runs-on: ubuntu-latest
  7. steps:
  8. - name: Set up Go 1.13
  9. uses: actions/setup-go@v1
  10. with:
  11. go-version: 1.13
  12. id: go
  13. - name: Check out code into the Go module directory
  14. uses: actions/checkout@v2
  15. - name: Get dependencies
  16. run: |
  17. go get -v -t -d ./cmd/tunasync
  18. go get -v -t -d ./cmd/tunasynctl
  19. - name: Build
  20. run: |
  21. make tunasync
  22. make tunasynctl
  23. test:
  24. name: Test
  25. runs-on: ubuntu-latest
  26. steps:
  27. - name: Setup test dependencies
  28. run: |
  29. sudo apt update
  30. sudo apt install -y cgroup-bin docker.io
  31. sudo systemctl unmask docker
  32. sudo systemctl start docker
  33. sudo docker pull alpine
  34. lssubsys -am
  35. sudo cgcreate -a $USER -t $USER -g cpu:tunasync
  36. sudo cgcreate -a $USER -t $USER -g memory:tunasync
  37. - name: Set up Go 1.13
  38. uses: actions/setup-go@v1
  39. with:
  40. go-version: 1.13
  41. id: go
  42. - name: Check out code into the Go module directory
  43. uses: actions/checkout@v2
  44. - name: Run Unit tests.
  45. run: make test
  46. - name: Convert coverage to lcov
  47. uses: jandelgado/gcov2lcov-action@v1.0.0
  48. with:
  49. infile: profile.cov
  50. outfile: coverage.lcov
  51. - name: Coveralls
  52. uses: coverallsapp/github-action@v1.0.1
  53. with:
  54. github-token: ${{ secrets.github_token }}
  55. path-to-lcov: coverage.lcov