Make release #30
Workflow file for this run
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: Make release | |
on: | |
release: | |
types: [created] | |
workflow_dispatch: | |
permissions: | |
contents: write | |
jobs: | |
build: | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout project | |
uses: actions/checkout@v4 | |
- name: Setup Go | |
uses: actions/setup-go@v5 | |
with: | |
go-version: '1.20.7' # go1.20.8+ refuses to build go1.22 code... | |
- name: Build Windows 7 | |
run: | | |
CGO_ENABLED=0 GOOS=windows GOARCH=amd64 go build -ldflags '-extldflags "-static"' -o croc.exe | |
zip croc_${{ github.event.release.name }}_Windows7-64bit.zip croc.exe | |
CGO_ENABLED=0 GOOS=windows GOARCH=386 go build -ldflags '-extldflags "-static"' -o croc.exe | |
zip croc_${{ github.event.release.name }}_Windows7-32bit.zip croc.exe | |
- name: Setup Go | |
uses: actions/setup-go@v4 | |
with: | |
go-version: '1.23' | |
- name: Prepare source tarball | |
run: | | |
git clone -b ${{ github.event.release.name }} --depth 1 https://github.com/schollz/croc croc-${{ github.event.release.name }} | |
cd croc-${{ github.event.release.name }} && go mod tidy && go mod vendor | |
cd .. && tar -czvf croc_${{ github.event.release.name }}_src.tar.gz croc-${{ github.event.release.name }} | |
- name: Build files | |
run: | | |
CGO_ENABLED=0 GOOS=windows GOARCH=amd64 go build -ldflags '-extldflags "-static"' -o croc.exe | |
zip croc_${{ github.event.release.name }}_Windows-64bit.zip croc.exe LICENSE | |
CGO_ENABLED=0 GOOS=windows GOARCH=386 go build -ldflags '-extldflags "-static"' -o croc.exe | |
zip croc_${{ github.event.release.name }}_Windows-32bit.zip croc.exe LICENSE | |
CGO_ENABLED=0 GOOS=windows GOARCH=arm go build -ldflags '-extldflags "-static"' -o croc.exe | |
zip croc_${{ github.event.release.name }}_Windows-ARM.zip croc.exe LICENSE | |
CGO_ENABLED=0 GOOS=windows GOARCH=arm64 go build -ldflags '-extldflags "-static"' -o croc.exe | |
zip croc_${{ github.event.release.name }}_Windows-ARM64.zip croc.exe LICENSE | |
CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build -ldflags '-extldflags "-static"' -o croc | |
tar -czvf croc_${{ github.event.release.name }}_Linux-64bit.tar.gz croc LICENSE | |
CGO_ENABLED=0 GOOS=linux GOARCH=386 go build -ldflags '-extldflags "-static"' -o croc | |
tar -czvf croc_${{ github.event.release.name }}_Linux-32bit.tar.gz croc LICENSE | |
CGO_ENABLED=0 GOOS=linux GOARCH=arm go build -ldflags '-extldflags "-static"' -o croc | |
tar -czvf croc_${{ github.event.release.name }}_Linux-ARM.tar.gz croc LICENSE | |
GOARM=5 CGO_ENABLED=0 GOOS=linux GOARCH=arm go build -ldflags '-extldflags "-static"' -o croc | |
tar -czvf croc_${{ github.event.release.name }}_Linux-ARMv5.tar.gz croc LICENSE | |
CGO_ENABLED=0 GOOS=linux GOARCH=arm64 go build -ldflags '-extldflags "-static"' -o croc | |
tar -czvf croc_${{ github.event.release.name }}_Linux-ARM64.tar.gz croc LICENSE | |
CGO_ENABLED=0 GOOS=darwin GOARCH=amd64 go build -ldflags '-s -extldflags "-sectcreate __TEXT __info_plist Info.plist"' -o croc | |
tar -czvf croc_${{ github.event.release.name }}_macOS-64bit.tar.gz croc LICENSE | |
CGO_ENABLED=0 GOOS=darwin GOARCH=arm64 go build -ldflags '-s -extldflags "-sectcreate __TEXT __info_plist Info.plist"' -o croc | |
tar -czvf croc_${{ github.event.release.name }}_macOS-ARM64.tar.gz croc LICENSE | |
CGO_ENABLED=0 GOOS=dragonfly GOARCH=amd64 go build -ldflags '' -o croc | |
tar -czvf croc_${{ github.event.release.name }}_DragonFlyBSD-64bit.tar.gz croc LICENSE | |
CGO_ENABLED=0 GOOS=freebsd GOARCH=amd64 go build -ldflags '' -o croc | |
tar -czvf croc_${{ github.event.release.name }}_FreeBSD-64bit.tar.gz croc LICENSE | |
CGO_ENABLED=0 GOOS=freebsd GOARCH=arm64 go build -ldflags '' -o croc | |
tar -czvf croc_${{ github.event.release.name }}_FreeBSD-ARM64.tar.gz croc LICENSE | |
CGO_ENABLED=0 GOOS=netbsd GOARCH=386 go build -ldflags '' -o croc | |
tar -czvf croc_${{ github.event.release.name }}_NetBSD-32bit.tar.gz croc LICENSE | |
CGO_ENABLED=0 GOOS=netbsd GOARCH=amd64 go build -ldflags '' -o croc | |
tar -czvf croc_${{ github.event.release.name }}_NetBSD-64bit.tar.gz croc LICENSE | |
CGO_ENABLED=0 GOOS=netbsd GOARCH=arm64 go build -ldflags '' -o croc | |
tar -czvf croc_${{ github.event.release.name }}_NetBSD-ARM64.tar.gz croc LICENSE | |
CGO_ENABLED=0 GOOS=openbsd GOARCH=amd64 go build -ldflags '' -o croc | |
tar -czvf croc_${{ github.event.release.name }}_OpenBSD-64bit.tar.gz croc LICENSE | |
CGO_ENABLED=0 GOOS=openbsd GOARCH=arm64 go build -ldflags '' -o croc | |
tar -czvf croc_${{ github.event.release.name }}_OpenBSD-ARM64.tar.gz croc LICENSE | |
- name: Create checksums.txt | |
run: | | |
touch croc_${{ github.event.release.name }}_checksums.txt | |
sha256sum croc_${{ github.event.release.name }}_src.tar.gz >> croc_${{ github.event.release.name }}_checksums.txt | |
sha256sum croc_${{ github.event.release.name }}_Windows-64bit.zip >> croc_${{ github.event.release.name }}_checksums.txt | |
sha256sum croc_${{ github.event.release.name }}_Windows-32bit.zip >> croc_${{ github.event.release.name }}_checksums.txt | |
sha256sum croc_${{ github.event.release.name }}_Windows-ARM.zip >> croc_${{ github.event.release.name }}_checksums.txt | |
sha256sum croc_${{ github.event.release.name }}_Windows-ARM64.zip >> croc_${{ github.event.release.name }}_checksums.txt | |
sha256sum croc_${{ github.event.release.name }}_Windows7-64bit.zip >> croc_${{ github.event.release.name }}_checksums.txt | |
sha256sum croc_${{ github.event.release.name }}_Windows7-32bit.zip >> croc_${{ github.event.release.name }}_checksums.txt | |
sha256sum croc_${{ github.event.release.name }}_Linux-64bit.tar.gz >> croc_${{ github.event.release.name }}_checksums.txt | |
sha256sum croc_${{ github.event.release.name }}_Linux-32bit.tar.gz >> croc_${{ github.event.release.name }}_checksums.txt | |
sha256sum croc_${{ github.event.release.name }}_Linux-ARM.tar.gz >> croc_${{ github.event.release.name }}_checksums.txt | |
sha256sum croc_${{ github.event.release.name }}_Linux-ARMv5.tar.gz >> croc_${{ github.event.release.name }}_checksums.txt | |
sha256sum croc_${{ github.event.release.name }}_Linux-ARM64.tar.gz >> croc_${{ github.event.release.name }}_checksums.txt | |
sha256sum croc_${{ github.event.release.name }}_macOS-64bit.tar.gz >> croc_${{ github.event.release.name }}_checksums.txt | |
sha256sum croc_${{ github.event.release.name }}_macOS-ARM64.tar.gz >> croc_${{ github.event.release.name }}_checksums.txt | |
sha256sum croc_${{ github.event.release.name }}_DragonFlyBSD-64bit.tar.gz >> croc_${{ github.event.release.name }}_checksums.txt | |
sha256sum croc_${{ github.event.release.name }}_FreeBSD-64bit.tar.gz >> croc_${{ github.event.release.name }}_checksums.txt | |
sha256sum croc_${{ github.event.release.name }}_FreeBSD-ARM64.tar.gz >> croc_${{ github.event.release.name }}_checksums.txt | |
sha256sum croc_${{ github.event.release.name }}_NetBSD-32bit.tar.gz >> croc_${{ github.event.release.name }}_checksums.txt | |
sha256sum croc_${{ github.event.release.name }}_NetBSD-64bit.tar.gz >> croc_${{ github.event.release.name }}_checksums.txt | |
sha256sum croc_${{ github.event.release.name }}_NetBSD-ARM64.tar.gz >> croc_${{ github.event.release.name }}_checksums.txt | |
sha256sum croc_${{ github.event.release.name }}_OpenBSD-64bit.tar.gz >> croc_${{ github.event.release.name }}_checksums.txt | |
sha256sum croc_${{ github.event.release.name }}_OpenBSD-ARM64.tar.gz >> croc_${{ github.event.release.name }}_checksums.txt | |
- name: Release | |
uses: softprops/action-gh-release@v2 | |
with: | |
files: | | |
croc_${{ github.event.release.name }}_checksums.txt | |
croc_${{ github.event.release.name }}_src.tar.gz | |
croc_${{ github.event.release.name }}_Windows-64bit.zip | |
croc_${{ github.event.release.name }}_Windows-32bit.zip | |
croc_${{ github.event.release.name }}_Windows-ARM.zip | |
croc_${{ github.event.release.name }}_Windows-ARM64.zip | |
croc_${{ github.event.release.name }}_Windows7-64bit.zip | |
croc_${{ github.event.release.name }}_Windows7-32bit.zip | |
croc_${{ github.event.release.name }}_Linux-64bit.tar.gz | |
croc_${{ github.event.release.name }}_Linux-32bit.tar.gz | |
croc_${{ github.event.release.name }}_Linux-ARM.tar.gz | |
croc_${{ github.event.release.name }}_Linux-ARMv5.tar.gz | |
croc_${{ github.event.release.name }}_Linux-ARM64.tar.gz | |
croc_${{ github.event.release.name }}_macOS-64bit.tar.gz | |
croc_${{ github.event.release.name }}_macOS-ARM64.tar.gz | |
croc_${{ github.event.release.name }}_DragonFlyBSD-64bit.tar.gz | |
croc_${{ github.event.release.name }}_FreeBSD-64bit.tar.gz | |
croc_${{ github.event.release.name }}_FreeBSD-ARM64.tar.gz | |
croc_${{ github.event.release.name }}_NetBSD-32bit.tar.gz | |
croc_${{ github.event.release.name }}_NetBSD-64bit.tar.gz | |
croc_${{ github.event.release.name }}_NetBSD-ARM64.tar.gz | |
croc_${{ github.event.release.name }}_OpenBSD-64bit.tar.gz | |
croc_${{ github.event.release.name }}_OpenBSD-ARM64.tar.gz |