Switch back to glibc for static builds #82
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: Trunk build | |
on: | |
push: | |
branch: develop | |
concurrency: | |
group: ${{ github.workflow }}-${{ github.ref }} | |
cancel-in-progress: true | |
permissions: | |
contents: write | |
jobs: | |
build: | |
strategy: | |
fail-fast: false | |
name: Build Windows/Linux/MacOS/FreeBSD/Android | |
runs-on: ubuntu-20.04 | |
steps: | |
- uses: actions/checkout@v3 | |
with: | |
fetch-depth: 0 | |
- name: Set up Go | |
uses: actions/setup-go@v3 | |
with: | |
go-version: "1.21" | |
- name: Download and install cross-tools | |
run: | | |
sudo apt-get update | |
sudo apt-get install \ | |
crossbuild-essentials-armhf \ | |
crossbuild-essentials-arm64 \ | |
crossbuild-essentials-mips \ | |
crossbuild-essentials-mipsel \ | |
crossbuild-essentials-mips64 \ | |
crossbuild-essentials-mips64el \ | |
crossbuild-essentials-riscv64 \ | |
crossbuild-essentials-s390x | |
- name: Build yggstack executables | |
run: | | |
GOOS=windows GOARCH=arm GOARM=7 ./build -o yggstack-windows-armv7.exe | |
GOOS=windows GOARCH=arm64 ./build -o yggstack-windows-arm64.exe | |
GOOS=windows GOARCH=386 ./build -o yggstack-windows-i386.exe | |
GOOS=windows GOARCH=amd64 ./build -o yggstack-windows-amd64.exe | |
GOOS=linux GOARCH=386 ./build -o yggstack-linux-i386 | |
GOOS=linux GOARCH=amd64 ./build -o yggstack-linux-amd64 | |
GOOS=linux GOARCH=arm GOARM=6 ./build -o yggstack-linux-armv6 | |
GOOS=linux GOARCH=arm GOARM=7 ./build -o yggstack-linux-armv7 | |
GOOS=linux GOARCH=arm64 ./build -o yggstack-linux-arm64 | |
GOOS=linux GOARCH=mips GOMIPS=softfloat ./build -o yggstack-linux-mips-sf | |
GOOS=linux GOARCH=mipsle GOMIPS=softfloat ./build -o yggstack-linux-mipsle-sf | |
GOOS=linux GOARCH=mips64 ./build -o yggstack-linux-mips64 | |
GOOS=linux GOARCH=mips64le ./build -o yggstack-linux-mips64le | |
GOOS=linux GOARCH=ppc64 ./build -o yggstack-linux-ppc64 | |
GOOS=linux GOARCH=ppc64le ./build -o yggstack-linux-ppc64le | |
GOOS=linux GOARCH=riscv64 ./build -o yggstack-linux-riscv64 | |
GOOS=linux GOARCH=s390x ./build -o yggstack-linux-s390x | |
GOOS=linux GOARCH=386 ./build -l "-linkmode 'external' -extldflags '-static' -s" -o yggstack-linux-i386-static | |
GOOS=linux GOARCH=amd64 ./build -l "-linkmode 'external' -extldflags '-static' -s" -o yggstack-linux-amd64-static | |
CC="/usr/bin/arm-linux-gnueabihf-gcc" GOOS=linux GOARCH=arm GOARM=6 ./build -l "-linkmode 'external' -extldflags '-static' -s" -o yggstack-linux-armv6-static | |
CC="/usr/bin/arm-linux-gnueabihf-gcc" GOOS=linux GOARCH=arm GOARM=7 ./build -l "-linkmode 'external' -extldflags '-static' -s" -o yggstack-linux-armv7-static | |
CC="/usr/bin/aarch64-linux-gnu-gcc" GOOS=linux GOARCH=arm64 ./build -l "-linkmode 'external' -extldflags '-static' -s" -o yggstack-linux-arm64-static | |
CC="/usr/bin/mips-linux-gnu-gcc" GOOS=linux GOARCH=mips GOMIPS=softfloat ./build -l "-linkmode 'external' -extldflags '-static' -s" -o yggstack-linux-mips-sf-static | |
CC="/usr/bin/mipsel-linux-gnu-gcc" GOOS=linux GOARCH=mipsle GOMIPS=softfloat ./build -l "-linkmode 'external' -extldflags '-static' -s" -o yggstack-linux-mipsle-sf-static | |
CC="/usr/bin/mips64-linux-gnuabi64-gcc" GOOS=linux GOARCH=mips64 ./build -l "-linkmode 'external' -extldflags '-static' -s" -o yggstack-linux-mips64-static | |
CC="/usr/bin/mips64el-linux-gnuabi64-gcc" GOOS=linux GOARCH=mips64le ./build -l "-linkmode 'external' -extldflags '-static' -s" -o yggstack-linux-mips64le-static | |
CC="/usr/bin/riscv64-linux-gnu-gcc" GOOS=linux GOARCH=riscv64 ./build -l "-linkmode 'external' -extldflags '-static' -s" -o yggstack-linux-riscv64-static | |
CC="/usr/bin/s390x-linux-gnu-gcc" GOOS=linux GOARCH=s390x ./build -l "-linkmode 'external' -extldflags '-static' -s" -o yggstack-linux-s390x-static | |
GOOS=darwin GOARCH=arm64 ./build -o yggstack-darwin-arm64 | |
GOOS=darwin GOARCH=amd64 ./build -o yggstack-darwin-amd64 | |
GOOS=freebsd GOARCH=arm64 ./build -o yggstack-freebsd-arm64 | |
GOOS=freebsd GOARCH=amd64 ./build -o yggstack-freebsd-amd64 | |
GOOS=freebsd GOARCH=arm GOARM=6 ./build -o yggstack-freebsd-armv6 | |
GOOS=freebsd GOARCH=arm GOARM=7 ./build -o yggstack-freebsd-armv7 | |
GOOS=freebsd GOARCH=386 ./build -o yggstack-freebsd-i386 | |
GOOS=openbsd GOARCH=arm64 ./build -o yggstack-openbsd-arm64 | |
GOOS=openbsd GOARCH=amd64 ./build -o yggstack-openbsd-amd64 | |
GOOS=openbsd GOARCH=arm GOARM=6 ./build -o yggstack-openbsd-armv6 | |
GOOS=openbsd GOARCH=arm GOARM=7 ./build -o yggstack-openbsd-armv7 | |
GOOS=openbsd GOARCH=386 ./build -o yggstack-openbsd-i386 | |
GOOS=netbsd GOARCH=arm64 ./build -o yggstack-netbsd-arm64 | |
GOOS=netbsd GOARCH=amd64 ./build -o yggstack-netbsd-amd64 | |
GOOS=netbsd GOARCH=arm GOARM=6 ./build -o yggstack-netbsd-armv6 | |
GOOS=netbsd GOARCH=arm GOARM=7 ./build -o yggstack-netbsd-armv7 | |
GOOS=netbsd GOARCH=386 ./build -o yggstack-netbsd-i386 | |
CC="$ANDROID_NDK_ROOT/toolchains/llvm/prebuilt/linux-x86_64/bin/aarch64-linux-android21-clang" GOOS=android GOARCH=arm64 ./build -o yggstack-android-arm64 | |
CC="$ANDROID_NDK_ROOT/toolchains/llvm/prebuilt/linux-x86_64/bin/x86_64-linux-android21-clang" GOOS=android GOARCH=amd64 ./build -o yggstack-android-amd64 | |
CC="$ANDROID_NDK_ROOT/toolchains/llvm/prebuilt/linux-x86_64/bin/armv7a-linux-androideabi21-clang" GOOS=android GOARCH=arm GOARM=7 ./build -o yggstack-android-armv7 | |
CC="$ANDROID_NDK_ROOT/toolchains/llvm/prebuilt/linux-x86_64/bin/i686-linux-android21-clang" GOOS=android GOARCH=386 ./build -o yggstack-android-i386 | |
#GOOS=ios GOARCH=arm64 CC=$(go env GOROOT)/misc/ios/clangwrap.sh ./build -o yggstack-ios-arm64 | |
#GOOS=ios GOARCH=amd64 CC=$(go env GOROOT)/misc/ios/clangwrap.sh ./build -o yggstack-ios-amd64 | |
- name: Publish release | |
run: | | |
gh release create trunk --prerelease yggstack-* || gh release upload trunk yggstack-* --clobber | |
env: | |
GH_TOKEN: ${{ github.token }} |