chore: add xBSD pipelines #13
Workflow file for this run
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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::" |