From d473520f5ec1e25039fcaea5a4a0d1189f2cf8fd Mon Sep 17 00:00:00 2001 From: Loukious Date: Thu, 8 Aug 2024 14:34:39 +0100 Subject: [PATCH] chore: Update build workflow to include macOS build and artifacts --- .github/workflows/release.yml | 66 +++++++++++++++++++++++++++++++---- 1 file changed, 60 insertions(+), 6 deletions(-) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index c41b8e3..c792d81 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -7,7 +7,7 @@ env: FORCE_COLOR: true jobs: - build: + build_windows: runs-on: windows-latest steps: @@ -42,14 +42,66 @@ jobs: dist/StreamLabsTikTokStreamKeyGeneratorRelease.exe dist/StreamLabsTikTokStreamKeyGeneratorDebug.exe + build_macos: + runs-on: macos-latest + + steps: + - uses: actions/checkout@v3 + - name: Set up Python 3.12 + uses: actions/setup-python@v3 + with: + python-version: "3.12" + - name: Install dependencies + run: | + python -m pip install --upgrade pip + pip install pytest pyinstaller + if [ -f requirements.txt ]; then pip install -r requirements.txt; fi + - name: Build Normal Executable (without console) + run: pyinstaller --onefile --clean -w StreamLabsTikTokStreamKeyGenerator.py + - name: Create .app Bundle + run: | + mkdir -p dist/StreamLabsTikTokStreamKeyGenerator.app/Contents/MacOS + mv dist/StreamLabsTikTokStreamKeyGenerator dist/StreamLabsTikTokStreamKeyGenerator.app/Contents/MacOS/StreamLabsTikTokStreamKeyGenerator + - name: Zip Normal Executable + run: zip -r dist/StreamLabsTikTokStreamKeyGeneratorRelease.MacOS.zip dist/StreamLabsTikTokStreamKeyGenerator.app + - name: Build Debug Executable (with console) + run: pyinstaller --onefile --clean StreamLabsTikTokStreamKeyGenerator.py + - name: Create .app Bundle for Debug + run: | + mkdir -p dist/StreamLabsTikTokStreamKeyGenerator.app/Contents/MacOS + mv dist/StreamLabsTikTokStreamKeyGenerator dist/StreamLabsTikTokStreamKeyGenerator.app/Contents/MacOS/StreamLabsTikTokStreamKeyGenerator + - name: Zip Debug Executable + run: zip -r dist/StreamLabsTikTokStreamKeyGeneratorDebug.MacOS.zip dist/StreamLabsTikTokStreamKeyGenerator.app + - name: Clean up obsolete files + run: rm -rf build StreamLabsTikTokStreamKeyGenerator.spec + + - name: Upload artifacts + uses: actions/upload-artifact@v3 + with: + name: macos + path: | + dist/StreamLabsTikTokStreamKeyGeneratorRelease.MacOS.zip + dist/StreamLabsTikTokStreamKeyGeneratorDebug.MacOS.zip + release: - runs-on: windows-latest - needs: [build] + runs-on: ubuntu-latest + needs: [build_windows, build_macos] + steps: - name: Checkout code uses: actions/checkout@v3 - - uses: actions/download-artifact@v3 + - name: Download Windows artifacts + uses: actions/download-artifact@v3 + with: + name: windows + path: ./windows + + - name: Download MacOS artifacts + uses: actions/download-artifact@v3 + with: + name: macos + path: ./macos - name: Create the release uses: softprops/action-gh-release@1e07f4398721186383de40550babbdf2b84acfc5 # v1 @@ -60,5 +112,7 @@ jobs: prerelease: false draft: false files: | - windows/StreamLabsTikTokStreamKeyGeneratorRelease.exe - windows/StreamLabsTikTokStreamKeyGeneratorDebug.exe + ./windows/StreamLabsTikTokStreamKeyGeneratorRelease.exe + ./windows/StreamLabsTikTokStreamKeyGeneratorDebug.exe + ./macos/StreamLabsTikTokStreamKeyGeneratorRelease.MacOS.zip + ./macos/StreamLabsTikTokStreamKeyGeneratorDebug.MacOS.zip