diff --git a/.github/workflows/tunasync.yml b/.github/workflows/tunasync.yml index 3818df7..7d58145 100644 --- a/.github/workflows/tunasync.yml +++ b/.github/workflows/tunasync.yml @@ -27,3 +27,41 @@ jobs: run: | make tunasync make tunasynctl + + + test: + name: Test + runs-on: ubuntu-latest + steps: + + - name: Setup test dependencies + run: | + sudo apt-get install cgroup-bin docker.io + lssubsys -am + sudo cgcreate -a $USER -t $USER -g cpu:tunasync + sudo cgcreate -a $USER -t $USER -g memory:tunasync + sudo docker pull alpine + + - name: Set up Go 1.13 + uses: actions/setup-go@v1 + with: + go-version: 1.13 + id: go + + - name: Check out code into the Go module directory + uses: actions/checkout@v2 + + - name: Run Unit tests. + run: make test + + - name: Convert coverage to lcov + uses: jandelgado/gcov2lcov-action@v1.0.0 + with: + infile: profile.cov + outfile: coverage.lcov + + - name: Coveralls + uses: coverallsapp/github-action@v1.0.1 + with: + github-token: ${{ secrets.github_token }} + path-to-lcov: coverage.lcov \ No newline at end of file diff --git a/Makefile b/Makefile index b171c75..d28bac2 100644 --- a/Makefile +++ b/Makefile @@ -19,3 +19,6 @@ tunasynctl: build travis-package: tunasync tunasynctl tar zcf build/tunasync-linux-bin.tar.gz -C build tunasync tunasynctl + +test: + go test -v -covermode=count -coverprofile=profile.cov ./...