# Copyright 2023 LiveKit, Inc. # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and # limitations under the License. name: Test on: workflow_dispatch: push: branches: [main] pull_request: branches: [main] jobs: test: runs-on: ubuntu-latest steps: - uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6 - uses: actions/cache@v5 with: path: | ~/go/pkg/mod ~/go/bin ~/.cache key: livekit-protocol - name: Set up Go uses: actions/setup-go@v6 with: go-version-file: 'go.mod' - name: Set up gotestfmt run: go install github.com/gotesttools/gotestfmt/v2/cmd/gotestfmt@v2.4.1 - name: Download Go modules run: go mod download - name: Static Check uses: amarpal/staticcheck-action@master with: checks: '["all", "-ST1000", "-ST1003", "-ST1020", "-ST1021", "-ST1022", "-SA1019"]' install-go: false - name: Test run: | set -euo pipefail MallocNanoZone=0 go test -race -json -v ./... 2>&1 | gotestfmt