Release executable binaries for Go projects on GitHub
Use GitHub actions to create a release action and use this repo to perform build and publish tasks.
If you want to provide own implementation of build.sh, the file should exist in the root directory of the repo.
Takes optional arguments in env:
BUILDOPTS: Any build options neededSUBDIR: If repository contains separate projects in different subdirectories, mention path/to/subdir hereEXECUTABLE_NAME: Name of the executable, else defaults to project name
Sample syntax for actions yml file:
on: release
name: Build Release
jobs:
jobname1:
name: utility-1
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@master
- name: compile and release i386
uses: ibm/go-release-executables@v1.0.0
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
GOARCH: "386"
GOOS: linux
SUBDIR: "subdir"
EXECUTABLE_NAME: "exec1"
- name: compile and release x86
uses: ibm/go-release-executables@v1.0.0
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
GOARCH: amd64
GOOS: linux
SUBDIR: "subdir"
EXECUTABLE_NAME: "exec2"
jobname2:
name: utility-2
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@master
- name: compile and release x86
uses: ibm/go-release-executables@v1.0.0
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
GOARCH: amd64
GOOS: linux
SUBDIR: "subdir"
EXECUTABLE_NAME: "exec3"