tolo/.github/workflows/release.yml
selamanapps 40a80a6c9b Initial release: Tolo v1.0.0
- Add core CLI functionality (save, run, update, delete, list, show, search)
- Implement JSON-based storage in ~/.tolo/tolo.db.json
- Add beautiful terminal UI with colors and icons
- Support command shortcuts (s, r, u, d, ls, l, sh, se, h, v)
- Add Bash and Zsh shell completion
- Include comprehensive documentation (README, CONTRIBUTING, SECURITY)
- Set up CI/CD workflows with GitHub Actions
- Add installation script and Makefile for build automation
- MIT License

Made with ❤️ at Zemenawi Lab
2026-03-27 06:44:03 +03:00

76 lines
2.4 KiB
YAML

name: Release
on:
push:
tags:
- 'v*'
permissions:
contents: write
jobs:
release:
name: Release
runs-on: ubuntu-latest
steps:
- name: Set up Go
uses: actions/setup-go@v5
with:
go-version: '1.21'
- name: Check out code
uses: actions/checkout@v4
- name: Download dependencies
run: go mod download
- name: Build binaries
env:
CGO_ENABLED: 0
run: |
VERSION=${GITHUB_REF#refs/tags/}
echo "Building version $VERSION"
mkdir -p release
# Linux AMD64
GOOS=linux GOARCH=amd64 go build -ldflags="-s -w -X main.version=$VERSION" -o release/tolo-linux-amd64
tar -czf release/tolo-${VERSION}-linux-amd64.tar.gz -C release tolo-linux-amd64
# Linux ARM64
GOOS=linux GOARCH=arm64 go build -ldflags="-s -w -X main.version=$VERSION" -o release/tolo-linux-arm64
tar -czf release/tolo-${VERSION}-linux-arm64.tar.gz -C release tolo-linux-arm64
# macOS AMD64
GOOS=darwin GOARCH=amd64 go build -ldflags="-s -w -X main.version=$VERSION" -o release/tolo-darwin-amd64
tar -czf release/tolo-${VERSION}-darwin-amd64.tar.gz -C release tolo-darwin-amd64
# macOS ARM64
GOOS=darwin GOARCH=arm64 go build -ldflags="-s -w -X main.version=$VERSION" -o release/tolo-darwin-arm64
tar -czf release/tolo-${VERSION}-darwin-arm64.tar.gz -C release tolo-darwin-arm64
# Windows AMD64
GOOS=windows GOARCH=amd64 go build -ldflags="-s -w -X main.version=$VERSION" -o release/tolo-windows-amd64.exe
zip -j release/tolo-${VERSION}-windows-amd64.zip release/tolo-windows-amd64.exe
# Windows 386
GOOS=windows GOARCH=386 go build -ldflags="-s -w -X main.version=$VERSION" -o release/tolo-windows-386.exe
zip -j release/tolo-${VERSION}-windows-386.zip release/tolo-windows-386.exe
- name: Generate checksums
run: |
cd release
sha256sum * > checksums.txt
- name: Create Release
uses: softprops/action-gh-release@v2
with:
files: |
release/*.tar.gz
release/*.zip
release/checksums.txt
generate_release_notes: true
draft: false
prerelease: false
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}