Skip to content

Commit 7b17a29

Browse files
authored
Merge pull request #5262 from cpuguy83/ci_cross_compile
Add CI job to cross compile all the things
2 parents 219f139 + 311e326 commit 7b17a29

8 files changed

Lines changed: 136 additions & 61 deletions

File tree

.github/workflows/ci.yml

Lines changed: 82 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -123,6 +123,88 @@ jobs:
123123
- run: make man
124124
working-directory: src/github.com/containerd/containerd
125125

126+
# Make sure binaries compile with other platforms
127+
crossbuild:
128+
name: Crossbuild Binaries
129+
needs: [project, linters, protos, man]
130+
runs-on: ubuntu-18.04
131+
timeout-minutes: 10
132+
strategy:
133+
fail-fast: false
134+
matrix:
135+
include:
136+
- goos: linux
137+
goarch: arm64
138+
- goos: linux
139+
goarch: arm
140+
goarm: "7"
141+
- goos: linux
142+
goarch: arm
143+
goarm: "5"
144+
- goos: freebsd
145+
goarch: amd64
146+
- goos: freebsd
147+
goarch: arm64
148+
- goos: windows
149+
goarch: arm
150+
goarm: "7"
151+
152+
steps:
153+
- uses: actions/setup-go@v2
154+
with:
155+
go-version: '1.16.2'
156+
- name: Set env
157+
shell: bash
158+
run: |
159+
echo "GOPATH=${{ github.workspace }}" >> $GITHUB_ENV
160+
echo "${{ github.workspace }}/bin" >> $GITHUB_PATH
161+
- uses: actions/checkout@v2
162+
with:
163+
path: src/github.com/containerd/containerd
164+
- run: |
165+
set -e -x
166+
167+
packages=""
168+
platform="${{matrix.goos}}/${{matrix.goarch}}"
169+
if [ -n "${{matrix.goarm}}" ]; then
170+
platform+="/v${{matrix.goarm}}"
171+
fi
172+
173+
case "${platform}" in
174+
linux/arm/v5)
175+
packages+=" crossbuild-essential-armel"
176+
echo "CGO_ENABLED=1" >> $GITHUB_ENV
177+
echo "CC=arm-linux-gnueabi-gcc" >> $GITHUB_ENV
178+
;;
179+
linux/arm/v7)
180+
packages+=" crossbuild-essential-armhf"
181+
echo "CGO_ENABLED=1" >> $GITHUB_ENV
182+
echo "CC=arm-linux-gnueabihf-gcc" >> $GITHUB_ENV
183+
;;
184+
linux/arm64)
185+
packages+=" crossbuild-essential-arm64"
186+
echo "CGO_ENABLED=1" >> $GITHUB_ENV
187+
echo "CC=aarch64-linux-gnu-gcc" >> $GITHUB_ENV
188+
;;
189+
windows/arm/v7)
190+
echo "CGO_ENABLED=0" >> $GITHUB_ENV
191+
;;
192+
esac
193+
194+
if [ -n "${packages}" ]; then
195+
sudo apt-get update && sudo apt-get install -y ${packages}
196+
fi
197+
name: install deps
198+
- name: Build
199+
working-directory: src/github.com/containerd/containerd
200+
env:
201+
GOOS: ${{matrix.goos}}
202+
GOARCH: ${{matrix.goarch}}
203+
GOARM: ${{matrix.goarm}}
204+
run: |
205+
make build
206+
make binaries
207+
126208
#
127209
# Build containerd binaries
128210
#
@@ -157,13 +239,6 @@ jobs:
157239
make binaries
158240
working-directory: src/github.com/containerd/containerd
159241

160-
- name: Cross-compile
161-
if: startsWith(matrix.os, 'ubuntu')
162-
run : |
163-
GOOS=freebsd make build
164-
GOOS=freebsd make binaries
165-
working-directory: src/github.com/containerd/containerd
166-
167242
#
168243
# Integration and CRI tests
169244
#

go.mod

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ go 1.16
44

55
require (
66
github.com/BurntSushi/toml v0.3.1
7-
github.com/Microsoft/go-winio v0.4.17-0.20210211115548-6eac466e5fa3
7+
github.com/Microsoft/go-winio v0.4.17-0.20210324224401-5516f17a5958
88
github.com/Microsoft/hcsshim v0.8.15
99
github.com/containerd/aufs v0.0.0-20210316121734-20793ff83c97
1010
github.com/containerd/btrfs v0.0.0-20210316141732-918d888fb676
@@ -18,7 +18,7 @@ require (
1818
github.com/containerd/nri v0.0.0-20210316161719-dbaa18c31c14
1919
github.com/containerd/ttrpc v1.0.2
2020
github.com/containerd/typeurl v1.0.1
21-
github.com/containerd/zfs v0.0.0-20210322090317-0e92c2247fb7
21+
github.com/containerd/zfs v0.0.0-20210324211415-d5c4544f0433
2222
github.com/containernetworking/plugins v0.8.6
2323
github.com/coreos/go-systemd/v22 v22.1.0
2424
github.com/davecgh/go-spew v1.1.1

go.sum

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -41,8 +41,9 @@ github.com/Microsoft/go-winio v0.4.14/go.mod h1:qXqCSQ3Xa7+6tgxaGTIe4Kpcdsi+P8jB
4141
github.com/Microsoft/go-winio v0.4.15-0.20190919025122-fc70bd9a86b5/go.mod h1:tTuCMEN+UleMWgg9dVx4Hu52b1bJo+59jBh3ajtinzw=
4242
github.com/Microsoft/go-winio v0.4.16-0.20201130162521-d1ffc52c7331/go.mod h1:XB6nPKklQyQ7GC9LdcBEcBl8PF76WugXOPRXwdLnMv0=
4343
github.com/Microsoft/go-winio v0.4.16/go.mod h1:XB6nPKklQyQ7GC9LdcBEcBl8PF76WugXOPRXwdLnMv0=
44-
github.com/Microsoft/go-winio v0.4.17-0.20210211115548-6eac466e5fa3 h1:mw6pDQqv38/WGF1cO/jF5t/jyAJ2yi7CmtFLLO5tGFI=
4544
github.com/Microsoft/go-winio v0.4.17-0.20210211115548-6eac466e5fa3/go.mod h1:JPGBdM1cNvN/6ISo+n8V5iA4v8pBzdOpzfwIujj1a84=
45+
github.com/Microsoft/go-winio v0.4.17-0.20210324224401-5516f17a5958 h1:koVgEW/cX7NavmMAkL6LgoMZJ9gJnxuWMwwfw5A2s34=
46+
github.com/Microsoft/go-winio v0.4.17-0.20210324224401-5516f17a5958/go.mod h1:JPGBdM1cNvN/6ISo+n8V5iA4v8pBzdOpzfwIujj1a84=
4647
github.com/Microsoft/hcsshim v0.8.6/go.mod h1:Op3hHsoHPAvb6lceZHDtd9OkTew38wNoXnJs8iY7rUg=
4748
github.com/Microsoft/hcsshim v0.8.7-0.20190325164909-8abdbb8205e4/go.mod h1:Op3hHsoHPAvb6lceZHDtd9OkTew38wNoXnJs8iY7rUg=
4849
github.com/Microsoft/hcsshim v0.8.7/go.mod h1:OHd7sQqRFrYd3RmSgbgji+ctCwkbq2wbEYNSzOYtcBQ=
@@ -158,8 +159,8 @@ github.com/containerd/typeurl v1.0.1 h1:PvuK4E3D5S5q6IqsPDCy928FhP0LUIGcmZ/Yhgp5
158159
github.com/containerd/typeurl v1.0.1/go.mod h1:TB1hUtrpaiO88KEK56ijojHS1+NeF0izUACaJW2mdXg=
159160
github.com/containerd/zfs v0.0.0-20200918131355-0a33824f23a2/go.mod h1:8IgZOBdv8fAgXddBT4dBXJPtxyRsejFIpXoklgxgEjw=
160161
github.com/containerd/zfs v0.0.0-20210301145711-11e8f1707f62/go.mod h1:A9zfAbMlQwE+/is6hi0Xw8ktpL+6glmqZYtevJgaB8Y=
161-
github.com/containerd/zfs v0.0.0-20210322090317-0e92c2247fb7 h1:8vskJ2uVsiu9pjODDUnyj6gKZ6mNPMlqPgfqV6gnuRc=
162-
github.com/containerd/zfs v0.0.0-20210322090317-0e92c2247fb7/go.mod h1:m+m51S1DvAP6r3FcmYCp54bQ34pyOwTieQDNRIRHsFY=
162+
github.com/containerd/zfs v0.0.0-20210324211415-d5c4544f0433 h1:oFJf1mMvgJAt2QwgEsXLMQK/qRTY8JXwsCV7No1uCb8=
163+
github.com/containerd/zfs v0.0.0-20210324211415-d5c4544f0433/go.mod h1:m+m51S1DvAP6r3FcmYCp54bQ34pyOwTieQDNRIRHsFY=
163164
github.com/containernetworking/cni v0.7.1/go.mod h1:LGwApLUm2FpoOfxTDEeq8T9ipbpZ61X79hmU3w8FmsY=
164165
github.com/containernetworking/cni v0.8.0 h1:BT9lpgGoH4jw3lFC7Odz2prU5ruiYKcgAjMCbgybcKI=
165166
github.com/containernetworking/cni v0.8.0/go.mod h1:LGwApLUm2FpoOfxTDEeq8T9ipbpZ61X79hmU3w8FmsY=

vendor/github.com/Microsoft/go-winio/pkg/etw/newprovider.go

Lines changed: 0 additions & 40 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

vendor/github.com/Microsoft/go-winio/pkg/etw/newprovider_unsupported.go

Lines changed: 1 addition & 5 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

vendor/github.com/Microsoft/go-winio/pkg/etw/provider.go

Lines changed: 40 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

vendor/github.com/containerd/zfs/zfs.go

Lines changed: 5 additions & 2 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

vendor/modules.txt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
# github.com/BurntSushi/toml v0.3.1
22
## explicit
33
github.com/BurntSushi/toml
4-
# github.com/Microsoft/go-winio v0.4.17-0.20210211115548-6eac466e5fa3
4+
# github.com/Microsoft/go-winio v0.4.17-0.20210324224401-5516f17a5958
55
## explicit
66
github.com/Microsoft/go-winio
77
github.com/Microsoft/go-winio/backuptar
@@ -105,7 +105,7 @@ github.com/containerd/ttrpc/plugin
105105
# github.com/containerd/typeurl v1.0.1
106106
## explicit
107107
github.com/containerd/typeurl
108-
# github.com/containerd/zfs v0.0.0-20210322090317-0e92c2247fb7
108+
# github.com/containerd/zfs v0.0.0-20210324211415-d5c4544f0433
109109
## explicit
110110
github.com/containerd/zfs
111111
github.com/containerd/zfs/plugin

0 commit comments

Comments
 (0)