diff --git a/.builds/releases.yaml b/.builds/releases.yaml new file mode 100644 index 0000000000000000000000000000000000000000..f384ebc76b96994b7d8912999bdfff60195d1180 --- /dev/null +++ b/.builds/releases.yaml @@ -0,0 +1,15 @@ +environment: + repo: earl +image: alpine/latest +packages: +- go +- hut +- make +secrets: +- 29b66232-d97f-4f7e-a3b1-3b1910dbbdb0 +sources: +- https://git.sr.ht/~amolith/earl +tasks: +- build: | + cd $repo + make release diff --git a/Makefile b/Makefile new file mode 100644 index 0000000000000000000000000000000000000000..a0123528d10a702a104c7079df96c08519d8daf4 --- /dev/null +++ b/Makefile @@ -0,0 +1,74 @@ +# SPDX-FileCopyrightText: 2022 Amolith +# +# SPDX-License-Identifier: CC0-1.0 + +.PHONY: default clean all aix dragonfly darwin freebsd illumos netbsd linux openbsd plan9 solaris windows + +default: + go build -o out/earl . + +clean: + rm -rf out + +release: clean all + if ! [ -f "$HOME/.config/hut/config" ] ; then cat ~/.artifacts_token | hut init ; fi + hut git artifact upload out/* -r earl + +all: darwin dragonfly freebsd illumos netbsd openbsd plan9 linux solaris windows + +aix: + GOOS=aix GOARCH=ppc64 CGO_ENABLED=0 go build -o out/earl-aix-ppc64 . + +darwin: + GOOS=darwin GOARCH=amd64 CGO_ENABLED=0 go build -o out/earl-darwin-amd64 . + GOOS=darwin GOARCH=arm64 CGO_ENABLED=0 go build -o out/earl-darwin-arm64 . + +dragonfly: + GOOS=dragonfly GOARCH=amd64 CGO_ENABLED=0 go build -o out/earl-dragonfly-amd64 . + +freebsd: + GOOS=freebsd GOARCH=386 CGO_ENABLED=0 go build -o out/earl-freebsd-i386 . + GOOS=freebsd GOARCH=amd64 CGO_ENABLED=0 go build -o out/earl-freebsd-amd64 . + GOOS=freebsd GOARCH=arm CGO_ENABLED=0 go build -o out/earl-freebsd-arm . + +illumos: + GOOS=illumos GOARCH=amd64 CGO_ENABLED=0 go build -o out/earl-illumos-amd64 . + +linux: + GOOS=linux GOARCH=386 CGO_ENABLED=0 go build -o out/earl-linux-i386 . + GOOS=linux GOARCH=amd64 CGO_ENABLED=0 go build -o out/earl-linux-amd64 . + GOOS=linux GOARCH=arm CGO_ENABLED=0 go build -o out/earl-linux-arm . + GOOS=linux GOARCH=arm64 CGO_ENABLED=0 go build -o out/earl-linux-arm64 . + GOOS=linux GOARCH=ppc64 CGO_ENABLED=0 go build -o out/earl-linux-ppc64 . + GOOS=linux GOARCH=ppc64le CGO_ENABLED=0 go build -o out/earl-linux-ppc64le . + GOOS=linux GOARCH=mips CGO_ENABLED=0 go build -o out/earl-linux-mips . + GOOS=linux GOARCH=mipsle CGO_ENABLED=0 go build -o out/earl-linux-mipsle . + GOOS=linux GOARCH=mips64 CGO_ENABLED=0 go build -o out/earl-linux-mips64 . + GOOS=linux GOARCH=mips64le CGO_ENABLED=0 go build -o out/earl-linux-mips64le . + GOOS=linux GOARCH=riscv64 CGO_ENABLED=0 go build -o out/earl-linux-riscv64 . + GOOS=linux GOARCH=s390x CGO_ENABLED=0 go build -o out/earl-linux-s390x . + +netbsd: + GOOS=netbsd GOARCH=386 CGO_ENABLED=0 go build -o out/earl-netbsd-i386 . + GOOS=netbsd GOARCH=amd64 CGO_ENABLED=0 go build -o out/earl-netbsd-amd64 . + GOOS=netbsd GOARCH=arm CGO_ENABLED=0 go build -o out/earl-netbsd-arm . + +openbsd: + GOOS=openbsd GOARCH=386 CGO_ENABLED=0 go build -o out/earl-openbsd-i386 . + GOOS=openbsd GOARCH=amd64 CGO_ENABLED=0 go build -o out/earl-openbsd-amd64 . + GOOS=openbsd GOARCH=arm CGO_ENABLED=0 go build -o out/earl-openbsd-arm . + GOOS=openbsd GOARCH=arm64 CGO_ENABLED=0 go build -o out/earl-openbsd-arm64 . + +plan9: + GOOS=plan9 GOARCH=386 CGO_ENABLED=0 go build -o out/earl-plan9-i386 . + GOOS=plan9 GOARCH=amd64 CGO_ENABLED=0 go build -o out/earl-plan9-amd64 . + GOOS=plan9 GOARCH=arm CGO_ENABLED=0 go build -o out/earl-plan9-arm . + +solaris: + GOOS=solaris GOARCH=amd64 CGO_ENABLED=0 go build -o out/earl-solaris-amd64 . + +windows: + GOOS=windows GOARCH=386 CGO_ENABLED=0 go build -o out/earl-windows-i386.exe . + GOOS=windows GOARCH=amd64 CGO_ENABLED=0 go build -o out/earl-windows-amd64.exe . + GOOS=windows GOARCH=arm CGO_ENABLED=0 go build -o out/earl-windows-arm.exe . + GOOS=windows GOARCH=arm64 CGO_ENABLED=0 go build -o out/earl-windows-arm64.exe .