Skip to content

Build

Build #21

Workflow file for this run

name: Build
on:
push:
tags:
- 'v*.*.*'
workflow_dispatch:
jobs:
build:
runs-on: ubuntu-latest
steps:
- name: Checkout repository
uses: actions/checkout@v3
- name: Set up Python
uses: actions/setup-python@v4
with:
python-version: '3.9'
- name: Install dependencies
run: |
python -m pip install --upgrade pip
pip install -r requirements.txt
- name: Build Linux executable
run: |
pip install pyinstaller
VERSION=${{ github.ref_name }}
BASE_NAME="whiteboard"
OUTPUT_NAME="${BASE_NAME}-${VERSION}"
pyinstaller --onefile --name "${OUTPUT_NAME}" main.py
mkdir -p build/linux
mv dist/${OUTPUT_NAME} build/linux/
- name: Set up the correct branch
run: |
git fetch origin main
git checkout main || git checkout -b main
- name: List build directory contents
run: ls -R build/
- name: Commit built binaries
run: |
git config --local user.email "dghosh31428@gmail.com"
git config --local user.name "debghs"
git add .
if [ "$(git status --porcelain)" ]; then
git commit -m "Add compiled binaries for version ${{ github.ref_name }}"
git checkout -b build-${{ github.ref_name }}
git push origin main
else
echo "No changes to commit"
fi
env:
GITHUB_TOKEN: ${{ secrets.ACCESS_TOKEN }}