1.0.2 #6
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: Release | |
| on: | |
| pull_request: | |
| workflow_dispatch: | |
| push: | |
| tags: | |
| - 'v*' | |
| jobs: | |
| build-windows: | |
| runs-on: windows-2022 | |
| steps: | |
| - name: Checkout Repository | |
| uses: actions/checkout@v4 | |
| with: | |
| submodules: recursive | |
| - name: Generate Build Files | |
| run: | | |
| cmake -G "Visual Studio 17 2022" -DCMAKE_BUILD_TYPE=Release -DBUILD_STANDALONE=OFF -S . -B ./build | |
| - name: Build Project | |
| run: | | |
| cmake --build ./build --config Release | |
| - name: List errors | |
| run: | | |
| if exist .\build\CMakeFiles\CMakeError.log type .\build\CMakeFiles\CMakeError.log | |
| shell: cmd | |
| - name: Upload | |
| uses: actions/upload-artifact@v4 | |
| with: | |
| name: reevr-win | |
| path: | | |
| ./build/REEVR_artefacts/Release/LV2 | |
| ./build/REEVR_artefacts/Release/VST3 | |
| !./build/REEVR_artefacts/Release/VST3/*.exp | |
| !./build/REEVR_artefacts/Release/VST3/*.lib | |
| !./build/REEVR_artefacts/Release/LV2/*.exp | |
| !./build/REEVR_artefacts/Release/LV2/*.lib | |
| build-macos: | |
| runs-on: macos-latest | |
| steps: | |
| - name: Checkout Repository | |
| uses: actions/checkout@v4 | |
| with: | |
| submodules: recursive | |
| - name: Install Dependencies | |
| run: brew install cmake ninja | |
| - name: Generate Build Files | |
| run: | | |
| cmake -G "Unix Makefiles" -DCMAKE_BUILD_TYPE=Release -DBUILD_STANDALONE=OFF -DCMAKE_OSX_ARCHITECTURES="x86_64;arm64" -S . -B ./build | |
| - name: Build Project | |
| run: | | |
| cmake --build ./build --config Release | |
| - name: Copy readme | |
| run: | | |
| cp ./doc/macos-readme.txt ./build/REEVR_artefacts/Release/readme.txt | |
| - name: List errors | |
| run: cat "./build/CMakeFiles/CMakeError.log" || true | |
| - name: Upload | |
| uses: actions/upload-artifact@v4 | |
| with: | |
| name: reevr-macos | |
| path: | | |
| ./build/REEVR_artefacts/Release/LV2 | |
| ./build/REEVR_artefacts/Release/AU | |
| ./build/REEVR_artefacts/Release/VST3 | |
| ./build/REEVR_artefacts/Release/readme.txt | |
| !./build/REEVR_artefacts/Release/VST3/*.exp | |
| !./build/REEVR_artefacts/Release/VST3/*.lib | |
| build-linux: | |
| runs-on: ubuntu-22.04 | |
| steps: | |
| - name: Checkout Repository | |
| uses: actions/checkout@v4 | |
| with: | |
| submodules: recursive | |
| - name: Install Dependencies | |
| run: | | |
| sudo apt update | |
| sudo apt-get install libx11-dev libfreetype-dev libfontconfig1-dev libasound2-dev libxrandr-dev libxinerama-dev libxcursor-dev | |
| - name: Generate Build Files | |
| run: | | |
| cmake -G "Unix Makefiles" -DCMAKE_BUILD_TYPE=Release -DBUILD_STANDALONE=OFF -S . -B ./build | |
| - name: Build Project | |
| run: | | |
| cmake --build ./build --config Release | |
| - name: List errors | |
| run: cat "./build/CMakeFiles/CMakeError.log" || true | |
| - name: Upload | |
| uses: actions/upload-artifact@v4 | |
| with: | |
| name: reevr-linux | |
| path: | | |
| ./build/REEVR_artefacts/Release/LV2 | |
| ./build/REEVR_artefacts/Release/VST3 | |
| !./build/REEVR_artefacts/Release/VST3/*.exp | |
| !./build/REEVR_artefacts/Release/VST3/*.lib | |
| release: | |
| runs-on: ubuntu-latest | |
| needs: [build-windows, build-macos, build-linux] | |
| if: github.event_name == 'push' && startsWith(github.ref, 'refs/tags/') | |
| steps: | |
| - name: Download Windows artifact | |
| uses: actions/download-artifact@v4 | |
| with: | |
| name: reevr-win | |
| path: artifacts/reevr-win | |
| - name: Download macOS artifact | |
| uses: actions/download-artifact@v4 | |
| with: | |
| name: reevr-macos | |
| path: artifacts/reevr-macos | |
| - name: Download Linux artifact | |
| uses: actions/download-artifact@v4 | |
| with: | |
| name: reevr-linux | |
| path: artifacts/reevr-linux | |
| - name: Append tag to artifacts | |
| run: | | |
| TAG_NAME=${GITHUB_REF#refs/tags/} # Extracts the tag name, e.g., v1.0.0 | |
| # Zip each platform's artifacts with the tag in the name | |
| cd artifacts | |
| zip -r reevr-win-${TAG_NAME}.zip reevr-win | |
| zip -r reevr-macos-${TAG_NAME}.zip reevr-macos | |
| zip -r reevr-linux-${TAG_NAME}.zip reevr-linux | |
| - name: Create GitHub Release | |
| uses: ncipollo/release-action@v1 | |
| with: | |
| artifacts: "artifacts/reevr-win-*.zip,artifacts/reevr-macos-*.zip,artifacts/reevr-linux-*.zip" | |
| tag: ${{ github.ref_name }} | |
| token: ${{ secrets.GITHUB_TOKEN }} | |
| draft: true |