name: Package Application with Pyinstaller and Create Release on: push: tags: - 'v*' workflow_dispatch: inputs: release_version: description: 'Release version (e.g., v1.0.0)' required: true type: string jobs: build-and-release: runs-on: ubuntu-latest permissions: contents: write steps: - name: Checkout code 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 - name: Build with PyInstaller run: pyinstaller patcher.spec - name: Prepare artifact for release run: mv dist/patch dist/trials_patcher-linux - name: Create and Publish Release uses: ncipollo/release-action@v1 with: artifacts: "dist/trials_patcher-linux" token: ${{ secrets.GITHUB_TOKEN }} tag: ${{ github.event.inputs.release_version || github.ref }} releaseName: Release ${{ github.event.inputs.release_version || github.ref }}