From 4a8d707b62f12b0e231f127d4af7a65f83f41ed4 Mon Sep 17 00:00:00 2001 From: Amolith Date: Mon, 24 Oct 2022 10:35:20 -0400 Subject: [PATCH] automate releases --- .builds/releases.yaml | 20 ++++++++++++ Makefile | 73 +++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 93 insertions(+) create mode 100644 .builds/releases.yaml create mode 100644 Makefile diff --git a/.builds/releases.yaml b/.builds/releases.yaml new file mode 100644 index 0000000000000000000000000000000000000000..255468d0bfadae23d358c9a6e201a01d0e6f3ac9 --- /dev/null +++ b/.builds/releases.yaml @@ -0,0 +1,20 @@ +environment: + deploy: sourcehut@moonjoymeadery.com + path: /var/www/moonjoymeadery.com + port: 22 + 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 +- upload-artifacts: | + cat diff --git a/Makefile b/Makefile new file mode 100644 index 0000000000000000000000000000000000000000..120137fc21811eb85a99fe5e10649c8b302a649d --- /dev/null +++ b/Makefile @@ -0,0 +1,73 @@ +# SPDX-FileCopyrightText: 2021 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 + 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 .