name: Unit Test on: workflow_dispatch: push: branches: [ master ] paths: - go.mod - '**/*.go' - Makefile - '!hack/**' - '!site/**' - '!**/*.md' - '!**/*.json' pull_request: paths: - go.mod - '**/*.go' - Makefile - '!hack/**' - '!site/**' - '!**/*.md' - '!**/*.json' # Limit one unit test job running per PR/Branch concurrency: group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }} # For example, if you push multiple commits to a pull request in quick succession, only the latest workflow run will continue cancel-in-progress: true env: GOPROXY: https://proxy.golang.org GO_VERSION: '1.24.6' permissions: contents: read jobs: unit_test: strategy: fail-fast: false matrix: os: [ubuntu-22.04, macos-13, windows-2022] runs-on: ${{ matrix.os }} steps: - uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 - uses: actions/setup-go@d35c59abb061a4a6fb18e82ac0862c26744d6ab5 with: go-version: ${{env.GO_VERSION}} cache: true - name: Download Dependencies run: go mod download # needed because pkg/drivers/kvm/domain.go:28:2: - name: Install libvirt (Linux) if: runner.os == 'Linux' run: | sudo apt-get update sudo apt-get install -y libvirt-dev - name: Install make (Windows) if: runner.os == 'Windows' run: choco install make -y # TODO: add gopogh reports for unit tests too - name: unit test timeout-minutes: 5 env: TESTSUITE: unittest run: make test continue-on-error: false