48 lines
1.2 KiB
YAML
48 lines
1.2 KiB
YAML
name: test
|
|
on: [push, pull_request]
|
|
jobs:
|
|
test:
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
-
|
|
name: Install Go
|
|
uses: actions/setup-go@v2
|
|
with:
|
|
go-version: '1.20.x'
|
|
-
|
|
name: Install node
|
|
uses: actions/setup-node@v2
|
|
with:
|
|
node-version: '18'
|
|
-
|
|
name: Checkout code
|
|
uses: actions/checkout@v2
|
|
-
|
|
name: Cache Go and npm modules
|
|
uses: actions/cache@v3
|
|
with:
|
|
path: |
|
|
~/go/pkg/mod
|
|
~/go/bin
|
|
~/.npm
|
|
web/node_modules
|
|
key: ${{ runner.os }}-ntfy-${{ hashFiles('**/go.sum', '**/package.lock') }}
|
|
restore-keys: ${{ runner.os }}-ntfy-
|
|
-
|
|
name: Install dependencies
|
|
run: make build-deps-ubuntu
|
|
-
|
|
name: Build docs (required for tests)
|
|
run: make docs
|
|
-
|
|
name: Build web app (required for tests)
|
|
run: make web
|
|
-
|
|
name: Run tests, formatting, vetting and linting
|
|
run: make check
|
|
-
|
|
name: Run coverage
|
|
run: make coverage
|
|
-
|
|
name: Upload coverage to codecov.io
|
|
run: make coverage-upload
|