Skip to content

release & publish workflow #1

release & publish workflow

release & publish workflow #1

Workflow file for this run

# Publish package on main branch if it's tagged with 'v*'
name: release & publish workflow
# Controls when the action will run.
on:
# Triggers the workflow on push events but only for the master branch
push:
tags:
- "v*"
# Allows you to run this workflow manually from the Actions tab
workflow_dispatch:
# A workflow run is made up of one or more jobs that can run sequentially or in parallel
jobs:
# This workflow contains a single job called "release"
release:
name: Create Release
runs-on: ubuntu-24.04
environment:
name: pypi
url: https://pypi.org/p/stringpod
permissions:
id-token: write # IMPORTANT: mandatory for trusted publishing
strategy:
matrix:
python-versions: [3.12]
# Steps represent a sequence of tasks that will be executed as part of the job
steps:
- name: Get version from tag
id: tag_name
run: |
echo ::set-output name=current_version::${GITHUB_REF#refs/tags/v}
shell: bash
# Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it
- uses: actions/checkout@v4
# - name: Get Changelog Entry
# id: changelog_reader
# uses: mindsers/changelog-reader-action@v2
# with:
# validation_depth: 10
# version: ${{ steps.tag_name.outputs.current_version }}
# path: ./CHANGELOG.md
- uses: actions/setup-python@v5
with:
python-version: ${{ matrix.python-versions }}
- name: Install dependencies
run: |
python -m pip install poetry --upgrade pip
poetry config virtualenvs.create false
poetry install
- name: build documentation
run: |
poetry install -E docs
poetry run mkdocs build
- name: publish documentation
uses: peaceiris/actions-gh-pages@v4
with:
personal_token: ${{ secrets.GITHUB_TOKEN }}
publish_dir: ./site
# - name: Build wheels and source tarball
# run: >-
# poetry build
# - name: show temporary files
# run: >-
# ls -l
# - name: create github release
# id: create_release
# uses: softprops/action-gh-release@v2
# env:
# GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
# with:
# body: ${{ steps.changelog_reader.outputs.changes }}
# files: dist/*.whl
# draft: false
# prerelease: false
# - name: publish to PyPI
# uses: pypa/gh-action-pypi-publish@release/v1
- name: Semantic Release
run: |
pip install python-semantic-release
git config user.name github-actions
git config user.email github-actions@github.com
semantic-release publish