chore: Update build workflow to include macOS build and artifacts #4
Workflow file for this run
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: Release | |
on: | |
push: | |
tags: | |
- v* | |
env: | |
FORCE_COLOR: true | |
jobs: | |
build_windows: | |
runs-on: windows-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 (Test-Path requirements.txt) { | |
pip install -r requirements.txt | |
} | |
- name: Build Normal Executable (without console) | |
run: pyinstaller --onefile --clean -w StreamLabsTikTokStreamKeyGenerator.py | |
- name: Rename Normal Executable | |
run: Rename-Item -Path dist/StreamLabsTikTokStreamKeyGenerator.exe -NewName StreamLabsTikTokStreamKeyGeneratorRelease.exe | |
- name: Build Debug Executable (with console) | |
run: pyinstaller --onefile --clean StreamLabsTikTokStreamKeyGenerator.py | |
- name: Rename Debug Executable | |
run: Rename-Item -Path dist/StreamLabsTikTokStreamKeyGenerator.exe -NewName StreamLabsTikTokStreamKeyGeneratorDebug.exe | |
- name: Clean up obsolete files | |
run: Remove-Item -Path build, StreamLabsTikTokStreamKeyGenerator.spec -Recurse -Force | |
- name: Upload artifacts | |
uses: actions/upload-artifact@v3 | |
with: | |
name: windows | |
path: | | |
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: ubuntu-latest | |
needs: [build_windows, build_macos] | |
steps: | |
- name: Checkout code | |
uses: actions/checkout@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 | |
env: | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
with: | |
name: ${{ github.ref_name }} | |
prerelease: false | |
draft: false | |
files: | | |
./windows/StreamLabsTikTokStreamKeyGeneratorRelease.exe | |
./windows/StreamLabsTikTokStreamKeyGeneratorDebug.exe | |
./macos/StreamLabsTikTokStreamKeyGeneratorRelease.MacOS.zip | |
./macos/StreamLabsTikTokStreamKeyGeneratorDebug.MacOS.zip |