Build PyPI packages on ubuntu-22.04 #5986
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: CI Windows | |
| on: | |
| push: | |
| branches: | |
| - "**" | |
| paths-ignore: | |
| - "**/website/**" | |
| pull_request: | |
| branches: | |
| - "**" | |
| paths-ignore: | |
| - "**/website/**" | |
| workflow_dispatch: | |
| concurrency: | |
| group: ${{ github.workflow }}-${{ github.ref }} | |
| cancel-in-progress: true | |
| jobs: | |
| momentum: | |
| # Disabled: Too slow for CI (use sccache on local development) | |
| if: false | |
| name: cpp-${{ matrix.mode == '' && 'opt' || 'dev' }}-win | |
| runs-on: windows-latest | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| mode: [""] # TODO: Add -dev model | |
| env: | |
| # Enable sccache for C++ compilation caching | |
| CMAKE_C_COMPILER_LAUNCHER: sccache | |
| CMAKE_CXX_COMPILER_LAUNCHER: sccache | |
| SCCACHE_GHA_ENABLED: "true" | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@v5 | |
| - name: Set up sccache | |
| uses: mozilla-actions/[email protected] | |
| - name: Set up pixi | |
| uses: prefix-dev/[email protected] | |
| with: | |
| cache: true | |
| cache-write: ${{ github.event_name == 'push' && github.ref == 'refs/heads/main' }} | |
| - name: Build and test Momentum | |
| run: | | |
| pixi run test${{ matrix.mode }} | |
| - name: Install Momentum and Build hello_world | |
| run: | | |
| pixi run install | |
| pixi run cmake ` | |
| -S momentum/examples/hello_world ` | |
| -B momentum/examples/hello_world/build | |
| pixi run cmake ` | |
| --build momentum/examples/hello_world/build ` | |
| --config Release ` | |
| --parallel | |
| - name: Print sccache stats | |
| run: sccache --show-stats | |
| pymomentum: | |
| # Enabled: CPU-only for cost optimization (GPU disabled) | |
| name: py-${{ matrix.pixi_env }}-win | |
| runs-on: windows-latest | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| include: | |
| - pixi_env: "py312" | |
| # GPU disabled to reduce CI cost | |
| # - pixi_env: "py312-cuda129" | |
| # cuda_version: "12.9.0" | |
| env: | |
| FULL_CUDA_VERSION: ${{ matrix.cuda_version }} | |
| # Enable sccache for C++ compilation caching | |
| CMAKE_C_COMPILER_LAUNCHER: sccache | |
| CMAKE_CXX_COMPILER_LAUNCHER: sccache | |
| SCCACHE_GHA_ENABLED: "true" | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@v5 | |
| - name: Set up sccache | |
| uses: mozilla-actions/[email protected] | |
| - name: Setup CUDA | |
| if: ${{ contains(matrix.pixi_env, 'cuda') || contains(matrix.pixi_env, 'gpu') }} | |
| uses: ./.github/actions/setup-cuda | |
| with: | |
| cuda-version: ${{ matrix.cuda_version }} | |
| - name: Set up pixi | |
| uses: prefix-dev/[email protected] | |
| with: | |
| cache: true | |
| cache-write: ${{ github.event_name == 'push' && github.ref == 'refs/heads/main' }} | |
| - name: Build and test PyMomentum | |
| run: | | |
| pixi run -e ${{ matrix.pixi_env }} test_py | |
| - name: Print sccache stats | |
| run: sccache --show-stats |