diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml new file mode 100644 index 0000000..29439c6 --- /dev/null +++ b/.github/workflows/build.yml @@ -0,0 +1,129 @@ +name: Build Nugget + +on: + workflow_dispatch: + inputs: + release_version: + description: 'Which version is this release?' + required: true + +jobs: + build-macos-intel: + runs-on: macos-13 + steps: + - name: Checkout code + uses: actions/checkout@v3 + + - name: Set up Python + uses: actions/setup-python@v4 + with: + python-version: '3.11' + + - name: Install dependencies + run: | + python3 -m pip install --upgrade pip + pip install -r requirements.txt + + - name: Build MacOS (Intel) + run: python3 compile.py + + - name: Zip Nugget.app (Intel) + run: | + cd dist + zip -r "Nugget_macOS_intel.zip" Nugget.app + + - name: Upload ZIP (Intel) + uses: actions/upload-artifact@v4 + with: + name: Nugget_macOS_intel + path: dist/Nugget_macOS_intel.zip + + build-macos-arm: + runs-on: macos-latest + steps: + - name: Checkout code + uses: actions/checkout@v3 + + - name: Set up Python + uses: actions/setup-python@v4 + with: + python-version: '3.11' + + - name: Install dependencies + run: | + python3 -m pip install --upgrade pip + pip install -r requirements.txt + + - name: Build MacOS (ARM) + run: python3 compile.py + + - name: Zip Nugget.app (ARM) + run: | + cd dist + zip -r "Nugget_macOS_arm.zip" Nugget.app + + - name: Upload ZIP (ARM) + uses: actions/upload-artifact@v4 + with: + name: Nugget_macOS_arm + path: dist/Nugget_macOS_arm.zip + + build-windows: + runs-on: windows-latest + steps: + - name: Checkout code + uses: actions/checkout@v3 + + - name: Set up Python + uses: actions/setup-python@v4 + with: + python-version: '3.11' + + - name: Install dependencies + run: | + python -m pip install --upgrade pip + pip install -r requirements.txt + + - name: Build Windows + run: python compile.py + + - name: Zip Nugget + run: | + cd dist + Compress-Archive -Path Nugget -DestinationPath "Nugget_Windows.zip" + + - name: Upload ZIP (Windows) + uses: actions/upload-artifact@v4 + with: + name: Nugget_Windows + path: dist/Nugget_Windows.zip + + create-release: + runs-on: ubuntu-latest + needs: [build-macos-intel, build-macos-arm, build-windows] + steps: + - name: Download ZIP (Intel) + uses: actions/download-artifact@v4 + with: + name: Nugget_macOS_intel + + - name: Download ZIP (ARM) + uses: actions/download-artifact@v4 + with: + name: Nugget_macOS_arm + + - name: Download ZIP (Windows) + uses: actions/download-artifact@v4 + with: + name: Nugget_Windows + + - name: Create Release + uses: marvinpinto/action-automatic-releases@latest + with: + repo_token: "${{ secrets.GITHUB_TOKEN }}" + prerelease: false + automatic_release_tag: ${{ github.event.inputs.release_version }} + files: | + Nugget_macOS_intel.zip + Nugget_macOS_arm.zip + Nugget_Windows.zip diff --git a/requirements.txt b/requirements.txt index c90a8d3..79be7cc 100644 --- a/requirements.txt +++ b/requirements.txt @@ -1,2 +1,3 @@ pymobiledevice3 -pyside6 \ No newline at end of file +pyside6 +PyInstaller