-
Notifications
You must be signed in to change notification settings - Fork 2.4k
175 lines (156 loc) · 5.51 KB
/
bsd.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
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::"