Skip to content

v0.1.2

v0.1.2 #18

Workflow file for this run

# This workflow will upload a Python Package using Twine when a release is created
# For more information see: https://help.github.com/en/actions/language-and-framework-guides/using-python-with-github-actions#publishing-to-package-registries
# This workflow uses actions that are not certified by GitHub.
# They are provided by a third-party and are governed by
# separate terms of service, privacy policy, and support
# documentation.
name: Upload Python Package
on:
release:
types: [published]
env:
UV_SYSTEM_PYTHON: true
jobs:
deploy:
name: Release on PyPI
runs-on: ubuntu-latest
environment:
name: pypi
url: https://pypi.org/p/nyaml
permissions:
id-token: write
steps:
- uses: actions/checkout@v3
with:
submodules: recursive
- name: Set up Python
uses: actions/setup-python@v4
with:
python-version: "3.x"
- name: Install dependencies
run: |
python -m pip install --upgrade pip
curl -LsSf https://astral.sh/uv/install.sh | sh
uv pip install build
- name: Git tag version
id: git_tag_version
run: |
# Extract the version from the tag (e.g., 'v1.0.0' becomes '1.0.0')
GIT_TAG_VERSION=${GITHUB_REF#refs/tags/v}
echo "GIT_TAG_VERSION=$GIT_TAG_VERSION" >> $GITHUB_ENV
echo "Version from Git tag: $GIT_TAG_VERSION"
- name: Citation version
id: citation_version
run: |
# Parse the version from the CITATION.cff file
CITATION_VERSION=$(grep '^version:' CITATION.cff | cut -d' ' -f2)
echo "CITATION_VERSION=$CITATION_VERSION" >> $GITHUB_ENV
echo "Version from CITATION.cff: $CITATION_VERSION"
- name: Compare versions
run: |
if [ "$GIT_TAG_VERSION" != "$CITATION_VERSION" ]; then
echo "Version mismatch: Git tag version is $GIT_TAG_VERSION, CITATION.cff version is $CITATION_VERSION"
exit 1
fi
- name: Build package
run: python -m build
- name: Publish package
uses: pypa/gh-action-pypi-publish@27b31702a0e7fc50959f5ad993c78deac1bdfc29
with:
user: __token__
password: ${{ secrets.PYPI_API_TOKEN }}