Skip to content

fix: still fixing same issues with workflow #7

fix: still fixing same issues with workflow

fix: still fixing same issues with workflow #7

name: Release Builder
on:
push:
branches:
- main
pull_request:
branches:
- main
release:
types: [published]
jobs:
# Windows Build
windows-build:
runs-on: windows-latest
outputs:
artifact_path: artifacts/windows/
steps:
- name: Checkout Repository
uses: actions/checkout@v3
- name: Set up Python
uses: actions/setup-python@v4
with:
python-version: '3.10'
- name: Install Dependencies
run: |
python -m pip install --upgrade pip
pip install -r requirements.txt
pip install pyinstaller
- name: Run Windows Build Script
run: scripts\workflows\build_windows.bat
shell: cmd
- name: Upload Artifacts
uses: actions/upload-artifact@v3
with:
name: windows-build
path: artifacts/windows/
# Linux Build
linux-build:
runs-on: ubuntu-latest
outputs:
artifact_path: artifacts/linux/
steps:
- name: Checkout Repository
uses: actions/checkout@v3
- name: Install Dependencies
run: |
sudo apt-get update
sudo apt-get install -y patchelf fuse libfuse2
python -m pip install --upgrade pip
pip install -r requirements.txt
pip install pyinstaller
- name: Make Build Script Executable
run: chmod +x scripts/workflows/build_linux.sh
- name: Run Linux Build Script
run: scripts/workflows/build_linux.sh
shell: bash
- name: Upload Artifacts
uses: actions/upload-artifact@v3
with:
name: linux-build
path: artifacts/linux/
# macOS Build
macos-build:
runs-on: macos-latest
outputs:
artifact_path: artifacts/macos/
steps:
- name: Checkout Repository
uses: actions/checkout@v3
- name: Install Dependencies
run: |
brew install pyinstaller
python -m pip install --upgrade pip
pip install -r requirements.txt
pip install pyinstaller
- name: Make Build Script Executable
run: chmod +x scripts/workflows/build_mac.sh
- name: Run macOS Build Script
run: scripts/workflows/build_mac.sh
shell: bash
- name: Upload Artifacts
uses: actions/upload-artifact@v3
with:
name: macos-build
path: artifacts/macos/
# Collect Artifacts
collect-artifacts:
name: Collect Artifacts
needs: [windows-build, linux-build, macos-build]
runs-on: ubuntu-latest
steps:
- name: Checkout Repository
uses: actions/checkout@v3
- name: Download Windows Artifacts
uses: actions/download-artifact@v3
with:
name: windows-build
path: artifacts/windows/
- name: Download Linux Artifacts
uses: actions/download-artifact@v3
with:
name: linux-build
path: artifacts/linux/
- name: Download macOS Artifacts
uses: actions/download-artifact@v3
with:
name: macos-build
path: artifacts/macos/
- name: Upload Combined Artifacts
uses: actions/upload-artifact@v3
with:
name: OnTheSpot-Builds
path: artifacts/
- name: Create Release
if: github.event_name == 'release'
uses: actions/create-release@v1
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
tag_name: ${{ github.event.release.tag_name }}
release_name: ${{ github.event.release.name }}
draft: false
prerelease: false
- name: Upload Windows Executable to Release
if: github.event_name == 'release'
uses: actions/upload-release-asset@v1
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
upload_url: ${{ github.event.release.upload_url }}
asset_path: artifacts/windows/onthespot_windows.exe
asset_name: onthespot_windows.exe
asset_content_type: application/octet-stream
- name: Upload Linux Tar.gz to Release
if: github.event_name == 'release'
uses: actions/upload-release-asset@v1
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
upload_url: ${{ github.event.release.upload_url }}
asset_path: artifacts/linux/onthespot_linux.tar.gz
asset_name: onthespot_linux.tar.gz
asset_content_type: application/gzip
- name: Upload Linux AppImage to Release
if: github.event_name == 'release'
uses: actions/upload-release-asset@v1
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
upload_url: ${{ github.event.release.upload_url }}
asset_path: artifacts/linux/OnTheSpot.AppImage
asset_name: OnTheSpot.AppImage
asset_content_type: application/octet-stream
- name: Upload macOS DMG to Release
if: github.event_name == 'release'
uses: actions/upload-release-asset@v1
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
upload_url: ${{ github.event.release.upload_url }}
asset_path: artifacts/macos/OnTheSpot.dmg
asset_name: OnTheSpot.dmg
asset_content_type: application/x-apple-diskimage