chore(release): prepare 0.5.2 metadata and docs #214
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 debug | |
| concurrency: | |
| group: ${{ github.workflow }}-${{ github.ref }} | |
| cancel-in-progress: true | |
| on: | |
| push: | |
| branches: [main] | |
| pull_request: | |
| types: [opened, synchronize, reopened] | |
| jobs: | |
| build: | |
| name: Build on ${{ matrix.platform.host }} | |
| runs-on: ${{ matrix.platform.name }} | |
| env: | |
| QT_VERSION: "6.8.3" | |
| # Public Store values are repository Variables, not gh CLI credentials | |
| # or publisher secrets. Empty values intentionally produce a disabled | |
| # Store until the maintainer configures the production content source. | |
| NEUROLINGSCE_STORE_PROFILE: ${{ vars.NEUROLINGSCE_STORE_PROFILE || 'custom' }} | |
| NEUROLINGSCE_MASCOT_INDEX_URL: ${{ vars.NEUROLINGSCE_MASCOT_INDEX_URL || '' }} | |
| NEUROLINGSCE_SUBMISSION_SERVICE_URL: ${{ vars.NEUROLINGSCE_SUBMISSION_SERVICE_URL || '' }} | |
| NEUROLINGSCE_GITHUB_LOGIN_CLIENT_ID: ${{ vars.NEUROLINGSCE_GITHUB_LOGIN_CLIENT_ID || '' }} | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| platform: | |
| - name: ubuntu-22.04 | |
| host: linux | |
| qt_arch: linux_gcc_64 | |
| qt_install_name: gcc_64 | |
| artifact_suffix: x86_64 | |
| artifact_path: build/bin/ | |
| - name: windows-latest | |
| host: windows | |
| qt_tools: tools_mingw1310 | |
| qt_arch: win64_mingw | |
| qt_install_name: mingw_64 | |
| artifact_suffix: x86_64 | |
| artifact_path: build/bin/ | |
| - name: macos-14 | |
| host: mac | |
| qt_arch: clang_64 | |
| qt_install_name: macos | |
| qt_modules: "qtmultimedia qtimageformats" | |
| build_args: --target macapp | |
| artifact_suffix: arm64 | |
| artifact_path: build/macos/ | |
| steps: | |
| - uses: actions/checkout@v4 | |
| with: | |
| submodules: "recursive" | |
| - name: Install build dependencies | |
| if: matrix.platform.host == 'linux' | |
| run: | | |
| sudo apt-get update | |
| sudo apt-get install -y libxcb-cursor0 libarchive-dev libwayland-dev wayland-protocols ccache zip | |
| - name: Install macOS build dependencies | |
| if: matrix.platform.host == 'mac' | |
| run: | | |
| brew install ninja | |
| - name: Setup Python for aqt | |
| uses: actions/setup-python@v5 | |
| with: | |
| python-version: "3.13" | |
| - name: Remove WindowsApps Python shim from PATH | |
| if: matrix.platform.host == 'windows' | |
| shell: pwsh | |
| run: | | |
| $paths = $env:PATH -split ';' | Where-Object { $_ -and ($_ -notlike '*\Microsoft\WindowsApps*') } | |
| "PATH=$($paths -join ';')" | Out-File -FilePath $env:GITHUB_ENV -Encoding utf8 -Append | |
| - name: Install Qt6 | |
| uses: jdpurcell/install-qt-action@v5 | |
| with: | |
| version: ${{ env.QT_VERSION }} | |
| host: ${{ matrix.platform.host }} | |
| target: "desktop" | |
| arch: ${{ matrix.platform.qt_arch }} | |
| modules: ${{ matrix.platform.qt_modules || 'qtmultimedia' }} | |
| tools: ${{ matrix.platform.qt_tools || '' }} | |
| cache: false | |
| - name: Setup ccache | |
| uses: hendrikmuhs/ccache-action@v1.2 | |
| with: | |
| key: ${{ matrix.platform.host }}-qt6-debug | |
| max-size: 500M | |
| - name: Configure with CMake | |
| shell: bash | |
| run: | | |
| cmake -S . -B build -G Ninja \ | |
| -D CMAKE_BUILD_TYPE=Debug \ | |
| -D CMAKE_PREFIX_PATH="${{ runner.workspace }}/Qt/${{ env.QT_VERSION }}/${{ matrix.platform.qt_install_name }}" \ | |
| -D NEUROLINGSCE_STORE_PROFILE="$NEUROLINGSCE_STORE_PROFILE" \ | |
| -D NEUROLINGSCE_MASCOT_INDEX_URL="$NEUROLINGSCE_MASCOT_INDEX_URL" \ | |
| -D NEUROLINGSCE_SUBMISSION_SERVICE_URL="$NEUROLINGSCE_SUBMISSION_SERVICE_URL" \ | |
| -D NEUROLINGSCE_GITHUB_LOGIN_CLIENT_ID="$NEUROLINGSCE_GITHUB_LOGIN_CLIENT_ID" \ | |
| -D CMAKE_C_COMPILER_LAUNCHER=ccache \ | |
| -D CMAKE_CXX_COMPILER_LAUNCHER=ccache | |
| - name: Build with CMake | |
| shell: bash | |
| run: | | |
| cmake --build build --parallel --config Debug ${{ matrix.platform.build_args || '' }} | |
| - name: Package macOS .app | |
| if: matrix.platform.host == 'mac' | |
| shell: bash | |
| run: | | |
| cd build/macos | |
| /usr/bin/ditto -c -k --keepParent --sequesterRsrc \ | |
| NeurolingsCE.app NeurolingsCE-debug-${{ matrix.platform.artifact_suffix }}.zip | |
| - name: Archive ${{ matrix.platform.host }} ${{ matrix.platform.artifact_suffix }} debug build | |
| if: matrix.platform.host != 'mac' | |
| uses: actions/upload-artifact@v4 | |
| with: | |
| name: debug-${{ matrix.platform.host }}-${{ matrix.platform.artifact_suffix }} | |
| path: ${{ matrix.platform.artifact_path }} | |
| retention-days: 1 | |
| - name: Archive ${{ matrix.platform.host }} ${{ matrix.platform.artifact_suffix }} debug build | |
| if: matrix.platform.host == 'mac' | |
| uses: actions/upload-artifact@v4 | |
| with: | |
| name: debug-${{ matrix.platform.host }}-${{ matrix.platform.artifact_suffix }} | |
| path: build/macos/NeurolingsCE-debug-${{ matrix.platform.artifact_suffix }}.zip | |
| retention-days: 1 |