diff options
| author | Tim Keller <tjk@tjkeller.xyz> | 2025-06-25 18:03:16 -0500 |
|---|---|---|
| committer | Tim Keller <tjk@tjkeller.xyz> | 2025-06-25 18:03:16 -0500 |
| commit | 1c22e00c64c866307e6d1e4b07f9787e25086686 (patch) | |
| tree | 6a3ba535847e452a523c3fbb0a7a8bb113f6297c /.github/workflows/pyinstaller-release.yaml | |
| parent | b4c2bf500d1939d93f1c2146798842d5f98902de (diff) | |
| download | immich-frame-0.1.0.tar.xz immich-frame-0.1.0.zip | |
add github action for releasesv0.1.0
Diffstat (limited to '.github/workflows/pyinstaller-release.yaml')
| -rw-r--r-- | .github/workflows/pyinstaller-release.yaml | 76 |
1 files changed, 76 insertions, 0 deletions
diff --git a/.github/workflows/pyinstaller-release.yaml b/.github/workflows/pyinstaller-release.yaml new file mode 100644 index 0000000..44e2716 --- /dev/null +++ b/.github/workflows/pyinstaller-release.yaml @@ -0,0 +1,76 @@ +name: Build Release + +on: + release: + types: [created] + +jobs: + build: + runs-on: ubuntu-latest + strategy: + matrix: + arch: [x64, arm64] + steps: + - name: Checkout + uses: actions/checkout@v4 + + - name: Set up Node.js + uses: actions/setup-node@v4 + with: + node-version: '20' + + - name: Install Webpack dependencies + working-directory: ./static + run: npm install + + - name: Run Webpack + working-directory: ./static + run: npx webpack + + - name: Set up QEMU for cross-architecture + if: matrix.arch == 'arm64' + uses: docker/setup-qemu-action@v3 + with: + platforms: arm64 + +# - name: Run pyinstaller +# uses: sayyid5416/pyinstaller@v1 +# with: +# python_arch: ${{ matrix.arch }} +# spec: 'pix.spec' +# requirements: 'requirements.txt' +# #upload_exe_with_name: 'pix' +# options: --onefile + + - name: Set up Python + uses: actions/setup-python@v5 + with: + python-version: '3.10' + + - name: Install Python dependencies + run: | + python -m pip install --upgrade pip + pip install pyinstaller + pip install -r requirements.txt + + - name: Install system dependencies for arm64 + if: matrix.arch == 'arm64' + run: | + sudo apt-get update + sudo apt-get install -y zlib1g-dev libffi-dev libssl-dev + + - name: Run PyInstaller + env: + TARGET_ARCH: ${{ matrix.arch }} + run: | + if [ "${{ matrix.arch }}" = "arm64" ]; then + pyinstaller --onefile --target-arch aarch64 pix.py + else + pyinstaller --onefile pix.py + fi + + - name: Upload executable + uses: actions/upload-artifact@v4 + with: + name: pixpy-${{ matrix.arch }} + path: dist/pix |
