k2bd
action-python-poetry
Python

Template repo to quickly make a tested and documented GitHub action in Python with Poetry

Last updated Mar 19, 2025
90
Stars
5
Forks
1
Issues
0
Stars/day
Attention Score
2
Language breakdown
Python 68.1%
Dockerfile 31.9%
โ–ธ Files click to expand
README

Python + Poetry GitHub Action Template

Getting started from the template

  • Rename the src/actionpythonpoetry package.
  • Globally replace instances of action-python-poetry and actionpythonpoetry with your project and package name.
  • If your repo is private, set it up on CodeCov and add a codecov token to your repo under the CODECOVTOKEN secret.
  • Create and test your action. main.py in your package will be executed when the action is run. The environment variables your tests use can be set in pyproject.toml and/or managed in test fixtures.
  • Update action.yml, README.md, and .github/workflows/test-action.yml to reflect your action's specification.
  • Update LICENSE.md as appropriate, making sure to retain the original copyright and permissions notices in your distribution according to the MIT license that this template is distributed under.
  • Remove this section from README.md.
  • Happy hacking!

Like this template?

Quickstart

name: Run Action
on:
  workflow_dispatch:

jobs: action-python-poetry: runs-on: ubuntu-latest steps: - uses: k2bd/action-python-poetry@v1 with: helloName: k2bd repeats: 3

Action Specification

helloName

Required

The name of the person to say hello to

repeats

Optional - default 1

Number of times to say hello to this person

Developing

Install Poetry and poetry install the project

Useful Commands

Note: if Poetry is managing a virtual environment for you, you may need to use poetry run poe instead of poe

  • poe autoformat - Autoformat code
  • poe lint - Linting
  • poe test - Run Tests

Testing the action

The action can be tested locally by building the Dockerfile, e.g.

docker run -e INPUTHELLONAME=k2bd -e INPUTREPEATS=2 $(docker build -q .)

Additionally, there is a manual invocation action on the repo called "Test Action" that can be used to invoke the repo's version of the action from the Actions tab of the repo.

Releasing

Release a new version by creating a new annotated semver tag e.g. git tag -a v1.2.3 -m "Release version 1.2.3" and pushing it (git push --tags). Then create a new release from that tag in GitHub.

There is an autoversioning action that keeps major version tags (v1, v2, ...) and latest up-to-date when a new release is published.

ยฉ 2026 GitRepoTrend ยท k2bd/action-python-poetry ยท Updated daily from GitHub