aboutsummaryrefslogtreecommitdiff
path: root/.github/workflows
diff options
context:
space:
mode:
Diffstat (limited to '.github/workflows')
-rw-r--r--.github/workflows/test.yml57
1 files changed, 57 insertions, 0 deletions
diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml
new file mode 100644
index 0000000..f762ce2
--- /dev/null
+++ b/.github/workflows/test.yml
@@ -0,0 +1,57 @@
+name: Build and Test
+
+on: [push, pull_request]
+
+jobs:
+ test_backend:
+ name: Build and test backend
+ runs-on: ubuntu-latest
+ services:
+ mongo:
+ image: mongo:4.4
+ ports:
+ - 27017:27017
+ steps:
+ - uses: actions/checkout@v2
+ - name: Set up Go
+ uses: actions/setup-go@v2
+ with:
+ go-version: 1.16
+ - name: Install dependencies
+ run: apt-get install pkg-config libpcap-dev libhyperscan-dev
+ - name: Test backend
+ run: go test -v -race -coverprofile=coverage.txt -covermode=atomic
+ - name: Upload coverage
+ run: bash <(curl -s https://codecov.io/bash)
+ build_frontend:
+ name: Build frontend
+ runs-on: ubuntu-latest
+ steps:
+ - uses: actions/checkout@v2
+ - name: Set up Node.js
+ uses: actions/setup-node@v2
+ with:
+ node-version: 14.x
+ cache: 'yarn'
+ - run: cd frontend
+ - name: Install dependencies
+ run: yarn install
+ - name: Build frontend
+ run: yarn build
+ test_docker:
+ name: Build and test docker environment
+ runs-on: ubuntu-latest
+ env:
+ COMPOSE_FILE: .github/docker/docker-compose.yml
+ steps:
+ - uses: actions/checkout@v2
+ - name: Pull docker images
+ run: docker-compose pull mongo
+ - name: Build docker images
+ run: docker-compose build test
+ - name: Start MongoDB
+ run: docker-compose up -d mongo
+ - name: Run tests
+ run: docker-compose run test
+ - name: Destroy containers
+ run: docker-compose down