Skip to content

Release

Release #51

Workflow file for this run

name: Release
on:
release:
types:
- published
env:
BUILD_TYPE: release
jobs:
build-windows:
name: Build (Windows)
runs-on: windows-latest
steps:
- name: Check out git repository
uses: actions/checkout@v4
with:
submodules: recursive
- name: Install Node.js
uses: actions/setup-node@v3
with:
node-version: 18
- name: Set version
run: node -e "const fs=require('fs');fs.writeFileSync('CMakeLists.txt',fs.readFileSync('CMakeLists.txt','utf-8').replace(/1\.0\.0/g,'${{ github.event.release.tag_name }}'.replace('refs/tags/','')))"
- name: Build x64
run: |
node patch
mkdir build
cd build
cmake -G "Visual Studio 17 2022" -A x64 .. -DCMAKE_BUILD_TYPE=Release
cmake --build . --config Release
- name: Upload binaries to release
uses: svenstaro/upload-release-action@v2
with:
repo_token: ${{ secrets.GITHUB_TOKEN }}
file: ${{ github.workspace }}/build/EIMHost_artefacts/Release/EIMHost.exe
tag: ${{ github.ref }}
asset_name: EIMHost-x64.exe
- name: Build x86
run: |
rm -r build
mkdir build
cd build
cmake -G "Visual Studio 17 2022" -A Win32 .. -DCMAKE_BUILD_TYPE=Release
cmake --build . --config Release
- name: Upload binaries to release
uses: svenstaro/upload-release-action@v2
with:
repo_token: ${{ secrets.GITHUB_TOKEN }}
file: ${{ github.workspace }}/build/EIMHost_artefacts/Release/EIMHost.exe
tag: ${{ github.ref }}
asset_name: EIMHost-x86.exe
build-macos:
name: Build (MacOS)
runs-on: macos-latest
steps:
- name: Check out git repository
uses: actions/checkout@v4
with:
submodules: recursive
- name: Install Node.js
uses: actions/setup-node@v3
with:
node-version: 18
- name: Set version
run: node -e "const fs=require('fs');fs.writeFileSync('CMakeLists.txt',fs.readFileSync('CMakeLists.txt','utf-8').replace(/1\.0\.0/g,'${{ github.event.release.tag_name }}'.replace('refs/tags/','')))"
- name: Build
run: |
node patch
mkdir build
cd build
brew install ninja
cmake -G Ninja .. -DCMAKE_BUILD_TYPE=Release
cmake --build . --config Release
cd EIMHost_artefacts/Release && zip -r -q EIMHost.zip EIMHost.app
- name: Upload binaries to release
uses: svenstaro/upload-release-action@v2
with:
repo_token: ${{ secrets.GITHUB_TOKEN }}
file: ${{ github.workspace }}/build/EIMHost_artefacts/Release/EIMHost.zip
tag: ${{ github.ref }}
asset_name: EIMHost-MacOS-x68.zip
- name: Build apple silicon version
run: |
rm -r build
mkdir build
cd build
cmake -G Ninja .. -DCMAKE_BUILD_TYPE=Release -DCMAKE_OSX_ARCHITECTURES=arm64
cmake --build . --config Release
cd EIMHost_artefacts/Release && zip -r -q EIMHost.zip EIMHost.app
- name: Upload binaries to release
uses: svenstaro/upload-release-action@v2
with:
repo_token: ${{ secrets.GITHUB_TOKEN }}
file: ${{ github.workspace }}/build/EIMHost_artefacts/Release/EIMHost.zip
tag: ${{ github.ref }}
asset_name: EIMHost-MacOS.zip
build-linux:
name: Build (Linux)
runs-on: ubuntu-latest
steps:
- name: Check out git repository
uses: actions/checkout@v4
with:
submodules: recursive
- name: Install Node.js
uses: actions/setup-node@v3
with:
node-version: 18
- name: Set version
run: node -e "const fs=require('fs');fs.writeFileSync('CMakeLists.txt',fs.readFileSync('CMakeLists.txt','utf-8').replace(/1\.0\.0/g,'${{ github.event.release.tag_name }}'.replace('refs/tags/','')))"
- name: Build
run: |
mkdir build
cd build
sudo apt-get install ninja-build libasound2-dev ladspa-sdk libfreetype6-dev libx11-dev libxcomposite-dev libxcursor-dev libxcursor-dev libxext-dev libxinerama-dev libxrandr-dev libxrender-dev
cmake -G Ninja .. -DCMAKE_BUILD_TYPE=Release
cmake --build . --config Release
- name: Upload binaries to release
uses: svenstaro/upload-release-action@v2
with:
repo_token: ${{ secrets.GITHUB_TOKEN }}
file: ${{ github.workspace }}/build/EIMHost_artefacts/Release/EIMHost
tag: ${{ github.ref }}
asset_name: EIMHost-Linux