65 lines
1.5 KiB
YAML
65 lines
1.5 KiB
YAML
|
name: Release
|
||
|
|
||
|
on:
|
||
|
push:
|
||
|
tags:
|
||
|
- 'v*'
|
||
|
|
||
|
jobs:
|
||
|
build:
|
||
|
name: Build
|
||
|
runs-on: ubuntu-latest
|
||
|
steps:
|
||
|
|
||
|
- name: Set up Go 1.x
|
||
|
uses: actions/setup-go@v2
|
||
|
with:
|
||
|
go-version: ^1.14
|
||
|
|
||
|
- name: Check out code into the Go module directory
|
||
|
uses: actions/checkout@v2
|
||
|
with:
|
||
|
fetch-depth: '0'
|
||
|
|
||
|
- name: Build
|
||
|
run: |
|
||
|
GOOS=linux make build
|
||
|
GOOS=darwin make build
|
||
|
GOOS=windows EXTENSION=.exe make build
|
||
|
|
||
|
- name: Install fpm
|
||
|
run: |
|
||
|
sudo apt-get update
|
||
|
sudo apt-get install -y rpm ruby ruby-dev
|
||
|
sudo gem install fpm
|
||
|
|
||
|
- name: Package
|
||
|
run: make package-deb package-rpm
|
||
|
|
||
|
- name: Create Release
|
||
|
id: create_release
|
||
|
uses: actions/create-release@v1
|
||
|
env:
|
||
|
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||
|
with:
|
||
|
tag_name: ${{ github.ref }}
|
||
|
release_name: Release ${{ github.ref }}
|
||
|
draft: false
|
||
|
prerelease: false
|
||
|
|
||
|
- name: Upload Release Asset
|
||
|
uses: actions/github-script@v2
|
||
|
with:
|
||
|
github-token: ${{secrets.GITHUB_TOKEN}}
|
||
|
script: |
|
||
|
const fs = require('fs').promises;
|
||
|
const upload_url = '${{ steps.create_release.outputs.upload_url }}';
|
||
|
for (let file of await fs.readdir('./dist')) {
|
||
|
console.log('uploading', file);
|
||
|
await github.repos.uploadReleaseAsset({
|
||
|
url: upload_url,
|
||
|
name: file,
|
||
|
data: await fs.readFile(`./dist/${file}`)
|
||
|
});
|
||
|
}
|
||
|
|