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}`) }); }