1313 matrix :
1414 include :
1515 - os : windows-latest
16- artifact-name : rayx-win64.zip
1716 build-type : Release
1817 - os : ubuntu-latest
19- artifact-name : rayx-Linux.deb
2018 build-type : Release
2119
2220 steps :
7270 if : matrix.os == 'windows-latest'
7371 run : cmake -B ${{github.workspace}}/build -DWERROR=YES -DCMAKE_BUILD_TYPE=${{ matrix.build-type }} -DRAYX_REQUIRE_CUDA=ON
7472
73+ # Linux-specific build steps
7574 - name : Install dependencies (Ubuntu)
7675 if : matrix.os == 'ubuntu-latest'
7776 run : |
@@ -89,45 +88,69 @@ jobs:
8988 if : matrix.os == 'ubuntu-latest'
9089 run : cmake -B ${{github.workspace}}/build -DWERROR=YES -DCMAKE_BUILD_TYPE=${{ matrix.build-type }} -DRAYX_REQUIRE_CUDA=ON
9190
91+ # Build the project
9292 - name : Build
9393 run : cmake --build ${{github.workspace}}/build --config ${{ matrix.build-type }}
9494
9595 - name : Test
9696 working-directory : ${{github.workspace}}/build/bin/release
9797 run : ./rayx-core-tst -x
9898
99- - name : CPack (Windows)
99+ # Generate Windows artifacts (ZIP and NSIS installer)
100+ - name : CPack (Windows - ZIP)
100101 if : matrix.os == 'windows-latest'
101102 working-directory : ${{github.workspace}}/build
102103 run : cpack -G ZIP
103104
104- - name : CPack (Ubuntu)
105+ - name : CPack (Windows - NSIS Installer)
106+ if : matrix.os == 'windows-latest'
107+ working-directory : ${{github.workspace}}/build
108+ run : cpack -G NSIS
109+
110+ # Generate Linux artifacts (DEB, RPM, TAR)
111+ - name : CPack (Ubuntu - DEB)
105112 if : matrix.os == 'ubuntu-latest'
106113 working-directory : ${{github.workspace}}/build
107114 run : cpack -G DEB
108115
109- - name : Upload build artifact (Windows)
116+ - name : CPack (Ubuntu - RPM)
117+ if : matrix.os == 'ubuntu-latest'
118+ working-directory : ${{github.workspace}}/build
119+ run : cpack -G RPM
120+
121+ - name : CPack (Ubuntu - TAR)
122+ if : matrix.os == 'ubuntu-latest'
123+ working-directory : ${{github.workspace}}/build
124+ run : cpack -G TGZ
125+
126+ # Upload artifacts (Windows)
127+ - name : Upload build artifacts (Windows)
110128 if : matrix.os == 'windows-latest'
111129 uses : actions/upload-artifact@v4
112130 with :
113- name : ${{ matrix.artifact-name }}
114- path : ${{github.workspace}}/build/RAYX-*-win64.zip
131+ name : windows-artifacts
132+ path : |
133+ ${{github.workspace}}/build/RAYX-*.zip
134+ ${{github.workspace}}/build/RAYX-*.exe
115135 if-no-files-found : error
116-
117- - name : Upload build artifact (Ubuntu)
136+
137+ # Upload artifacts (Ubuntu)
138+ - name : Upload build artifacts (Ubuntu)
118139 if : matrix.os == 'ubuntu-latest'
119140 uses : actions/upload-artifact@v4
120141 with :
121- name : ${{ matrix.artifact-name }}
122- path : ${{github.workspace}}/build/RAYX-*-Linux.deb
142+ name : ubuntu-artifacts
143+ path : |
144+ ${{github.workspace}}/build/RAYX-*.deb
145+ ${{github.workspace}}/build/RAYX-*.rpm
146+ ${{github.workspace}}/build/RAYX-*.tar.gz
123147 if-no-files-found : error
124148
125149 release :
126150 name : Create Release
127151 needs : build-and-release
128152 runs-on : ubuntu-latest
129153 steps :
130- # Checkout CHANGELOG.md
131154 - name : Checkout code
132155 uses : actions/checkout@v4
133156 with :
@@ -148,9 +171,10 @@ jobs:
148171 with :
149172 body_path : ${{github.workspace}}/CHANGELOG.md
150173 files : |
151- ${{github.workspace}}/artifacts/rayx-win64.zip/*.zip
152- ${{github.workspace}}/artifacts/rayx-Linux.deb/*.deb
174+ ${{github.workspace}}/artifacts/windows-artifacts/*.zip
175+ ${{github.workspace}}/artifacts/windows-artifacts/*.exe
176+ ${{github.workspace}}/artifacts/ubuntu-artifacts/*.deb
177+ ${{github.workspace}}/artifacts/ubuntu-artifacts/*.rpm
178+ ${{github.workspace}}/artifacts/ubuntu-artifacts/*.tar.gz
153179 env :
154180 GITHUB_TOKEN : ${{ secrets.GITHUB_TOKEN }}
155-
156-
0 commit comments