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*