Release #21
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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: Build | |
run: | | |
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/Release/EIMTimeStretchers.dll | |
tag: ${{ github.ref }} | |
asset_name: libEIMTimeStretchers.dll | |
build-macos: | |
name: Build (MacOS) | |
runs-on: macos-latest | |
steps: | |
- name: Check out git repository | |
uses: actions/checkout@v4 | |
with: | |
submodules: recursive | |
- name: Build Intel binary | |
run: | | |
mkdir build | |
cd build | |
brew install ninja | |
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/libEIMTimeStretchers.dylib | |
tag: ${{ github.ref }} | |
asset_name: libEIMTimeStretchers-x86_64.dylib | |
- name: Build Apple Silicon binary | |
run: | | |
rm -rf build | |
mkdir build | |
cd build | |
cmake -G Ninja .. -DCMAKE_BUILD_TYPE=Release -DCMAKE_OSX_ARCHITECTURES=arm64 | |
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/libEIMTimeStretchers.dylib | |
tag: ${{ github.ref }} | |
asset_name: libEIMTimeStretchers.dylib | |
# Consider adding a Linux build here, I don't have a Linux machine to test on though | |
build-linux: | |
name: Build (Linux) | |
runs-on: ubuntu-latest | |
steps: | |
- name: Check out git repository | |
uses: actions/checkout@v4 | |
with: | |
submodules: recursive | |
- name: Set up Ninja | |
uses: seanmiddleditch/gha-setup-ninja@master | |
- name: Build | |
run: | | |
mkdir build | |
cd build | |
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/libEIMTimeStretchers.so | |
tag: ${{ github.ref }} | |
asset_name: libEIMTimeStretchers.so |