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

[repo-helper] Configuration Update #204

[repo-helper] Configuration Update

[repo-helper] Configuration Update #204

Workflow file for this run

# This file is managed by 'repo_helper'. Don't edit it directly.
---
name: Linux
on:
push:
branches-ignore:
- 'repo-helper-update'
- 'pre-commit-ci-update-config'
- 'imgbot'
tags:
- '*'
pull_request:
permissions:
actions: write
issues: write
contents: read
jobs:
tests:
name: "ubuntu-22.04 / Python ${{ matrix.config.python-version }}"
runs-on: "ubuntu-22.04"
continue-on-error: ${{ matrix.config.experimental }}
env:
USING_COVERAGE: '3.7,3.8,3.9,3.10,3.11,3.12,3.13,pypy-3.7,pypy-3.8,pypy-3.9'
strategy:
fail-fast: False
matrix:
config:
- {python-version: "3.7", testenvs: "py37,build", experimental: False}
- {python-version: "3.8", testenvs: "py38,build", experimental: False}
- {python-version: "3.9", testenvs: "py39,build", experimental: False}
- {python-version: "3.10", testenvs: "py310,build", experimental: False}
- {python-version: "3.11", testenvs: "py311,build", experimental: False}
- {python-version: "3.12", testenvs: "py312,build", experimental: False}
- {python-version: "3.13", testenvs: "py313,build", experimental: False}
- {python-version: "pypy-3.7", testenvs: "pypy37,build", experimental: False}
- {python-version: "pypy-3.8", testenvs: "pypy38,build", experimental: False}
- {python-version: "pypy-3.9", testenvs: "pypy39,build", experimental: True}
steps:
- name: Checkout 🛎️
uses: "actions/checkout@v4"
- name: Check for changed files
if: startsWith(github.ref, 'refs/tags/') != true
uses: dorny/paths-filter@v2
id: changes
with:
list-files: "json"
filters: |
code:
- '!(doc-source/**|CONTRIBUTING.rst|.imgbotconfig|.pre-commit-config.yaml|.pylintrc|.readthedocs.yml)'
- name: Setup Python 🐍
id: setup-python
if: ${{ steps.changes.outputs.code == 'true' || steps.changes.outcome == 'skipped' }}
uses: "actions/setup-python@v5"
with:
python-version: "${{ matrix.config.python-version }}"
- name: Install dependencies 🔧
if: steps.setup-python.outcome == 'success'
run: |
python -VV
python -m site
python -m pip install --upgrade pip setuptools wheel
python -m pip install --upgrade tox~=3.0 virtualenv!=20.16.0
python -m pip install --upgrade coverage_pyver_pragma
- name: "Run Tests for Python ${{ matrix.config.python-version }}"
if: steps.setup-python.outcome == 'success'
run: python -m tox -e "${{ matrix.config.testenvs }}" -s false
- name: "Upload Coverage 🚀"
uses: actions/upload-artifact@v4
if: ${{ always() && steps.setup-python.outcome == 'success' }}
with:
name: "coverage-${{ matrix.config.python-version }}"
path: .coverage
Coverage:
needs: tests
runs-on: "ubuntu-22.04"
steps:
- name: Checkout 🛎️
uses: "actions/checkout@v4"
- name: Setup Python 🐍
uses: "actions/setup-python@v5"
with:
python-version: 3.8
- name: Install dependencies 🔧
run: |
python -m pip install --upgrade pip setuptools wheel
python -m pip install --upgrade "coveralls>=3.0.0" coverage_pyver_pragma
- name: "Download Coverage 🪂"
uses: actions/download-artifact@v4
with:
path: coverage
- name: Display structure of downloaded files
id: show
run: ls -R
working-directory: coverage
continue-on-error: true
- name: Combine Coverage 👷
if: ${{ steps.show.outcome != 'failure' }}
run: |
shopt -s globstar
python -m coverage combine coverage/**/.coverage
- name: "Upload Combined Coverage Artefact 🚀"
if: ${{ steps.show.outcome != 'failure' }}
uses: actions/upload-artifact@v4
with:
name: "combined-coverage"
path: .coverage
- name: "Upload Combined Coverage to Coveralls"
if: ${{ steps.show.outcome != 'failure' }}
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
run: |
coveralls --service=github
Deploy:
needs: tests
runs-on: "ubuntu-22.04"
steps:
- name: Checkout 🛎️
uses: "actions/checkout@v4"
if: startsWith(github.ref, 'refs/tags/')
- name: Setup Python 🐍
uses: "actions/setup-python@v5"
if: startsWith(github.ref, 'refs/tags/')
with:
python-version: 3.8
- name: Install dependencies 🔧
if: startsWith(github.ref, 'refs/tags/')
run: |
python -m pip install --upgrade pip setuptools wheel
python -m pip install --upgrade tox~=3.0
- name: Build distributions 📦
if: startsWith(github.ref, 'refs/tags/')
run: |
tox -e build
- name: Upload distribution to PyPI 🚀
if: startsWith(github.ref, 'refs/tags/')
uses: pypa/gh-action-pypi-publish@v1.4.2
with:
user: __token__
password: ${{ secrets.PYPI_TOKEN }}
skip_existing: true
- name: Close milestone 🚪
if: startsWith(github.ref, 'refs/tags/')
run: |
python -m pip install --upgrade github3.py packaging
python .github/milestones.py
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
Conda:
needs: deploy
runs-on: ubuntu-22.04
if: startsWith(github.ref, 'refs/tags/') || (startsWith(github.event.head_commit.message, 'Bump version') != true)
steps:
- name: Checkout 🛎️
uses: "actions/checkout@v4"
- name: Setup Python 🐍
uses: "actions/setup-python@v5"
with:
python-version: 3.11
- name: Setup Conda
uses: conda-incubator/setup-miniconda@v2.1.1
with:
activate-environment: env
conda-build-version: 3.28.4
miniconda-version: py311_24.1.2-0
python-version: "3.11"
miniforge-variant: Mambaforge
- name: Install dependencies 🔧
run: |
python -VV
python -m site
python -m pip install --upgrade pip setuptools wheel
python -m pip install --upgrade "mkrecipe" "whey"
# $CONDA is an environment variable pointing to the root of the miniconda directory
$CONDA/bin/conda config --set always_yes yes --set changeps1 no
$CONDA/bin/conda update -n base conda
$CONDA/bin/conda info -a
$CONDA/bin/conda config --add channels conda-forge
$CONDA/bin/conda config --add channels domdfcoding
$CONDA/bin/conda config --remove channels defaults
- name: Build Conda Package 📦
run: |
python -m mkrecipe --type wheel || exit 1
$CONDA/bin/conda build conda -c conda-forge -c domdfcoding --output-folder conda/dist
- name: Deploy Conda Package 🚀
if: startsWith(github.ref, 'refs/tags/')
run: |
$CONDA/bin/conda config --set always_yes yes --set changeps1 no
$CONDA/bin/conda install anaconda-client
$CONDA/bin/conda info -a
for f in conda/dist/noarch/astatine-*.tar.bz2; do
[ -e "$f" ] || continue
echo "$f"
conda install "$f" || exit 1
echo "Deploying to Anaconda.org..."
$CONDA/bin/anaconda -t "$ANACONDA_TOKEN" upload "$f" || exit 1
echo "Successfully deployed to Anaconda.org."
done
env:
ANACONDA_TOKEN: ${{ secrets.ANACONDA_TOKEN }}
Morty Proxy This is a proxified and sanitized view of the page, visit original site.