Skip to content

Publish types-awscrt #854

Publish types-awscrt

Publish types-awscrt #854

name: Publish types-awscrt
concurrency: publish
on:
schedule:
- cron: "0 0 * * *"
workflow_dispatch:
inputs:
force:
required: false
default: false
type: boolean
description: Force build even if consistency check fails (set to true)
version:
required: false
default: ""
type: string
description: Use a specific package version, latest otherwise
env:
PACKAGE: awscrt
STUBS: types-awscrt
jobs:
check-version:
name: Check version
runs-on: ubuntu-latest
outputs:
version: ${{ steps.vars.outputs.version }}
stubs-version: ${{ steps.vars.outputs.stubs-version }}
steps:
- uses: actions/checkout@v4
- name: Extract versions
id: vars
uses: actions/github-script@v7
with:
script: |
const { setupGlobals, extractVersions } = require('./.github/workflows/helpers.js')
setupGlobals({ fetch, core, context })
await extractVersions()
publish-stubs:
name: Publish stubs
runs-on: ubuntu-latest
needs: check-version
if: needs.check-version.outputs.stubs-version
env:
VERSION: ${{ needs.check-version.outputs.version }}
STUBS_VERSION: ${{ needs.check-version.outputs.stubs-version }}
steps:
- uses: actions/checkout@v4
- name: Set up Python
uses: actions/setup-python@v5
with:
python-version: "3.12"
- name: Set up uv
run: curl -LsSf https://astral.sh/uv/install.sh | sh
- name: Install the project
run: uv sync --dev
- name: Install package
run: uv pip install ${PACKAGE}==${VERSION}
- name: Stubs consistency check
if: "${{ github.event.inputs.force != 'true' }}"
run: |
uv run --no-sync istub -d
- name: Bump version
run: |
echo "Bumping version to ${STUBS_VERSION}"
sed -i 's/^version = ".*"$/version = "'$STUBS_VERSION'"/' pyproject.toml
uv pip install .
- name: Commit changes
if: "${{ github.event.inputs.version == '' }}"
run: |
git config --global user.email "[email protected]"
git config --global user.name "github-actions"
git add pyproject.toml
git commit -m "Release ${STUBS_VERSION}"
git push
- name: Publish to PyPI
env:
UV_PUBLISH_TOKEN: ${{ secrets.PYPI_TOKEN }}
run: |
rm -rf dist/* || true
uv build --sdist --wheel
uv publish
- name: Report status
uses: actions/github-script@v7
with:
script: |
core.notice(`Released ${process.env.STUBS} ${process.env.STUBS_VERSION}`)