mirror of
https://github.com/tuna/tunasync.git
synced 2025-04-21 12:52:45 +00:00
79 lines
1.8 KiB
YAML
79 lines
1.8 KiB
YAML
name: tunasync
|
|
|
|
on: [push]
|
|
|
|
jobs:
|
|
|
|
build:
|
|
name: Build
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
|
|
- 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: 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.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: 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 profile.cov -test.run TestCgroup"
|
|
|
|
- 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
|