Files
yggdrasil-go/.github/workflows/release.yml
2022-09-18 17:18:30 +08:00

63 lines
1.7 KiB
YAML

name: Release
on:
push:
tags:
- "v*.*.*"
permissions:
contents: write
jobs:
build:
runs-on: ubuntu-latest
env:
CGO_ENABLED: 1
steps:
- name: Checkout codebase
uses: actions/checkout@v3
with:
fetch-depth: 0
- name: Build Yggdrasil Server
uses: crazy-max/ghaction-xgo@v2
with:
xgo_version: latest
go_version: 1.19
dest: build
prefix: yggdrasil
targets: windows/amd64,linux/amd64,linux/arm64,darwin/amd64,darwin/arm64
v: true
x: false
race: false
ldflags: -s -w -buildid=
tags: nomsgpack sqlite mysql
trimpath: true
- name: Create ZIP archive
run: |
cp -v ./config_example.ini ./build || exit 1
pushd build || exit 1
ls -1 yggdrasil-* | while read LINE; do
PREFIX="${LINE%.*}"
SUFFIX="$(echo "$LINE" | grep -osE '\.\w+' || printf '')"
cp -v "$LINE" "yggdrasil$SUFFIX"
FILE="../$PREFIX.zip"
zip -9v "$FILE" "yggdrasil$SUFFIX" *.ini
DGST="$FILE.dgst"
openssl dgst -md5 "$FILE" | sed 's/([^)]*)//g' >>"$DGST"
openssl dgst -sha1 "$FILE" | sed 's/([^)]*)//g' >>"$DGST"
openssl dgst -sha256 "$FILE" | sed 's/([^)]*)//g' >>"$DGST"
openssl dgst -sha512 "$FILE" | sed 's/([^)]*)//g' >>"$DGST"
done
popd || exit 1
- name: Upload files to GitHub release
uses: softprops/action-gh-release@v1
if: startsWith(github.ref, 'refs/tags/')
with:
prerelease: true
body: For test only
name: ${{ github.ref_name }} Pre Release
files: yggdrasil*.zip*