Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Appearance settings

TYP: Type annotations, part 4 #1097

TYP: Type annotations, part 4

TYP: Type annotations, part 4 #1097

Workflow file for this run

name: publish distributions
on:
push:
branches:
- main
tags:
- '[0-9]+.[0-9]+'
- '[0-9]+.[0-9]+.[0-9]+'
pull_request:
branches:
- main
release:
types: [published]
workflow_dispatch:
inputs:
publish:
type: choice
description: 'Publish to TestPyPI?'
options:
- false
- true
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
jobs:
build:
name: Build Python distribution
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
with:
fetch-depth: 0
- name: Set up Python
uses: actions/setup-python@v5
with:
python-version: '3.x'
- name: Install python-build and twine
run: |
python -m pip install --upgrade pip "setuptools<=67"
python -m pip install build twine
python -m pip list
- name: Build a wheel and a sdist
run: |
#PYTHONWARNINGS=error,default::DeprecationWarning python -m build .
python -m build .
- name: Verify the distribution
run: twine check --strict dist/*
- name: List contents of sdist
run: python -m tarfile --list dist/array_api_compat-*.tar.gz
- name: List contents of wheel
run: python -m zipfile --list dist/array_api_compat-*.whl
- name: Upload distribution artifact
uses: actions/upload-artifact@v4
with:
name: dist-artifact
path: dist
publish:
name: Publish Python distribution to (Test)PyPI
if: github.event_name != 'pull_request' && github.repository == 'data-apis/array-api-compat' && github.ref_type == 'tag'
needs: build
runs-on: ubuntu-latest
# Mandatory for publishing with a trusted publisher
# c.f. https://docs.pypi.org/trusted-publishers/using-a-publisher/
permissions:
id-token: write
contents: write
# Restrict to the environment set for the trusted publisher
environment:
name: publish-package
steps:
- name: Download distribution artifact
uses: actions/download-artifact@v4
with:
name: dist-artifact
path: dist
- name: List all files
run: ls -lh dist
# - name: Publish distribution 📦 to Test PyPI
# # Publish to TestPyPI on tag events of if manually triggered
# # Compare to 'true' string as booleans get turned into strings in the console
# if: >-
# (github.event_name == 'push' && startsWith(github.ref, 'refs/tags'))
# || (github.event_name == 'workflow_dispatch' && github.event.inputs.publish == 'true')
# uses: pypa/gh-action-pypi-publish@v1.12.4
# with:
# repository-url: https://test.pypi.org/legacy/
# print-hash: true
- name: Publish distribution 📦 to PyPI
if: github.event_name == 'push' && startsWith(github.ref, 'refs/tags')
uses: pypa/gh-action-pypi-publish@v1.12.4
with:
print-hash: true
- name: Create GitHub Release from a Tag
uses: softprops/action-gh-release@v2
if: startsWith(github.ref, 'refs/tags/')
with:
files: dist/*
Morty Proxy This is a proxified and sanitized view of the page, visit original site.