Update build_release.yml #27
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 and Release Project | |
on: | |
push: | |
branches: | |
- main | |
env: | |
VERSION: 1.20.4 | |
jobs: | |
build_and_release_windows: | |
runs-on: windows-2022 | |
if: github.event_name == 'push' && github.ref == 'refs/heads/main' && vars.START_BUILD == 'True' | |
steps: | |
- name: Checkout code | |
uses: actions/checkout@v4 | |
with: | |
fetch-depth: 0 | |
- name: Setup Python | |
uses: actions/setup-python@v5 | |
with: | |
python-version: 3.8 | |
- name: Install dependencies | |
run: | | |
git tag ${{ env.VERSION }} | |
git push origin ${{ env.VERSION }} | |
python -m pip install --upgrade pip | |
pip install -r requirements.txt | |
- name: Fetch Pillow files | |
run: | | |
Invoke-WebRequest -Uri "https://raw.githubusercontent.com/python-pillow/Pillow/10.2.0/src/libImaging/Imaging.h" -OutFile "Imaging.h" | |
Invoke-WebRequest -Uri "https://raw.githubusercontent.com/python-pillow/Pillow/10.2.0/src/libImaging/ImagingUtils.h" -OutFile "ImagingUtils.h" | |
Invoke-WebRequest -Uri "https://raw.githubusercontent.com/python-pillow/Pillow/10.2.0/src/libImaging/ImPlatform.h" -OutFile "ImPlatform.h" | |
- name: Build project for Windows | |
run: | | |
python setup.py build | |
pyinstaller overviewer.spec | |
- name: Create ZIP file for Windows | |
run: | | |
Compress-Archive -Path .\dist\overviewer -DestinationPath overviewer-${{ env.VERSION }}-windows.zip | |
- name: Create Release for Windows | |
id: create_release_windows | |
uses: actions/create-release@v1 | |
env: | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
with: | |
tag_name: ${{ env.VERSION }} | |
release_name: Release v${{ env.VERSION }} | |
body: | | |
Created using [The Minecraft Overviewer v1.20.4](https://github.com/GregoryAM-SP/The-Minecraft-Overviewer/releases/tag/v1.20.4) | |
draft: false | |
prerelease: false | |
- name: Upload Windows Release Asset | |
id: upload_windows_asset | |
uses: actions/upload-release-asset@v1 | |
env: | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
with: | |
upload_url: ${{ steps.create_release_windows.outputs.upload_url }} | |
asset_path: ./overviewer-${{ env.VERSION }}-windows.zip | |
asset_name: overviewer-${{ env.VERSION }}-windows.zip | |
asset_content_type: application/zip | |
outputs: | |
upload_url: ${{ steps.create_release_windows.outputs.upload_url }} | |
build_and_release_linux: | |
runs-on: ubuntu-22.04 | |
needs: build_and_release_windows | |
if: github.event_name == 'push' && github.ref == 'refs/heads/main' && vars.START_BUILD == 'True' | |
steps: | |
- name: Checkout code | |
uses: actions/checkout@v4 | |
with: | |
fetch-depth: 0 | |
- name: Setup Python | |
uses: actions/setup-python@v5 | |
with: | |
python-version: 3.8 | |
- name: Install dependencies | |
run: pip install -r requirements.txt | |
- name: Fetch Pillow files | |
run: | | |
curl -o Imaging.h https://raw.githubusercontent.com/python-pillow/Pillow/10.2.0/src/libImaging/Imaging.h | |
curl -o ImagingUtils.h https://raw.githubusercontent.com/python-pillow/Pillow/10.2.0/src/libImaging/ImagingUtils.h | |
curl -o ImPlatform.h https://raw.githubusercontent.com/python-pillow/Pillow/10.2.0/src/libImaging/ImPlatform.h | |
- name: Build project for Linux | |
run: | | |
python setup.py build | |
pyinstaller overviewer.spec | |
- name: Create tar.xz archive for Linux | |
run: | | |
cd dist | |
tar -cf overviewer-${{ env.VERSION }}-linux.tar overviewer | |
xz -z overviewer-${{ env.VERSION }}-linux.tar | |
mv overviewer-${{ env.VERSION }}-linux.tar.xz ../overviewer-${{ env.VERSION }}-linux.tar.xz | |
- name: Get upload URL | |
run: 'echo "Upload URL: ${{ needs.build_and_release_windows.outputs.upload_url }}"' | |
- name: Upload Linux Release Asset | |
id: upload_linux_asset | |
uses: actions/upload-release-asset@v1 | |
env: | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
with: | |
upload_url: ${{ needs.build_and_release_windows.outputs.upload_url }} | |
asset_path: ./overviewer-${{ env.VERSION }}-linux.tar.xz | |
asset_name: overviewer-${{ env.VERSION }}-linux.tar.xz | |
asset_content_type: application/x-xz | |