mirror of
https://github.com/netbirdio/netbird.git
synced 2026-05-06 17:08:53 +00:00
The previous fix added /client/ui-wails to the grep -v / Where-Object filter, but go list aborts at the first broken package and emits an empty stdout when client/ui-wails/main.go's //go:embed all:frontend/dist fails to resolve. The command substitution then expands to nothing, and `go test` falls back to the repo root — which has no Go files and fails the job. `go list -e` keeps listing remaining packages after a parse error, so the existing path-based filter now actually does its job. Touches all three test workflows (Linux native + docker, Darwin, Windows).
56 lines
1.7 KiB
YAML
56 lines
1.7 KiB
YAML
name: "Darwin"
|
|
|
|
on:
|
|
push:
|
|
branches:
|
|
- main
|
|
pull_request:
|
|
|
|
concurrency:
|
|
group: ${{ github.workflow }}-${{ github.ref }}-${{ github.head_ref || github.actor_id }}
|
|
cancel-in-progress: true
|
|
|
|
jobs:
|
|
test:
|
|
name: "Client / Unit"
|
|
runs-on: macos-latest
|
|
steps:
|
|
- name: Checkout code
|
|
uses: actions/checkout@v4
|
|
|
|
- name: Install Go
|
|
uses: actions/setup-go@v5
|
|
with:
|
|
go-version-file: "go.mod"
|
|
cache: false
|
|
|
|
- name: Cache Go modules
|
|
uses: actions/cache@v4
|
|
with:
|
|
path: ~/go/pkg/mod
|
|
key: macos-gotest-${{ hashFiles('**/go.sum') }}
|
|
restore-keys: |
|
|
macos-gotest-
|
|
macos-go-
|
|
|
|
- name: Install libpcap
|
|
run: brew install libpcap
|
|
|
|
- name: Install modules
|
|
run: go mod tidy
|
|
|
|
- name: check git status
|
|
run: git --no-pager diff --exit-code
|
|
|
|
- name: Test
|
|
# Exclude client/ui-wails: its main.go uses //go:embed all:frontend/dist,
|
|
# which fails to compile until the frontend has been built. The Wails UI
|
|
# has no Go-side unit tests, and its release pipeline runs `pnpm build`
|
|
# before goreleaser.
|
|
# `go list -e` lets the listing succeed even though the embed fails to
|
|
# resolve; the grep then drops the broken package by path. Without -e,
|
|
# go list aborts with empty stdout and `go test` falls back to the repo
|
|
# root, which has no Go files.
|
|
run: NETBIRD_STORE_ENGINE=${{ matrix.store }} CI=true go test -tags=devcert -exec 'sudo --preserve-env=CI,NETBIRD_STORE_ENGINE' -timeout 5m -p 1 $(go list -e ./... | grep -v -e /management -e /signal -e /relay -e /proxy -e /combined -e /client/ui-wails)
|
|
|