mirror of
https://github.com/chenasraf/treelike.git
synced 2026-05-18 01:48:58 +00:00
81 lines
2.2 KiB
YAML
81 lines
2.2 KiB
YAML
name: Release
|
|
|
|
on:
|
|
push:
|
|
branches:
|
|
- master
|
|
|
|
permissions:
|
|
contents: write
|
|
pull-requests: write
|
|
|
|
jobs:
|
|
test:
|
|
name: Test
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- uses: actions/checkout@v4
|
|
- name: Set up Go
|
|
uses: actions/setup-go@v4
|
|
with:
|
|
go-version: '1.23'
|
|
- name: Test
|
|
run: go test -v
|
|
|
|
generate:
|
|
name: Generate cross-platform builds
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- name: Checkout the repository
|
|
uses: actions/checkout@v4
|
|
- name: Create dist/ dir
|
|
run: mkdir dist
|
|
- name: Generate build files
|
|
uses: thatisuday/go-cross-build@v1
|
|
with:
|
|
platforms: 'linux/amd64, darwin/amd64, windows/amd64' # , darwin/arm64' # '
|
|
package: ''
|
|
name: 'treelike'
|
|
compress: 'true'
|
|
dest: 'dist'
|
|
- name: Upload builds
|
|
uses: actions/upload-artifact@v4
|
|
with:
|
|
name: dist
|
|
path: dist
|
|
|
|
release-please:
|
|
name: Release
|
|
runs-on: ubuntu-latest
|
|
needs:
|
|
- test
|
|
- generate
|
|
steps:
|
|
- name: Download builds
|
|
uses: actions/download-artifact@v4
|
|
with:
|
|
name: dist
|
|
path: dist
|
|
- name: Verify Release Artifacts
|
|
run: |
|
|
ls -la dist
|
|
for i in "linux-amd64" "darwin-amd64" "windows-amd64"; do
|
|
if [[ ! -f ./dist/treelike-$i.tar.gz ]]; then
|
|
echo "File not found: ./dest/treelike-$i.tar.gz"
|
|
exit 1
|
|
fi
|
|
done
|
|
- uses: googleapis/release-please-action@v4
|
|
id: release
|
|
with:
|
|
release-type: simple
|
|
- name: Upload Release Artifacts
|
|
if: ${{ steps.release.outputs.release_created }}
|
|
env:
|
|
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
|
run: |
|
|
gh release upload ${{ steps.release.outputs.tag_name }} ./dist/treelike-linux-amd64.tar.gz
|
|
gh release upload ${{ steps.release.outputs.tag_name }} ./dist/treelike-darwin-amd64.tar.gz
|
|
gh release upload ${{ steps.release.outputs.tag_name }} ./dist/treelike-windows-amd64.zip
|
|
# gh release upload ${{ steps.release.outputs.tag_name }} ./dist/treelike-darwin-arm64.tar.gz
|