refactor: Migrate entire codebase from PyQt6 to PySide6 for Nuitka ma… #11
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: Build and Release | |
| on: | |
| push: | |
| tags: | |
| - 'v*' | |
| permissions: | |
| contents: write | |
| jobs: | |
| build: | |
| name: Build for ${{ matrix.os }} | |
| runs-on: ${{ matrix.os }} | |
| strategy: | |
| matrix: | |
| os: [ubuntu-latest, windows-latest, macos-latest] | |
| include: | |
| - os: ubuntu-latest | |
| artifact_name: RadarSim_Linux | |
| asset_name: RadarSim_v${{ github.ref_name }}_Linux.tar.gz | |
| - os: windows-latest | |
| artifact_name: RadarSim_Windows | |
| asset_name: RadarSim_v${{ github.ref_name }}_Windows.zip | |
| - os: macos-latest | |
| artifact_name: RadarSim_macOS | |
| asset_name: RadarSim_v${{ github.ref_name }}_macOS.zip | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - name: Set up Python | |
| uses: actions/setup-python@v5 | |
| with: | |
| python-version: '3.10' | |
| cache: 'pip' | |
| - name: Install dependencies | |
| run: | | |
| python -m pip install --upgrade pip | |
| pip install -r requirements.txt | |
| - name: Install System Dependencies (Linux) | |
| if: matrix.os == 'ubuntu-latest' | |
| run: | | |
| sudo apt-get update | |
| sudo apt-get install -y patchelf ccache libgl1 libegl1 libxrandr2 libxss1 libxcursor1 libxcomposite1 libasound2t64 libxi6 libxtst6 | |
| - uses: Nuitka/Nuitka-Action@main | |
| with: | |
| nuitka-version: main | |
| script-name: run_gui.py | |
| mode: onefile | |
| enable-plugins: pyside6 | |
| output-file: RadarSim | |
| - name: Package Windows | |
| if: matrix.os == 'windows-latest' | |
| run: | | |
| powershell Compress-Archive -Path build/RadarSim.exe -DestinationPath ${{ matrix.asset_name }} | |
| - name: Package Linux | |
| if: matrix.os == 'ubuntu-latest' | |
| run: | | |
| tar -czvf ${{ matrix.asset_name }} -C build/ RadarSim.bin | |
| - name: Package macOS | |
| if: matrix.os == 'macos-latest' | |
| run: | | |
| zip -r ${{ matrix.asset_name }} build/RadarSim.bin | |
| - name: Upload Artifact | |
| uses: actions/upload-artifact@v4 | |
| with: | |
| name: ${{ matrix.artifact_name }} | |
| path: ${{ matrix.asset_name }} | |
| release: | |
| name: Create Release | |
| needs: build | |
| runs-on: ubuntu-latest | |
| steps: | |
| - name: Download Artifacts | |
| uses: actions/download-artifact@v4 | |
| with: | |
| merge-multiple: true | |
| - name: Create GitHub Release | |
| uses: softprops/action-gh-release@v2 | |
| with: | |
| files: | | |
| RadarSim_v*_Linux.tar.gz | |
| RadarSim_v*_Windows.zip | |
| RadarSim_v*_macOS.zip | |
| name: RadarSim ${{ github.ref_name }} | |
| draft: false | |
| prerelease: false | |
| body: | | |
| ## 🚀 RadarSim ${{ github.ref_name }} Official Release | |
| Automated cross-platform build for Windows, Linux, and macOS. | |
| ### 📦 Installation: | |
| 1. Download the archive for your operating system. | |
| 2. Extract the contents. | |
| 3. Run the `RadarSim` executable. | |
| --- | |
| *Scientifically accurate radar simulation engine.* | |
| env: | |
| GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} |