Refactor GitHub Actions workflows #16
Workflow file for this run
This file contains hidden or 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: | |
| branches: | |
| - '**' # Runs on push to any branch | |
| tags: | |
| - '*' # Runs on any tag push | |
| pull_request: | |
| branches: | |
| - main # Runs on pull requests targeting the main branch | |
| jobs: | |
| build-windows: | |
| if: github.event_name == 'push' || (github.event_name == 'pull_request' && github.base_ref == 'main') | |
| runs-on: windows-latest | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - name: setup | |
| run: | | |
| cd ../.. | |
| git clone https://github.com/open-ephys/plugin-GUI.git --branch main --single-branch | |
| cd plugin-GUI/Build | |
| cmake -G "Visual Studio 17 2022" -A x64 .. | |
| mkdir Release && cd Release | |
| curl -L https://openephys.jfrog.io/artifactory/GUI-binaries/Libraries/open-ephys-lib-v1.0.0.zip --output open-ephys-lib.zip | |
| unzip open-ephys-lib.zip | |
| shell: bash | |
| - name: configure | |
| run: | | |
| cd Build | |
| cmake -G "Visual Studio 17 2022" -A x64 .. | |
| shell: bash | |
| - name: Add msbuild to PATH | |
| uses: microsoft/setup-msbuild@v2 | |
| - name: build-plugin | |
| run: | | |
| cd Build | |
| msbuild INSTALL.vcxproj -p:Configuration=Release -p:Platform=x64 | |
| shell: cmd | |
| - name: deploy | |
| if: github.ref == 'refs/heads/main' | |
| env: | |
| ARTIFACTORY_ACCESS_TOKEN: ${{ secrets.ARTIFACTORY_ACCESS_TOKEN }} | |
| build_dir: "Build/Release" | |
| package: LabStreamingLayerIO-windows | |
| run: | | |
| plugin_api=$(grep -rnw ../../plugin-GUI/Source -e '#define PLUGIN_API_VER' | grep -Eo "[0-9]*" | tail -1) | |
| tag=$(grep -w Source/OpenEphysLib.cpp -e 'info->libVersion' | grep -Eo "[0-9]+.[0-9]+.[0-9]+") | |
| new_plugin_ver=$tag-API$plugin_api | |
| mkdir plugins | |
| cp $build_dir/*.dll plugins | |
| mkdir shared | |
| cp -r libs/windows/bin/* shared | |
| zipfile=${package}_${new_plugin_ver}.zip | |
| powershell Compress-Archive -Path "plugins" -DestinationPath ${zipfile} | |
| powershell Compress-Archive -U -Path "shared" -DestinationPath ${zipfile} | |
| curl -H "X-JFrog-Art-Api:$ARTIFACTORY_ACCESS_TOKEN" -T $zipfile "https://openephys.jfrog.io/artifactory/LabStreamingLayerIO-plugin/windows/$zipfile" | |
| shell: bash |