Skip to content

expand building desktop apps, new macOS intel, add macOS arm, and windows 11 #1

@cudmore

Description

@cudmore

We need to update the release.yml github workflow to include the following:

  • build exe for windows
  • build both macOS intel and apple silicon with updated workflows.

For macOS, there are new developments:

The macOS-13 based runner images are being deprecated, consider switching to macOS-15 (macos-15-intel) or macOS 15 arm64 (macos-latest) instead. For more details see actions/runner-images#13046

Our current build for macOS x86 is:

  macos-intel-app:
    name: Build macOS Intel app and attach to release
    runs-on: macos-13   # Intel macOS runner
    needs: build-and-publish
    if: startsWith(github.ref, 'refs/tags/v')

    steps:
      - name: Checkout
        uses: actions/checkout@v4

      - name: Set up Python
        uses: actions/setup-python@v5
        with:
          python-version: "3.11"

      - name: Install kymflow (GUI + PyInstaller) and pack tooling
        run: |
          python -m pip install --upgrade pip
          # install your package with GUI + pyinstaller extras
          python -m pip install ".[gui,pyinstaller]"
          # install nicegui pack CLI (for `nicegui-pack`)
          python -m pip install "nicegui[pack]"

      - name: Clean previous build artifacts
        run: |
          rm -rf dist build

      - name: Build macOS app with nicegui-pack
        env:
          KYMFLOW_GUI_RELOAD: "0"
        run: |
          nicegui-pack \
            --windowed \
            --name "KymFlow" \
            --icon "pyinstaller/macos/kymflow.icns" \
            src/kymflow_gui/main.py

      - name: Archive KymFlow.app
        run: |
          mkdir -p release
          cd dist
          # Zip the .app bundle into a single download artifact
          zip -r "../release/KymFlow-macos-intel-${{ github.ref_name }}.zip" "KymFlow.app"
          cd ..

      - name: Upload macOS Intel app to GitHub Release
        uses: softprops/action-gh-release@v1
        with:
          files: release/KymFlow-macos-intel-${{ github.ref_name }}.zip
          generate_release_notes: true
        env:
          GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions