Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
67 changes: 67 additions & 0 deletions .github/workflows/publish-to-test-pypi.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,67 @@
name: publish-to-test-pypi

on:
push:
branches: ["main"]

jobs:
build:
name: Build distribution
runs-on: ubuntu-latest

steps:
- name: Checkout repository
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8
with:
fetch-depth: 0

- name: Set up Python
uses: actions/setup-python@e797f83bcb11b83ae66e0230d6156d7c80228e7c
with:
python-version: "3.x"

- name: Install uv
uses: astral-sh/setup-uv@85856786d1ce8acfbcc2f13a5f3fbd6b938f9f41 # v7.1.2

- name: Install hatch
run: uv tool install hatch

- name: Inject unique build tag into VERSION file
run: |
BASE_VERSION=$(cat VERSION)
BUILD=".dev${{ github.run_id }}${{ github.run_number }}${{ github.run_attempt }}"
echo "${BASE_VERSION}${BUILD}" > VERSION

- name: Build distributions with uv
run: uv build --wheel

- name: Upload distributions as artifact
uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5.0.0
with:
name: python-package-distributions-${{ github.run_id }}
path: dist/

publish-to-test-pypi:
name: Publish Python distribution to TestPyPI
needs: [build]
runs-on: ubuntu-latest

environment:
name: testpypi
url: https://test.pypi.org/p/python-em511

permissions:
id-token: write

steps:
- name: Download all build artifacts
uses: actions/download-artifact@634f93cb2916e3fdff6788551b99b062d0335ce0 # v5.0.0
with:
name: python-package-distributions-${{ github.run_id }}
path: dist/

- name: Publish to TestPyPI
uses: pypa/gh-action-pypi-publish@release/v1
with:
repository-url: https://test.pypi.org/legacy/
verbose: true
1 change: 1 addition & 0 deletions VERSION
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
0.0.1
9 changes: 7 additions & 2 deletions pyproject.toml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
[project]
name = "python-em511"
version = "0.0.1"
dynamic = ["version"]
description = "Driver for Carlo Gavazzi EM511 Series Single Phase Energy Meters using Modbus RTU"
readme = "README.md"

Expand Down Expand Up @@ -36,12 +36,17 @@ classifiers = [
]

[build-system]
requires = ["hatchling"]
requires = ["hatchling", "uv-dynamic-versioning"]
Comment thread
Dexter9532 marked this conversation as resolved.
build-backend = "hatchling.build"

[tool.hatch.build.targets.wheel]
packages = ["src/em511"]

[tool.hatch.version]
source = "regex"
path = "VERSION"
pattern = "(?P<version>.*)"

[dependency-groups]
dev = [
"pre-commit>=4.3.0",
Expand Down
1 change: 0 additions & 1 deletion uv.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.