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.18.x' - name: Install node uses: actions/setup-node@v2 with: node-version: '17' - 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