diff --git a/.github/workflows/release-on-tag.yml b/.github/workflows/release-on-tag.yml index 3aba1a2..22ca1e6 100644 --- a/.github/workflows/release-on-tag.yml +++ b/.github/workflows/release-on-tag.yml @@ -40,6 +40,18 @@ jobs: echo "Python detected arch: $(python3 -m platform)" echo "Expected runner architecture: ${{ matrix.architecture }}" + # Setup QEMU and Docker Buildx only for Ubuntu runners targeting arm/arm64 architectures + - name: Set up QEMU for cross-compilation + if: matrix.os == 'ubuntu-latest' && (matrix.architecture == 'arm64' || matrix.architecture == 'armv7') + uses: docker/setup-qemu-action@v3 + with: + platforms: all + + - name: Set up Docker Buildx + if: matrix.os == 'ubuntu-latest' && (matrix.architecture == 'arm64' || matrix.architecture == 'armv7') + uses: docker/setup-buildx-action@v3 + + # Step: Install dependencies - name: Install dependencies shell: bash # Use bash shell for consistency run: | @@ -47,6 +59,7 @@ jobs: pip install -r requirements.txt pip install pyinstaller # Install PyInstaller + # Step: Build with PyInstaller - name: Build with PyInstaller shell: bash run: | @@ -70,18 +83,21 @@ jobs: --contents-directory "." \ -y + # Archive build artifacts for Windows - name: Archive build artifacts for release (Windows) if: runner.os == 'Windows' shell: pwsh run: | Compress-Archive -Path "dist\Money4Band\*" -DestinationPath "Money4Band-${{ matrix.os }}-${{ matrix.architecture }}-${{ github.ref_name }}.zip" + # Archive build artifacts for Unix (Linux/macOS) - name: Archive build artifacts for release (Unix) if: runner.os != 'Windows' shell: bash run: | tar -czvf "Money4Band-${{ matrix.os }}-${{ matrix.architecture }}-${{ github.ref_name }}.tar.gz" dist/Money4Band + # Upload build artifacts - name: Upload build artifacts uses: actions/upload-artifact@v4 with: