summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTim Keller <tjk@tjkeller.xyz>2025-06-25 18:03:16 -0500
committerTim Keller <tjk@tjkeller.xyz>2025-06-25 18:03:16 -0500
commit1c22e00c64c866307e6d1e4b07f9787e25086686 (patch)
tree6a3ba535847e452a523c3fbb0a7a8bb113f6297c
parentb4c2bf500d1939d93f1c2146798842d5f98902de (diff)
downloadimmich-frame-1c22e00c64c866307e6d1e4b07f9787e25086686.tar.xz
immich-frame-1c22e00c64c866307e6d1e4b07f9787e25086686.zip
add github action for releasesv0.1.0
-rw-r--r--.github/workflows/pyinstaller-release.yaml76
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