parent
4295a2305e
commit
c6e28024fe
@ -1,30 +0,0 @@ |
||||
name: Go |
||||
|
||||
on: |
||||
push: |
||||
branches: [ master ] |
||||
pull_request: |
||||
branches: [ master ] |
||||
|
||||
jobs: |
||||
|
||||
build: |
||||
name: Build |
||||
runs-on: macos-latest |
||||
steps: |
||||
|
||||
- name: Set up Go 1.x |
||||
uses: actions/setup-go@v2 |
||||
with: |
||||
go-version: ^1.14 |
||||
id: go |
||||
|
||||
- name: Check out code into the Go module directory |
||||
uses: actions/checkout@v2 |
||||
|
||||
- name: Get dependencies |
||||
run: | |
||||
go get -v -t -d ./... |
||||
|
||||
- name: Build |
||||
run: go build -v . |
@ -0,0 +1,39 @@ |
||||
on: release |
||||
name: Build Release |
||||
jobs: |
||||
release-darwin-amd64: |
||||
name: release darwin/amd64 |
||||
runs-on: macos-latest |
||||
steps: |
||||
- uses: actions/checkout@master |
||||
- name: compile and release |
||||
uses: ngs/go-release.action@v1.0.1 |
||||
env: |
||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} |
||||
GOARCH: amd64 |
||||
GOOS: darwin |
||||
EXTRA_FILES: "LICENSE" |
||||
release-windows-386: |
||||
name: release windows/386 |
||||
runs-on: windows-latest |
||||
steps: |
||||
- uses: actions/checkout@master |
||||
- name: compile and release |
||||
uses: ngs/go-release.action@v1.0.1 |
||||
env: |
||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} |
||||
GOARCH: "386" |
||||
GOOS: windows |
||||
EXTRA_FILES: "LICENSE" |
||||
release-windows-amd64: |
||||
name: release windows/amd64 |
||||
runs-on: ubuntu-latest |
||||
steps: |
||||
- uses: actions/checkout@master |
||||
- name: compile and release |
||||
uses: ngs/go-release.action@v1.0.1 |
||||
env: |
||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} |
||||
GOARCH: amd64 |
||||
GOOS: windows |
||||
EXTRA_FILES: "LICENSE" |
@ -0,0 +1,26 @@ |
||||
#!/bin/sh |
||||
|
||||
set -eux |
||||
|
||||
PROJECT_ROOT="/go/src/github.com/${GITHUB_REPOSITORY}" |
||||
|
||||
mkdir -p $PROJECT_ROOT |
||||
rmdir $PROJECT_ROOT |
||||
ln -s $GITHUB_WORKSPACE $PROJECT_ROOT |
||||
cd $PROJECT_ROOT |
||||
go get -v ./... |
||||
|
||||
EXT='' |
||||
|
||||
if [ $GOOS == 'windows' ]; then |
||||
EXT='.exe' |
||||
fi |
||||
|
||||
if [ -x "./build.sh" ]; then |
||||
OUTPUT=`./build.sh "${CMD_PATH}"` |
||||
else |
||||
go build "${CMD_PATH}" |
||||
OUTPUT="${PROJECT_NAME}${EXT}" |
||||
fi |
||||
|
||||
echo ${OUTPUT} |
@ -0,0 +1,54 @@ |
||||
|
||||
#!/bin/sh |
||||
|
||||
set -eux |
||||
|
||||
if [ -z "${CMD_PATH+x}" ]; then |
||||
echo "::warning file=entrypoint.sh,line=6,col=1::CMD_PATH not set" |
||||
export CMD_PATH="" |
||||
fi |
||||
|
||||
FILE_LIST=`/build.sh` |
||||
|
||||
#echo "::warning file=/build.sh,line=1,col=5::${FILE_LIST}" |
||||
|
||||
EVENT_DATA=$(cat $GITHUB_EVENT_PATH) |
||||
echo $EVENT_DATA | jq . |
||||
UPLOAD_URL=$(echo $EVENT_DATA | jq -r .release.upload_url) |
||||
UPLOAD_URL=${UPLOAD_URL/\{?name,label\}/} |
||||
RELEASE_NAME=$(echo $EVENT_DATA | jq -r .release.tag_name) |
||||
PROJECT_NAME=$(basename $GITHUB_REPOSITORY) |
||||
NAME="${NAME:-${PROJECT_NAME}_${RELEASE_NAME}}_${GOOS}_${GOARCH}" |
||||
|
||||
if [ -z "${EXTRA_FILES+x}" ]; then |
||||
echo "::warning file=entrypoint.sh,line=22,col=1::EXTRA_FILES not set" |
||||
fi |
||||
|
||||
FILE_LIST="${FILE_LIST} ${EXTRA_FILES}" |
||||
|
||||
FILE_LIST=`echo "${FILE_LIST}" | awk '{$1=$1};1'` |
||||
|
||||
|
||||
if [ $GOOS == 'windows' ]; then |
||||
ARCHIVE=tmp.zip |
||||
zip -9r $ARCHIVE ${FILE_LIST} |
||||
else |
||||
ARCHIVE=tmp.tgz |
||||
tar cvfz $ARCHIVE ${FILE_LIST} |
||||
fi |
||||
|
||||
CHECKSUM=$(md5sum ${ARCHIVE} | cut -d ' ' -f 1) |
||||
|
||||
curl \ |
||||
-X POST \ |
||||
--data-binary @${ARCHIVE} \ |
||||
-H 'Content-Type: application/octet-stream' \ |
||||
-H "Authorization: Bearer ${GITHUB_TOKEN}" \ |
||||
"${UPLOAD_URL}?name=${NAME}.${ARCHIVE/tmp./}" |
||||
|
||||
curl \ |
||||
-X POST \ |
||||
--data $CHECKSUM \ |
||||
-H 'Content-Type: text/plain' \ |
||||
-H "Authorization: Bearer ${GITHUB_TOKEN}" \ |
||||
"${UPLOAD_URL}?name=${NAME}_checksum.txt" |
Loading…
Reference in new issue