80 lines
1.9 KiB
YAML
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"]
|
|
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 }}
|
|
|
|
...
|