53 lines
1.9 KiB
YAML
53 lines
1.9 KiB
YAML
name: "FreeBSD"
|
|
|
|
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: ubuntu-22.04
|
|
steps:
|
|
- uses: actions/checkout@v4
|
|
- name: Test in FreeBSD
|
|
id: test
|
|
uses: vmactions/freebsd-vm@v1
|
|
with:
|
|
usesh: true
|
|
copyback: false
|
|
release: "14.2"
|
|
prepare: |
|
|
pkg install -y curl pkgconf xorg
|
|
LATEST_VERSION=$(curl -s https://go.dev/VERSION?m=text|head -n 1)
|
|
GO_TARBALL="$LATEST_VERSION.freebsd-amd64.tar.gz"
|
|
GO_URL="https://go.dev/dl/$GO_TARBALL"
|
|
curl -vLO "$GO_URL"
|
|
tar -C /usr/local -vxzf "$GO_TARBALL"
|
|
|
|
# -x - to print all executed commands
|
|
# -e - to faile on first error
|
|
run: |
|
|
set -e -x
|
|
export PATH=$PATH:/usr/local/go/bin:$HOME/go/bin
|
|
time go build -o netbird client/main.go
|
|
# check all component except management, since we do not support management server on freebsd
|
|
time go test -timeout 1m -failfast ./base62/...
|
|
# NOTE: without -p1 `client/internal/dns` will fail because of `listen udp4 :33100: bind: address already in use`
|
|
time go test -timeout 8m -failfast -p 1 ./client/...
|
|
time go test -timeout 1m -failfast ./dns/...
|
|
time go test -timeout 1m -failfast ./encryption/...
|
|
time go test -timeout 1m -failfast ./formatter/...
|
|
time go test -timeout 1m -failfast ./client/iface/...
|
|
time go test -timeout 1m -failfast ./route/...
|
|
time go test -timeout 1m -failfast ./sharedsock/...
|
|
time go test -timeout 1m -failfast ./signal/...
|
|
time go test -timeout 1m -failfast ./util/...
|
|
time go test -timeout 1m -failfast ./version/...
|