--- 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 }} ...