name: Build on: push: branches: [main] pull_request: branches: [main] permissions: contents: write jobs: windows: runs-on: windows-latest steps: - uses: actions/checkout@v4 with: submodules: recursive - name: Install Qt6 uses: jurplel/install-qt-action@v4 with: version: '6.8.1' arch: 'win64_msvc2022_64' cache: true aqtversion: '==3.1.21' - uses: ilammy/msvc-dev-cmd@v1 with: arch: x64 - name: Configure run: cmake -B build -G Ninja -DCMAKE_BUILD_TYPE=Release - name: Build run: cmake --build build - name: Test run: ctest --test-dir build --output-on-failure --exclude-regex "test_editor|test_windbg_provider|test_com_security" - name: Upload artifact uses: actions/upload-artifact@v4 if: always() with: name: Reclass-Windows-x64 path: | build/Reclass.exe build/ReclassMcpBridge.exe build/Plugins/ build/*.dll build/platforms/ build/styles/ build/imageformats/ build/iconengines/ build/themes/ build/screenshot.png - name: Package release zip if: github.event_name == 'push' && github.ref == 'refs/heads/main' shell: bash run: | mkdir -p release cp build/Reclass.exe release/ cp build/ReclassMcpBridge.exe release/ cp build/*.dll release/ 2>/dev/null || true cp -r build/platforms release/ 2>/dev/null || true cp -r build/styles release/ 2>/dev/null || true cp -r build/imageformats release/ 2>/dev/null || true cp -r build/iconengines release/ 2>/dev/null || true cp -r build/Plugins release/ 2>/dev/null || true cp -r build/themes release/ 2>/dev/null || true cp build/screenshot.png release/ 2>/dev/null || true cd release && 7z a ../win64-reclass-latest.zip * - name: Update latest release if: github.event_name == 'push' && github.ref == 'refs/heads/main' uses: softprops/action-gh-release@v2 with: tag_name: latest name: Latest Build body: | Automated build from main branch. Commit: ${{ github.sha }} prerelease: true files: win64-reclass-latest.zip make_latest: false env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}