Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Request] Please make a GitHub Action to automate exe build for general use #1410

Open
RaSan147 opened this issue Mar 13, 2022 · 2 comments
Open

Comments

@RaSan147
Copy link

RaSan147 commented Mar 13, 2022

I learned about buildozer which provides us a GitHub Action workflow on their repo. It really helps us automate stuffs and do things without sitting on a multi OS PC.
I hope you understand my need. As a noob (no knowledge) about yaml or Action, I'm requesting you guys to make one.
Thank you

@wanghaisheng
Copy link
Contributor

@marcelotduarte di you know any existing ?

@marcelotduarte
Copy link
Owner

marcelotduarte commented Dec 12, 2023

I'm not thinking about creating a GitHub Action for now, as it would take time and the gain would be small, as it would automate one command line in most cases (and in the worst case scenario, seven lines). I must add the following template to the documentation:

name: Build app

on:
  release:
    types: [created]
  workflow_dispatch:

jobs:
  build_exe:
    strategy:
      fail-fast: false
      matrix:
        os: [macos-latest, ubuntu-latest, windows-latest]
    name: Build app on ${{ matrix.os }}
    runs-on: ${{ matrix.os }}
    defaults:
      run:
        shell: bash
    steps:

      - uses: actions/checkout@v4

      - uses: actions/setup-python@v5
        with:
          cache: 'pip'
          python-version: '3.11'

      - name: Install dependencies
        run: |
          python -m pip install --upgrade pip
          pip install --upgrade cx_Freeze
          # if you have a requirements file
          # pip install -r requirements.txt

      - name: Freeze app
        run: |
          if [[ ${{ matrix.os }} == macos-* ]]; then
            python setup.py bdist_mac
          elif [[ ${{ matrix.os }} == windows-* ]]; then
            python setup.py bdist_msi
          else
            # python setup.py bdist_appimage
            python setup.py build
          fi
          

      - name: Upload executable
        if: ${{ always() }}
        uses: actions/upload-artifact@v3
        with:
          name: app-${{ matrix.os }}
          path: build/**
          if-no-files-found: ignore

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants