Automatically update version when pushing a tag #91
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 Workflow for epson_print_conf.exe/zip | ||
on: | ||
push: | ||
tags: | ||
- "v*.*.*" | ||
jobs: | ||
build-windows: | ||
runs-on: windows-latest | ||
steps: | ||
- name: Git Checkout | ||
uses: actions/checkout@v4 | ||
- name: Update VERSION in python file ui.py | ||
$VERSION = "${{ github.ref_name }}" | ||
run: | | ||
if ($VERSION.StartsWith('v')) { | ||
$VERSION = $VERSION.Substring(1) | ||
} | ||
(Get-Content ui.py) -replace '^VERSION = ".*"$', "VERSION = `"$VERSION`"" | Set-Content ui.py | ||
- name: Commit version update | ||
run: | | ||
git config --local user.name "github-actions[bot]" | ||
git config --local user.email "github-actions[bot]@users.noreply.github.com" | ||
git commit -m "Update VERSION to ${{ github.ref_name }}" | ||
- name: Push changes | ||
run: | | ||
git push | ||
- name: Install Python | ||
uses: actions/setup-python@v5 | ||
with: | ||
python-version: '3.11' | ||
architecture: 'x64' | ||
- name: Install Python Requirements | ||
run: | | ||
python -m pip install --upgrade pip | ||
#pip install git+https://github.com/pyinstaller/pyinstaller@develop | ||
pip install pyinstaller | ||
pip install Pillow | ||
pip install -r requirements.txt | ||
- name: Run PyInstaller to create epson_print_conf.exe | ||
run: python -m PyInstaller epson_print_conf.spec -- --default | ||
- name: Zip the epson_print_conf.exe asset to epson_print_conf.zip | ||
run: | | ||
Compress-Archive dist/epson_print_conf.exe dist/epson_print_conf.zip | ||
shell: pwsh | ||
- name: Generate Changelog | ||
run: > | ||
echo "The *epson_print_conf.exe* executable file in the | ||
*epson_print_conf.zip* archive within the assets below is | ||
auto-generated by a [GitHub Action](.github/workflows/build.yml). | ||
<br /><br /> | ||
Check the | ||
[History of modifications](https://github.com/Ircama/epson_print_conf/commits/main/). | ||
" | ||
> ${{ github.workspace }}-CHANGELOG.txt | ||
- name: Create Release, uploading the epson_print_conf.zip asset | ||
uses: softprops/action-gh-release@v2 | ||
if: startsWith(github.ref, 'refs/tags/') | ||
with: | ||
body_path: ${{ github.workspace }}-CHANGELOG.txt | ||
files: dist/epson_print_conf.zip | ||
append_body: true | ||
generate_release_notes: false | ||
- name: Remove old releases | ||
uses: Nats-ji/delete-old-releases@v1 | ||
with: | ||
token: ${{ secrets.GITHUB_TOKEN }} | ||
keep-count: 1 | ||
keep-old-minor-releases: false | ||
keep-old-minor-releases-count: 1 | ||
remove-tags: true |