name: Build Executables on: push: branches: [ main ] tags: - 'v*' pull_request: branches: [ main ] workflow_dispatch: permissions: contents: write packages: write jobs: build-windows: runs-on: windows-latest steps: - uses: actions/checkout@v4 - name: Set up Python uses: actions/setup-python@v5 with: python-version: '3.11' - name: Install dependencies run: | python -m pip install --upgrade pip pip install pyinstaller pip install -r requirements.txt - name: Build executable run: | pyinstaller icon_extractor.spec --clean - name: Upload artifact uses: actions/upload-artifact@v4 with: name: EU-Icon-Extractor-Windows path: dist/EU-Icon-Extractor.exe - name: Create Release if: github.event_name == 'push' && startsWith(github.ref, 'refs/tags/v') uses: softprops/action-gh-release@v1 with: files: dist/EU-Icon-Extractor.exe draft: false prerelease: false env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} build-linux: runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - name: Set up Python uses: actions/setup-python@v5 with: python-version: '3.11' - name: Install system dependencies run: | sudo apt-get update sudo apt-get install -y libgl1 libglib2.0-0 libxkbcommon-x11-0 libdbus-1-3 libxcb-cursor0 - name: Install Python dependencies run: | python -m pip install --upgrade pip pip install pyinstaller pip install -r requirements.txt - name: Build executable run: | pyinstaller icon_extractor.spec --clean - name: Upload artifact uses: actions/upload-artifact@v4 with: name: EU-Icon-Extractor-Linux path: dist/EU-Icon-Extractor - name: Create Release if: github.event_name == 'push' && startsWith(github.ref, 'refs/tags/v') uses: softprops/action-gh-release@v1 with: files: dist/EU-Icon-Extractor draft: false prerelease: false env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}