-
-
Notifications
You must be signed in to change notification settings - Fork 1.1k
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
add release workflow for generating binaries
- Loading branch information
Showing
1 changed file
with
73 additions
and
0 deletions.
There are no files selected for viewing
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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,73 @@ | ||
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@v4 | ||
with: | ||
go-version: '1.22' | ||
- 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: | | ||
GOOS=windows GOARCH=amd64 go build -ldflags="-s -w" -o croc.exe | ||
zip croc_${{ github.event.release.name }}_Windows-64bit.zip croc.exe | ||
GOOS=windows GOARCH=386 go build -ldflags="-s -w" -o croc.exe | ||
zip croc_${{ github.event.release.name }}_Windows-32bit.zip croc.exe | ||
GOOS=linux GOARCH=amd64 go build -ldflags="-s -w" -o croc | ||
upx --brute croc | ||
tar -czvf croc_${{ github.event.release.name }}_Linux-64bit.tar.gz croc | ||
GOOS=linux GOARCH=386 go build -ldflags="-s -w" -o croc | ||
tar -czvf croc_${{ github.event.release.name }}_Linux-32bit.tar.gz croc | ||
GOOS=linux GOARCH=arm go build -ldflags="-s -w" -o croc | ||
upx --brute croc | ||
tar -czvf croc_${{ github.event.release.name }}_Linux-ARM.tar.gz croc | ||
GOOS=linux GOARCH=arm64 go build -ldflags="-s -w" -o croc | ||
upx --brute croc | ||
tar -czvf croc_${{ github.event.release.name }}_Linux-ARM64.tar.gz croc | ||
GOOS=darwin GOARCH=amd64 go build -ldflags="-s -w" -o croc | ||
tar -czvf croc_${{ github.event.release.name }}_macOS-64bit.tar.gz croc | ||
GOOS=darwin GOARCH=arm64 go build -ldflags="-s -w" -o croc | ||
tar -czvf croc_${{ github.event.release.name }}_macOS-ARM64.tar.gz croc | ||
- 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 }}_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-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 | ||
- name: Release | ||
uses: softprops/action-gh-release@v1 | ||
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 }}_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-ARM64.tar.gz | ||
croc_${{ github.event.release.name }}_macOS-64bit.tar.gz | ||
croc_${{ github.event.release.name }}_macOS-ARM64.tar.gz | ||