123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384 |
- name: tunasync
- on: [push]
- jobs:
- build:
- name: Build
- runs-on: ubuntu-latest
- steps:
- - name: Set up Go 1.16
- uses: actions/setup-go@v1
- with:
- go-version: 1.16
- id: go
- - name: Check out code into the Go module directory
- uses: actions/checkout@v2
- - name: Get dependencies
- run: |
- go get -v -t -d ./cmd/tunasync
- go get -v -t -d ./cmd/tunasynctl
- - name: Build
- run: |
- make tunasync
- make tunasynctl
- - name: Keep artifacts
- uses: actions/upload-artifact@v1
- with:
- name: tunasync-bin
- path: build-linux-amd64/
- test:
- name: Test
- runs-on: ubuntu-latest
- steps:
- - name: Setup test dependencies
- run: |
- sudo apt-get update
- sudo apt-get install -y cgroup-tools
- docker pull alpine:3.8
- lssubsys -am
- sudo cgcreate -a $USER -t $USER -g cpu:tunasync
- sudo cgcreate -a $USER -t $USER -g memory:tunasync
- - name: Set up Go 1.16
- uses: actions/setup-go@v1
- with:
- go-version: 1.16
- id: go
- - name: Check out code into the Go module directory
- uses: actions/checkout@v2
- - name: Run Unit tests.
- run: |
- go install github.com/wadey/gocovmerge@latest
- make test
- - name: Run Additional Unit tests.
- run: |
- make build-test-worker
- sudo cgexec -g "*:/" bash -c "echo 0 > /sys/fs/cgroup/systemd/tasks; exec sudo -u $USER env USECURCGROUP=1 cgexec -g cpu,memory:tunasync ./worker.test -test.v -test.coverprofile profile2.cov -test.run TestCgroup"
- - name: Combine coverage files
- run : |
- $HOME/go/bin/gocovmerge profile.cov profile2.cov > profile-all.cov
- - name: Convert coverage to lcov
- uses: jandelgado/gcov2lcov-action@v1.0.0
- with:
- infile: profile-all.cov
- outfile: coverage.lcov
- - name: Coveralls
- uses: coverallsapp/github-action@v1.0.1
- with:
- github-token: ${{ secrets.github_token }}
- path-to-lcov: coverage.lcov
|