Update version to 1.0.0 #37
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: Create Release | |
| on: | |
| push: | |
| tags: | |
| - 'v*' # Triggers on tag push matching v* | |
| jobs: | |
| build-and-release: | |
| name: Build and Release | |
| runs-on: ${{ matrix.os }} | |
| strategy: | |
| matrix: | |
| include: | |
| - os: windows-2025 | |
| build-type: Release | |
| - os: ubuntu-24.04 | |
| build-type: Release | |
| steps: | |
| - name: Checkout code | |
| uses: actions/checkout@v4 | |
| - name: Update all submodules | |
| run: | | |
| git submodule sync | |
| git submodule update --init --recursive | |
| # Prepare environment (Vulkan SDK, dependencies) based on OS | |
| - name: Prepare environment | |
| uses: humbletim/[email protected] | |
| with: | |
| vulkan-query-version: 1.4.304.1 | |
| vulkan-components: Vulkan-Headers, Vulkan-Loader, SPIRV-Tools, Glslang | |
| vulkan-use-cache: true | |
| - name: Install dependencies (Windows) | |
| if: matrix.os == 'windows-2025' | |
| run: | | |
| vcpkg install hdf5 --triplet x64-windows | |
| vcpkg integrate install | |
| echo "$env:VCPKG_INSTALLATION_ROOT\installed\x64-windows\bin" >> $GITHUB_PATH | |
| shell: powershell | |
| - name: Install NSIS (Windows) | |
| if: matrix.os == 'windows-2025' | |
| run: choco install nsis -y | |
| - name: Setup CUDA Toolkit | |
| if: matrix.os == 'windows-2025' | |
| id: cuda-toolkit | |
| shell: pwsh | |
| run: .\Scripts\setup-cuda.ps1 | |
| env: | |
| INPUT_CUDA_VERSION: 12.9.1 | |
| - name: Configure CMake (Windows) | |
| if: matrix.os == 'windows-2025' | |
| run: cmake -B ${{github.workspace}}/build -DRAYX_WERROR=ON -DCMAKE_BUILD_TYPE=${{ matrix.build-type }} -DRAYX_REQUIRE_CUDA=ON -DRAYX_REQUIRE_OPENMP=ON -DRAYX_REQUIRE_CUDA=ON -DCMAKE_INSTALL_PREFIX=${{github.workspace}}/install | |
| # Linux-specific build steps | |
| - name: Install dependencies (Ubuntu) | |
| if: matrix.os == 'ubuntu-24.04' | |
| run: | | |
| sudo apt update --yes | |
| sudo apt install --yes xorg-dev cmake libgtk-3-dev libdbus-1-dev libhdf5-dev | |
| - name: Install Cuda (Ubuntu) | |
| if: matrix.os == 'ubuntu-24.04' | |
| uses: Jimver/cuda-toolkit@master | |
| id: cuda-toolkit-ubuntu | |
| with: | |
| cuda: '12.4.1' | |
| - name: Configure CMake (Ubuntu) | |
| if: matrix.os == 'ubuntu-24.04' | |
| run: cmake -B ${{github.workspace}}/build -DRAYX_WERROR=ON -DCMAKE_BUILD_TYPE=${{ matrix.build-type }} -DRAYX_REQUIRE_CUDA=ON -DRAYX_REQUIRE_OPENMP=ON -DRAYX_REQUIRE_CUDA=ON -DCMAKE_INSTALL_PREFIX=${{github.workspace}}/install | |
| # Build the project | |
| - name: Build | |
| run: cmake --build ${{github.workspace}}/build --config ${{ matrix.build-type }} | |
| - name: Test | |
| working-directory: ${{github.workspace}}/build/bin/release | |
| run: ./rayx-core-tst -x | |
| # Generate Windows artifacts (ZIP and NSIS installer) | |
| - name: CPack (Windows - ZIP) | |
| if: matrix.os == 'windows-2025' | |
| working-directory: ${{github.workspace}}/build | |
| run: cpack -G ZIP | |
| - name: CPack (Windows - NSIS Installer) | |
| if: matrix.os == 'windows-2025' | |
| working-directory: ${{github.workspace}}/build | |
| run: cpack -G NSIS | |
| # Generate Linux artifacts (DEB, RPM, TAR) | |
| - name: CPack (Ubuntu - DEB) | |
| if: matrix.os == 'ubuntu-24.04' | |
| working-directory: ${{github.workspace}}/build | |
| run: cpack -G DEB | |
| - name: CPack (Ubuntu - RPM) | |
| if: matrix.os == 'ubuntu-24.04' | |
| working-directory: ${{github.workspace}}/build | |
| run: cpack -G RPM | |
| - name: CPack (Ubuntu - TAR) | |
| if: matrix.os == 'ubuntu-24.04' | |
| working-directory: ${{github.workspace}}/build | |
| run: cpack -G TGZ | |
| # Upload artifacts (Windows) | |
| - name: Upload build artifacts (Windows) | |
| if: matrix.os == 'windows-2025' | |
| uses: actions/upload-artifact@v4 | |
| with: | |
| name: windows-artifacts | |
| path: | | |
| ${{github.workspace}}/build/RAYX-*.zip | |
| ${{github.workspace}}/build/RAYX-*.exe | |
| if-no-files-found: error | |
| # Upload artifacts (Ubuntu) | |
| - name: Upload build artifacts (Ubuntu) | |
| if: matrix.os == 'ubuntu-24.04' | |
| uses: actions/upload-artifact@v4 | |
| with: | |
| name: ubuntu-artifacts | |
| path: | | |
| ${{github.workspace}}/build/RAYX-*.deb | |
| ${{github.workspace}}/build/RAYX-*.rpm | |
| ${{github.workspace}}/build/RAYX-*.tar.gz | |
| if-no-files-found: error | |
| - name: Extract version from tag | |
| id: get_version | |
| run: echo "version=${GITHUB_REF#refs/tags/v}" >> $GITHUB_ENV | |
| - name: Archive source code | |
| run: | | |
| git archive HEAD --format=zip --output=${{github.workspace}}/build/RAYX-source-v${{env.version}}.zip | |
| release: | |
| name: Create Release | |
| needs: build-and-release | |
| runs-on: ubuntu-24.04 | |
| steps: | |
| - name: Checkout code | |
| uses: actions/checkout@v4 | |
| with: | |
| sparse-checkout: CHANGELOG.md | |
| - name: Download Artifacts | |
| uses: actions/download-artifact@v4 | |
| with: | |
| path: ${{github.workspace}}/artifacts | |
| - name: Extract version from tag | |
| id: get_version | |
| run: echo "version=${GITHUB_REF#refs/tags/v}" >> $GITHUB_ENV | |
| - name: Create and Upload Release | |
| uses: softprops/action-gh-release@v1 | |
| if: startsWith(github.ref, 'refs/tags/') | |
| with: | |
| body_path: ${{github.workspace}}/CHANGELOG.md | |
| files: | | |
| ${{github.workspace}}/artifacts/windows-artifacts/*.zip | |
| ${{github.workspace}}/artifacts/windows-artifacts/*.exe | |
| ${{github.workspace}}/artifacts/ubuntu-artifacts/*.deb | |
| ${{github.workspace}}/artifacts/ubuntu-artifacts/*.rpm | |
| ${{github.workspace}}/artifacts/ubuntu-artifacts/*.tar.gz | |
| ${{github.workspace}}/artifacts/ubuntu-artifacts/RAYX-source-v${{env.version}}.zip | |
| env: | |
| GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} |