forked from quic-go/quic-go
Merge pull request #2888 from lucas-clemente/cross-compile-test
cross compile quic-go for all platforms / architectures
This commit is contained in:
17
.github/workflows/cross-compile.sh
vendored
Executable file
17
.github/workflows/cross-compile.sh
vendored
Executable file
@@ -0,0 +1,17 @@
|
||||
#!/bin/bash
|
||||
|
||||
set -e
|
||||
|
||||
GOVERSION=$(go version | cut -d " " -f 3 | cut -b 3-6)
|
||||
|
||||
for dist in $(go tool dist list); do
|
||||
goos=$(echo $dist | cut -d "/" -f1)
|
||||
goarch=$(echo $dist | cut -d "/" -f2)
|
||||
if [[ "$goos" == "android" ]]; then continue; fi # cross-compiling for android is a pain...
|
||||
if [[ "$goos" == "darwin" && $goarch == "arm64" ]]; then continue; fi # ... darwin/arm64 neither
|
||||
if [[ $GOVERSION == "1.14" && $goos == "darwin" && $goarch == "arm" ]]; then continue; fi # Go 1.14 lacks syscall.IPV6_RECVTCLASS
|
||||
|
||||
echo "$dist"
|
||||
GOOS=$goos GOARCH=$goarch go build -o main example/main.go
|
||||
rm main
|
||||
done
|
||||
19
.github/workflows/cross-compile.yml
vendored
Normal file
19
.github/workflows/cross-compile.yml
vendored
Normal file
@@ -0,0 +1,19 @@
|
||||
on: [push, pull_request]
|
||||
jobs:
|
||||
crosscompile:
|
||||
strategy:
|
||||
matrix:
|
||||
go: [ "1.14.x", "1.15.x" ]
|
||||
runs-on: ubuntu-latest
|
||||
name: "Cross Compilation (Go ${{matrix.go}})"
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
- uses: actions/setup-go@v2
|
||||
with:
|
||||
go-version: ${{ matrix.go }}
|
||||
- name: Install build utils
|
||||
run: sudo apt-get install -y gcc-multilib
|
||||
- name: Install dependencies
|
||||
run: go build example/main.go
|
||||
- name: Run cross compilation
|
||||
run: .github/workflows/cross-compile.sh
|
||||
Reference in New Issue
Block a user