Update main.yml #11
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: Build epo.exe for multiple platforms | |
on: | |
push: | |
branches: | |
- main | |
pull_request: | |
branches: | |
- main | |
jobs: | |
build-windows: | |
runs-on: windows-latest | |
steps: | |
- name: Checkout repository | |
uses: actions/checkout@v2 | |
- name: Set up Python | |
uses: actions/setup-python@v2 | |
with: | |
python-version: '3.x' | |
- name: Install dependencies | |
run: | | |
python -m pip install --upgrade pip | |
pip install pyinstaller | |
pip install -r requirements.txt | |
- name: Build epo.exe on Windows | |
run: | | |
pyinstaller --onefile --name epo.exe epo.py | |
ls -al dist/ | |
- name: Check if epo.exe was created | |
run: | | |
if [ ! -f dist/epo.exe ]; then | |
echo "Warning: epo.exe was not created." | |
fi | |
- name: Upload epo.exe as artifact | |
uses: actions/upload-artifact@v4 | |
with: | |
name: epo-executable-windows | |
path: dist/epo.exe | |
build-linux: | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout repository | |
uses: actions/checkout@v2 | |
- name: Set up Python | |
uses: actions/setup-python@v2 | |
with: | |
python-version: '3.x' | |
- name: Install dependencies | |
run: | | |
python -m pip install --upgrade pip | |
pip install pyinstaller | |
pip install -r requirements.txt | |
- name: Build executable on Linux | |
run: | | |
pyinstaller --onefile --name epo-linux epo.py | |
ls -al dist/ | |
- name: Check if epo-linux was created | |
run: | | |
if [ ! -f dist/epo-linux ]; then | |
echo "Warning: epo-linux was not created." | |
fi | |
- name: Upload epo executable as artifact | |
uses: actions/upload-artifact@v4 | |
with: | |
name: epo-executable-linux | |
path: dist/epo-linux | |
build-macos: | |
runs-on: macos-latest | |
steps: | |
- name: Checkout repository | |
uses: actions/checkout@v2 | |
- name: Set up Python | |
uses: actions/setup-python@v2 | |
with: | |
python-version: '3.x' | |
- name: Install dependencies | |
run: | | |
python -m pip install --upgrade pip | |
pip install pyinstaller | |
pip install -r requirements.txt | |
- name: Build executable on macOS | |
run: | | |
pyinstaller --onefile --name epo-macos epo.py | |
ls -al dist/ | |
- name: Check if epo-macos was created | |
run: | | |
if [ ! -f dist/epo-macos ]; then | |
echo "Warning: epo-macos was not created." | |
fi | |
- name: Upload epo executable as artifact | |
uses: actions/upload-artifact@v4 | |
with: | |
name: epo-executable-macos | |
path: dist/epo-macos | |
commit-and-push: | |
needs: [build-windows, build-linux, build-macos] | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout repository | |
uses: actions/checkout@v2 | |
- name: Set up Git for commit | |
run: | | |
git config --global user.name "github-actions" | |
git config --global user.email "[email protected]" | |
- name: Add and commit all built executables | |
run: | | |
git add dist/* | |
git diff --cached --quiet || git commit -m "Add built executables for Windows, Linux, and macOS" # Tylko jeśli są zmiany | |
- name: Push built executables to repository | |
run: | | |
git push https://github.com/${{ github.repository }}.git HEAD:main | |
env: | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} |