Skip to content

Cross platform release artifacts #35

Cross platform release artifacts

Cross platform release artifacts #35

name: Publish release version
on:
push:
tags: ["v*.*.*"]
jobs:
build:
name: Build and test
uses: ./.github/workflows/build-and-test-template.yml
with:
build-type: release
publish-release:
name: Publish release
needs: [build]
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v3
with:
submodules: 'true'
- name: Download hylo-lsp-artifacts-mac
uses: actions/download-artifact@v3
with:
name: hylo-lsp-artifacts-mac
path: hylo-lsp-mac-arm64
- name: Download hylo-lsp-artifacts-linux
uses: actions/download-artifact@v3
with:
name: hylo-lsp-artifacts-linux
path: hylo-lsp-linux-x64
- name: Download hylo-lsp-artifacts-windows
uses: actions/download-artifact@v3
with:
name: hylo-lsp-artifacts-windows
path: hylo-lsp-windows-x64
- name: Package Hylo release artifacts
run: |
set -eo pipefail
cp -Rp hylo/Library/Hylo hylo-stdlib
mkdir -p release-artifacts
tar -zcvf release-artifacts/hylo-stdlib.tar.gz hylo-stdlib
# Repackage with just the server binaries, for minimal size, and zip for easy unpacking in node.js
chmod +x hylo-lsp-mac-arm64/*
chmod +x hylo-lsp-linux-x64/*
chmod +x hylo-lsp-windows-x64/*
zip release-artifacts/hylo-lsp-server-mac.zip hylo-lsp-mac-arm64/hylo-lsp-server
zip release-artifacts/hylo-lsp-client-mac.zip hylo-lsp-mac-arm64/hylo-lsp-client
zip release-artifacts/hylo-lsp-server-linux.zip hylo-lsp-linux-x64/hylo-lsp-server
zip release-artifacts/hylo-lsp-client-linux.zip hylo-lsp-linux-x64/hylo-lsp-client
zip release-artifacts/hylo-lsp-server-windows.zip hylo-lsp-windows-x64/hylo-lsp-server.exe
zip release-artifacts/hylo-lsp-client-windows.zip hylo-lsp-windows-x64/hylo-lsp-client.exe
ls -l release-artifacts
- name: Release
uses: softprops/action-gh-release@v1
with:
files: |
LICENSE
release-artifacts/*