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

Fix #460 Improve bump_prerelease to alway get a newer version (#462) #390

Fix #460 Improve bump_prerelease to alway get a newer version (#462)

Fix #460 Improve bump_prerelease to alway get a newer version (#462) #390

---
name: Python
# HINT: Sync this paths with the egrep in step check_files
on:
push:
branches: [ "master", "main" ]
paths:
- 'pyproject.toml'
- 'setup.cfg'
- '**.py'
- '.github/workflows/*.yml'
pull_request:
branches: [ "master", "main" ]
paths:
- 'pyproject.toml'
- 'setup.cfg'
- '**.py'
- '.github/workflows/*.yml'
permissions:
contents: read
concurrency:
# only cancel in-progress runs of the same workflow
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
jobs:
check-files:
runs-on: ubuntu-latest
outputs:
can_run: ${{ steps.check_files.outputs.can_run }}
steps:
- uses: actions/checkout@v4
with:
fetch-depth: 0
- name: GitHub variables
id: gh-vars
run: |
for var in GITHUB_WORKFLOW GITHUB_ACTION GITHUB_ACTIONS GITHUB_REPOSITORY GITHUB_EVEN_NAME GITHUB_EVENT_PATH GITHUB_WORKSPACE GITHUB_SHA GITHUB_REF GITHUB_HEAD_REF GITHUB_BASE_REF; do
echo "$var = ${!var}"
done
- name: Check for file changes
id: check_files
run: |
# ${{ github.event.after }} ${{ github.event.before }}
can_run=$(git diff --name-only HEAD~1 HEAD | \
egrep -q '.github/workflows/|pyproject.toml|setup.cfg|\.py$' && echo 1 || echo 0)
echo "can_run=$can_run"
echo "can_run=$can_run" >> $GITHUB_OUTPUT
skip_test:
runs-on: ubuntu-latest
needs: check-files
timeout-minutes: 2
if: ${{ needs.check-files.outputs.can_run == '0' }}
steps:
- name: Skip test
run: |
echo "Nothing to do as no TOML, Python, or YAML file has been changed.
"
echo "Skipping."
check:
runs-on: ubuntu-latest
needs: check-files
timeout-minutes: 15
# needs.check-files.outputs.can_run
if: ${{ needs.check-files.outputs.can_run == '1' }}
steps:
- uses: actions/checkout@v4
- name: Install uv
uses: astral-sh/setup-uv@v3
with:
enable-cache: true
- name: Set up Python 3.7
# check tox.ini for the lowest version
run: uv python install 3.7
- name: Install the project
run: |
uv sync --all-extras --group gh-action
- name: Checks
continue-on-error: true
run: uv run tox run -e checks
tests:
needs: check
runs-on: ${{ matrix.os }}
# continue-on-error: true
strategy:
max-parallel: 5
fail-fast: true
matrix:
python-version: ["3.7",
"3.8",
"3.9",
"3.10",
"3.11",
"3.12",
"3.13",
]
os: ["ubuntu-latest", "macos-latest"]
exclude:
- os: "macos-latest"
python-version: "3.7"
steps:
- uses: actions/checkout@v4
- name: Install uv
uses: astral-sh/setup-uv@v3
- name: Set up Python ${{ matrix.python-version }}
run: uv python install ${{ matrix.python-version }}
- name: Install the project
run: |
uv sync --all-extras --dev
uv pip install tox tox-gh-actions
- name: Checks
run: uv run tox run -e ${{ matrix.python-version }}
Morty Proxy This is a proxified and sanitized view of the page, visit original site.