Skip to content

Release and install test #18

Release and install test

Release and install test #18

Workflow file for this run

name: Build
on:
push:
tags:
- 'v*.*.*'
workflow_dispatch:
jobs:
build:
runs-on: ubuntu-latest
strategy:
matrix:
go-version: [1.22]
os: [ubuntu-latest, macos-latest]
steps:
- name: Check out the repository
uses: actions/checkout@v4
- name: Set up Go
uses: actions/setup-go@v5
with:
go-version: ${{ matrix.go-version }}
- name: Create release assets
id: create-release
run: |
mkdir -p release
- name: Build the binary
run: |
if [ "${{ matrix.os }}" == "ubuntu-latest" ]; then
GOOS=linux GOARCH=amd64 go build -o smeditor
tar -czvf release/smeditor-linux-${{ matrix.go-version }}.tar.gz smeditor
else
GOOS=darwin GOARCH=amd64 go build -o smeditor
tar -czvf release/smeditor-macos-${{ matrix.go-version }}.tar.gz smeditor
fi
- name: Upload release assets
uses: actions/upload-artifact@v4
with:
name: smeditor-${{ matrix.os }}
path: release/
publish:
runs-on: ubuntu-latest
needs: build
if: github.ref_type == 'tag'
steps:
- name: Check out the repository
uses: actions/checkout@v4
- name: Download release assets
uses: actions/download-artifact@v4
with:
merge-multiple: true
path: release/
- name: Display structure of downloaded files
run: ls -ln release
- name: Create GitHub Release
uses: softprops/action-gh-release@v2
with:
files: |
release/smeditor-*
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}