Skip to content

4.0.1

4.0.1 #9

Workflow file for this run

---
name: "Deploy"
# yamllint disable-line rule:truthy
on:
release:
types:
- published
workflow_dispatch:
env:
ADDITIONAL_ARTIFACTS_NAME: windowssensors-build
ADDITIONAL_ARTIFACTS_PATH: WindowsSensors/bin
MODULE_NAME: systembridgewindowssensors
jobs:
build-dotnet:
uses: timmo001/workflows/.github/workflows/build-msbuild-windows.yml@master
with:
code-path: WindowsSensors
output-name: windowssensors-build
output-path: WindowsSensors/bin
package: SystemBridgeWindowsSensors.sln
deploy:
name: 🚀 Linux - Deploy Module
runs-on: ubuntu-latest
permissions:
id-token: write
needs:
- build-dotnet
steps:
- name: ⤵️ Check out code from GitHub
uses: actions/[email protected]
with:
ref: "master"
token: ${{ secrets.PUSH_TOKEN }}
- name: ⬇️ Download additional artifacts
uses: actions/[email protected]
with:
name: ${{ env.ADDITIONAL_ARTIFACTS_NAME }}
path: ${{ env.ADDITIONAL_ARTIFACTS_PATH }}
- name: 🏗 Set up Python
uses: actions/[email protected]
with:
python-version: "3.12"
architecture: "x64"
cache: "pip"
- name: 🏗 Install setuptools, wheel, twine, click, twisted, incremental
run: |
python -m pip install --upgrade setuptools wheel twine click twisted incremental
- name: 🔢 Get old version
id: get-version-old
run: |
python -m pip install .
# Read version from _version.py
result=$(python <<EOF
from ${{ env.MODULE_NAME }}._version import __version__
print(__version__.public())
EOF
)
echo "version=$result" >> $GITHUB_OUTPUT
- name: 🔢 Set correct vertion - Developement
if: ${{ github.event_name != 'release' }}
run: |
# If version does not contain dev, add it
if [[ ! "${{ steps.get-version-old.outputs.version }}" == *"dev"* ]]; then
python -m incremental.update ${{ env.MODULE_NAME }} --dev
fi
- name: 🔢 Set correct vertion - Release
if: ${{ github.event_name == 'release' }}
run: |
# If version contains dev*, remove it
if [[ "${{ steps.get-version-old.outputs.version }}" == *"dev"* ]]; then
NEW_VERSION=$(echo "${{ steps.get-version-old.outputs.version }}" | sed 's/.dev.*//')
python -m incremental.update ${{ env.MODULE_NAME }} --newversion $NEW_VERSION
fi
- name: 🔢 Get current version
id: get-version-current
run: |
result=$(python <<EOF
from ${{ env.MODULE_NAME }}._version import __version__
print(__version__.public())
EOF
)
echo "version=$result" >> $GITHUB_OUTPUT
- name: ⤵️ Pull latest changes from GitHub
run: |
git pull --ff
- name: 🖊 Commit
uses: stefanzweifel/[email protected]
env:
GITHUB_TOKEN: ${{ secrets.PUSH_TOKEN }}
with:
commit_message: |
Bump ${{ env.MODULE_NAME }} version to ${{ steps.get-version-current.outputs.version }}
- name: 🏗 Install package
run: |
python setup.py sdist bdist_wheel
- name: Publish package distributions to PyPI
uses: pypa/gh-action-pypi-publish@release/v1
with:
verbose: true
- name: 🔢 Increment version - Developement
if: ${{ github.event_name != 'release' }}
run: |
python -m incremental.update ${{ env.MODULE_NAME }} --dev
- name: 🔢 Increment version - Release
if: ${{ github.event_name == 'release' }}
run: |
python -m incremental.update ${{ env.MODULE_NAME }} --patch
python -m incremental.update ${{ env.MODULE_NAME }} --dev
- name: 🔢 Get new version
id: get-version-new
run: |
result=$(python <<EOF
from ${{ env.MODULE_NAME }}._version import __version__
print(__version__.public())
EOF
)
echo "version=$result" >> $GITHUB_OUTPUT
- name: ⤵️ Pull latest changes from GitHub
run: |
git pull --ff
- name: 🖊 Commit
uses: stefanzweifel/[email protected]
env:
GITHUB_TOKEN: ${{ secrets.PUSH_TOKEN }}
with:
commit_message: |
Bump ${{ env.MODULE_NAME }} version to ${{ steps.get-version-new.outputs.version }}