Update GHA workflows #31
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: Windows | |
on: | |
push: | |
jobs: | |
build-windows: | |
runs-on: ${{ matrix.os }} | |
strategy: | |
matrix: | |
os: [windows-2019] | |
steps: | |
- uses: actions/checkout@v4 | |
with: | |
fetch-depth: 0 | |
- name: setup | |
env: | |
repo: open-ephys-gui | |
package: "open-ephys-lib" | |
run: | | |
cd ../.. | |
git clone https://github.com/open-ephys/plugin-GUI.git --branch development-juce8 | |
cd plugin-GUI/Build | |
cmake -G "Visual Studio 16 2019" -A x64 .. | |
mkdir Release && cd Release | |
curl -L https://openephysgui.jfrog.io/artifactory/Libraries/open-ephys-lib-v0.7.0.zip --output open-ephys-lib.zip | |
unzip open-ephys-lib.zip | |
shell: bash | |
- name: config-hdf5lib | |
run: | | |
cd ../.. | |
mkdir OEPlugins && cd OEPlugins | |
git clone https://github.com/open-ephys-plugins/OpenEphysHDF5Lib.git --branch juce8 | |
cd OpenEphysHDF5Lib/Build | |
cmake -G "Visual Studio 16 2019" -A x64 .. | |
shell: bash | |
- name: Add msbuild to PATH | |
uses: microsoft/setup-msbuild@v2 | |
- name: build-hdf5lib | |
run: | | |
msbuild ../../OEPlugins/OpenEphysHDF5Lib/Build/INSTALL.vcxproj -p:Configuration=Release -p:Platform=x64 | |
shell: cmd | |
- name: configure | |
run: | | |
cd Build | |
cmake -G "Visual Studio 16 2019" -A x64 .. | |
shell: bash | |
- name: build | |
run: | | |
msbuild Build/INSTALL.vcxproj -p:Configuration=Release -p:Platform=x64 | |
shell: cmd | |
# TODO: Perform some basic testing before publishing... | |
# - name: test | |
# run: cd build && ctest | |
- name: deploy | |
if: github.ref == 'refs/heads/juce8' | |
env: | |
artifactoryApiKey: ${{ secrets.artifactoryApiKey }} | |
build_dir: "Build/Release" | |
package: NWBFormat-windows | |
run: | | |
plugin_api=$(grep -rnw ../../plugin-GUI/Source -e '#define PLUGIN_API_VER' | grep -Eo "[0-9]*" | tail -1) | |
tag=$(git describe --tags $(git rev-list --tags --max-count=1)) | |
new_plugin_ver=$tag-API$plugin_api | |
mkdir plugins | |
cp -v $build_dir/*.dll plugins | |
zipfile=${package}_${new_plugin_ver}.zip | |
powershell Compress-Archive -Path "plugins" -DestinationPath ${zipfile} | |
curl -H "X-JFrog-Art-Api:$artifactoryApiKey" -T $zipfile "https://openephys.jfrog.io/artifactory/NWBFormat-plugin/windows/$zipfile" | |
shell: bash |