Skip to content

chore: add xBSD pipelines #13

chore: add xBSD pipelines

chore: add xBSD pipelines #13

Workflow file for this run

name: bsd
on:
push:
branches:
- master
pull_request:
branches:
- master
permissions:
contents: read
env:
GO_VERSION_FREEBSD: "123"
GO_VERSION_OPENBSD: "1.23.1"
GNU_GREP_VERSION: "3.11"
GNU_TAR_VERSION: "1.35"
jobs:
test:
name: e2e-tests
runs-on: ubuntu-latest
steps:
- name: Checkout the repository
uses: actions/checkout@v4
- name: Run end-to-end tests on FreeBSD
uses: vmactions/freebsd-vm@v1
if: false # this already passes, so skip to test other BSDs faster
with:
envs: 'GO_VERSION_FREEBSD'
usesh: true
prepare: |
pkg update -f
pkg install -y bash curl gtar-${GNU_TAR_VERSION}p0-static git gmake gsed ggrep go-${GO_VERSION_FREEBSD} python
run: |
set -eux
mkdir bin
ln -s $(which go-${GO_VERSION_FREEBSD}) bin/go
ln -s $(which ggrep) bin/grep
ln -s $(which gmake) bin/make
ln -s $(which gsed) bin/sed
ln -s $(which gtar) bin/tar
export PATH=$(pwd)/bin:$PATH
echo "::group::Print environment information"
freebsd-version
uname -a
echo "GOOS: $(go env GOOS)"
echo "GOARCH: $(go env GOARCH)"
echo "::endgroup::"
echo "::group::Run End-to-End Tests"
git config --global --add safe.directory $(pwd)
gmake test-e2e
echo "::endgroup::"
- name: Run end-to-end tests on OpenBSD
uses: vmactions/openbsd-vm@v1
with:
envs: 'GO_VERSION_OPENBSD'
usesh: true
prepare: |
pkg_add -u
pkg_add bash curl gtar-${GNU_TAR_VERSION}p0-static git gmake gsed ggrep go-${GO_VERSION_OPENBSD} python
run: |
set -eux
mkdir bin
ln -s $(which go-${GO_VERSION_OPENBSD}) bin/go
ln -s $(which gsed) bin/sed
ln -s $(which ggrep) bin/grep
ln -s $(which gmake) bin/make
ln -s $(which gtar) bin/tar
# ln -s $(which go-${GO_VERSION_OPENBSD}) bin/go
export PATH=$(pwd)/bin:$PATH
echo "::group::Print environment information"
openbsd-version
uname -a
echo "GOOS: $(go env GOOS)"
echo "GOARCH: $(go env GOARCH)"
echo "::endgroup::"
echo "::group::Run End-to-End Tests"
git config --global --add safe.directory $(pwd)
make test-e2e
echo "::endgroup::"
- name: Run end-to-end tests on NetBSD
uses: vmactions/netbsd-vm@v1
with:
envs: 'GO_VERSION'
usesh: true
prepare: |
/usr/sbin/pkg_add update -f
/usr/sbin/pkg_add install -y bash curl git gmake gsed gnugrep go${GO_VERSION} python
run: |
set -eux
mkdir bin
ln -s $(which go${GO_VERSION}) bin/go
ln -s $(which gsed) bin/sed
ln -s $(which gnugrep) bin/grep
ln -s $(which gmake) bin/make
export PATH=$PATH:$(pwd)/golang-bin
echo "::group::Print environment information"
freebsd-version
uname -a
echo "GOOS: $(go env GOOS)"
echo "GOARCH: $(go env GOARCH)"
echo "::endgroup::"
echo "::group::Run End-to-End Tests"
git config --global --add safe.directory $(pwd)
gmake test-e2e
echo "::endgroup::"
- name: Run end-to-end tests on Solaris
uses: vmactions/solaris-vm@v1
with:
envs: 'GO_VERSION'
usesh: true
prepare: |
pkgutil update -f
pkgutil install -y bash curl git gmake gsed gnugrep go${GO_VERSION} python
run: |
set -eux
mkdir bin
ln -s $(which go${GO_VERSION}) bin/go
ln -s $(which gsed) bin/sed
ln -s $(which gnugrep) bin/grep
ln -s $(which gmake) bin/make
export PATH=$PATH:$(pwd)/golang-bin
echo "::group::Print environment information"
freebsd-version
uname -a
echo "GOOS: $(go env GOOS)"
echo "GOARCH: $(go env GOARCH)"
echo "::endgroup::"
echo "::group::Run End-to-End Tests"
git config --global --add safe.directory $(pwd)
gmake test-e2e
echo "::endgroup::"
- name: Run end-to-end tests on DragonFly
uses: vmactions/dragonflybsd-vm@v1
with:
envs: 'GO_VERSION'
usesh: true
prepare: |
pkg update -f
pkg install -y bash curl git gmake gsed gnugrep go${GO_VERSION} python
run: |
set -eux
mkdir bin
ln -s $(which go${GO_VERSION}) bin/go
ln -s $(which gsed) bin/sed
ln -s $(which gnugrep) bin/grep
ln -s $(which gmake) bin/make
export PATH=$PATH:$(pwd)/golang-bin
echo "::group::Print environment information"
freebsd-version
uname -a
echo "GOOS: $(go env GOOS)"
echo "GOARCH: $(go env GOARCH)"
echo "::endgroup::"
echo "::group::Run End-to-End Tests"
git config --global --add safe.directory $(pwd)
gmake test-e2e
echo "::endgroup::"