gh-action-pypi-publish/.github/workflows/self-smoke-test-action.yml

80 lines
1.9 KiB
YAML

---
name: 🧪
on: # yamllint disable-line rule:truthy
push:
pull_request:
env:
devpi-password: abcd1234
devpi-username: root
FORCE_COLOR: 1 # Request colored output from CLI tools supporting it
MYPY_FORCE_COLOR: 1 # MyPy's color enforcement
PIP_DISABLE_PIP_VERSION_CHECK: 1
PIP_NO_PYTHON_VERSION_WARNING: 1
PIP_NO_WARN_SCRIPT_LOCATION: 1
PY_COLORS: 1 # Recognized by the `py` package, dependency of `pytest`
TOX_PARALLEL_NO_SPINNER: 1
TOX_TESTENV_PASSENV: >- # Make tox-wrapped tools see color requests
FORCE_COLOR
MYPY_FORCE_COLOR
NO_COLOR
PY_COLORS
PYTEST_THEME
PYTEST_THEME_MODE
jobs:
smoke-test:
runs-on: ubuntu-latest
env:
TWINE_REPOSITORY_URL: >-
http://devpi:${{
job.services.devpi.ports['3141']
}}/${{
env.devpi-username
}}/public/
services:
devpi:
image: muccg/devpi
env:
DEVPI_PASSWORD: ${{ env.devpi-password }}
ports:
- 3141
timeout-minutes: 2
steps:
- run: python3 -m pip install --upgrade pip build twine
- run: mkdir -p src/test_package
- run: echo '__version__ = "0.1"' > src/test_package/__init__.py
- run: echo "# Test Package" > README.md
- run: echo "$CONTENTS" > pyproject.toml
env:
CONTENTS: |
[build-system]
requires = ["setuptools>=61", "wheel"]
build-backend = "setuptools.build_meta"
[project]
name = "test-package"
version = "0.1"
readme = "README.md"
- run: python3 -m build
- run: twine register dist/*.tar.gz
env:
TWINE_USERNAME: ${{ env.devpi-username }}
TWINE_PASSWORD: ${{ env.devpi-password }}
- uses: actions/checkout@v3
with:
path: test
- uses: ./test
with:
user: ${{ env.devpi-username }}
password: ${{ env.devpi-password }}
repository_url: ${{ env.TWINE_REPOSITORY_URL }}
...