Added Control By Frame Buttons #49
This file contains hidden or 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 SVE Installer | |
| on: | |
| push: | |
| branches: | |
| - main | |
| jobs: | |
| build-and-release: | |
| runs-on: windows-latest | |
| permissions: | |
| contents: write | |
| steps: | |
| - name: Checkout repository | |
| uses: actions/checkout@v4 | |
| - name: Set up Python | |
| uses: actions/setup-python@v5 | |
| with: | |
| python-version: '3.12' | |
| - name: Install Python dependencies | |
| run: | | |
| python -m pip install --upgrade pip | |
| pip install -r requirements.txt | |
| pip install pyinstaller | |
| - name: Compile the application with PyInstaller | |
| run: | | |
| pyinstaller --name SVESimpleVideoEditor --onefile --windowed --icon="icon.ico" --add-data="icon.ico;." --noconfirm SimpleVideoEditor.py | |
| - name: Set up Inno Setup | |
| uses: Minionguyjpro/Inno-Setup-Action@v1.2.2 | |
| with: | |
| path: installer.iss | |
| - name: Generate Release Tag and Name | |
| id: generate_release_info | |
| shell: pwsh | |
| run: | | |
| $TAG_NAME = "v$(Get-Date -Format 'yyyy.MM.dd')-$((git rev-parse --short HEAD).Substring(0,7))" | |
| $RELEASE_NAME = "SVE v$(Get-Date -Format 'yyyy.MM.dd')" | |
| echo "TAG_NAME=$TAG_NAME" >> $env:GITHUB_ENV | |
| echo "RELEASE_NAME=$RELEASE_NAME" >> $env:GITHUB_ENV | |
| - name: Delete all previous releases | |
| uses: actions/github-script@v7 | |
| with: | |
| github-token: ${{ secrets.GITHUB_TOKEN }} | |
| script: | | |
| const releases = await github.rest.repos.listReleases({ | |
| owner: context.repo.owner, | |
| repo: context.repo.repo, | |
| }); | |
| for (const release of releases.data) { | |
| console.log(`Deleting release ${release.name} (${release.tag_name})`); | |
| // Delete the release | |
| await github.rest.repos.deleteRelease({ | |
| owner: context.repo.owner, | |
| repo: context.repo.repo, | |
| release_id: release.id, | |
| }); | |
| // Delete the git tag associated with the release | |
| try { | |
| await github.rest.git.deleteRef({ | |
| owner: context.repo.owner, | |
| repo: context.repo.repo, | |
| ref: `tags/${release.tag_name}`, | |
| }); | |
| } catch (error) { | |
| console.log(`Tag ${release.tag_name} might have already been deleted or an error occurred: ${error.message}`); | |
| } | |
| } | |
| - name: Create Release and Upload Installer | |
| uses: softprops/action-gh-release@v2 | |
| with: | |
| files: InstallerOutput/*.exe | |
| tag_name: ${{ env.TAG_NAME }} | |
| name: ${{ env.RELEASE_NAME }} | |
| body: | | |
| **Simple Video Editor - New Installer Release** | |
| This is an automated build generated by GitHub Actions. | |
| - **Commit:** `${{ github.sha }}` | |
| - **Triggered by:** `${{ github.triggering_actor }}` | |
| env: | |
| GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} |