Movatterモバイル変換


[0]ホーム

URL:


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

Sign up
Appearance settings

Optimize sponsor svgs#1831

Optimize sponsor svgs

Optimize sponsor svgs #1831

Workflow file for this run

---
name:CI
on:
merge_group:
push:
branches:[main]
tags:["*"]
pull_request:
workflow_dispatch:
env:
FORCE_COLOR:"1"
PIP_DISABLE_PIP_VERSION_CHECK:"1"
PIP_NO_PYTHON_VERSION_WARNING:"1"
permissions:{}
jobs:
build-package:
name:Build & verify package
runs-on:ubuntu-latest
steps:
-uses:actions/checkout@1af3b93b6815bc44a9784bd300feb67ff0d1eeb3# v6.0.0
with:
fetch-depth:0
persist-credentials:false
-uses:hynek/build-and-inspect-python-package@efb823f52190ad02594531168b7a2d5790e66516# v2.14.0
id:baipp
outputs:
# Used to define the matrix for tests below. The value is based on
# packaging metadata (trove classifiers).
supported-python-versions:${{ steps.baipp.outputs.supported_python_classifiers_json_array }}
tests:
name:Tests & Mypy on ${{ matrix.python-version }}
runs-on:ubuntu-latest
needs:build-package
strategy:
fail-fast:false
matrix:
# Created by the build-and-inspect-python-package action above.
python-version:${{ fromJson(needs.build-package.outputs.supported-python-versions) }}
steps:
-name:Download pre-built packages
uses:actions/download-artifact@018cc2cf5baa6db3ef3c5f8a56943fffe632ef53# v6.0.0
with:
name:Packages
path:dist
-run:tar xf dist/*.tar.gz --strip-components=1
-uses:actions/setup-python@83679a892e2d95755f2dac6acb0bfd1e9ac5d548# v6.1.0
with:
python-version:${{ matrix.python-version }}
allow-prereleases:true
-uses:hynek/setup-cached-uv@757bedc3f972eb7227a1aa657651f15a8527c817# v2.3.0
-name:Prepare tox
env:
V:${{ matrix.python-version }}
run:|
DO_MYPY=1
if [[ "$V" == "3.9" ]]; then
DO_MYPY=0
fi
echo DO_MYPY=$DO_MYPY >>$GITHUB_ENV
echo TOX_PYTHON=py$(echo $V | tr -d .) >>$GITHUB_ENV
-run:>
uvx --with=tox-uv
tox run
-e $TOX_PYTHON-mypy
if: env.DO_MYPY == '1'
-name:Remove src to ensure tests run against wheel
run:rm -rf src
-run:>
uvx --with=tox-uv
tox run
--installpkg dist/*.whl
-e $TOX_PYTHON-tests
-name:Upload coverage data
uses:actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4# v5.0.0
with:
name:coverage-data-${{ matrix.python-version }}
path:.coverage.*
include-hidden-files:true
if-no-files-found:ignore
tests-pypy:
name:Tests on ${{ matrix.python-version }}
runs-on:ubuntu-latest
needs:build-package
strategy:
fail-fast:false
matrix:
python-version:
-pypy-3.10
steps:
-name:Download pre-built packages
uses:actions/download-artifact@018cc2cf5baa6db3ef3c5f8a56943fffe632ef53# v6.0.0
with:
name:Packages
path:dist
-run:|
tar xf dist/*.tar.gz --strip-components=1
rm -rf src # ensure tests run against wheel
-uses:hynek/setup-cached-uv@757bedc3f972eb7227a1aa657651f15a8527c817# v2.3.0
-run:>
uvx --with=tox-uv
tox run
--installpkg dist/*.whl
-e pypy3-tests
coverage:
name:Combine & check coverage
runs-on:ubuntu-latest
needs:tests
steps:
-name:Download pre-built packages
uses:actions/download-artifact@018cc2cf5baa6db3ef3c5f8a56943fffe632ef53# v6.0.0
with:
name:Packages
path:dist
-run:tar xf dist/*.tar.gz --strip-components=1
-uses:hynek/setup-cached-uv@757bedc3f972eb7227a1aa657651f15a8527c817# v2.3.0
-name:Download coverage data
uses:actions/download-artifact@018cc2cf5baa6db3ef3c5f8a56943fffe632ef53# v6.0.0
with:
pattern:coverage-data-*
merge-multiple:true
-name:Combine coverage & fail if it's <100%.
run:|
uv tool install --python $(cat .python-version-default) coverage
coverage combine
coverage html --skip-covered --skip-empty
# Report and write to summary.
coverage report --format=markdown >> $GITHUB_STEP_SUMMARY
# Report again and fail if under 100%.
coverage report --fail-under=100
-name:Upload HTML report if check failed.
uses:actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4# v5.0.0
with:
name:html-report
path:htmlcov
if:${{ failure() }}
docs:
name:Run doctests & render changelog
runs-on:ubuntu-latest
needs:build-package
steps:
-name:Download pre-built packages
uses:actions/download-artifact@018cc2cf5baa6db3ef3c5f8a56943fffe632ef53# v6.0.0
with:
name:Packages
path:dist
-run:tar xf dist/*.tar.gz --strip-components=1
-uses:hynek/setup-cached-uv@757bedc3f972eb7227a1aa657651f15a8527c817# v2.3.0
-run:uvx --with=tox-uv tox run -e docs-doctests,changelog
typing:
name:Check types using supported type checkers
runs-on:ubuntu-latest
steps:
-uses:actions/checkout@1af3b93b6815bc44a9784bd300feb67ff0d1eeb3# v6.0.0
with:
persist-credentials:false
-uses:hynek/setup-cached-uv@757bedc3f972eb7227a1aa657651f15a8527c817# v2.3.0
-run:>
uvx --with=tox-uv
--python $(cat .python-version-default)
tox run -f typing
install-dev:
name:Verify dev env
runs-on:ubuntu-latest
steps:
-uses:actions/checkout@1af3b93b6815bc44a9784bd300feb67ff0d1eeb3# v6.0.0
with:
persist-credentials:false
-uses:hynek/setup-cached-uv@757bedc3f972eb7227a1aa657651f15a8527c817# v2.3.0
-run:uv sync --python $(cat .python-version-default)
-name:Ensure we can import attr and attrs packages
run:|
source .venv/bin/activate
python -Ic 'import attr; print(attr.__version__)'
python -Ic 'import attrs; print(attrs.__version__)'
# Ensure everything required is passing for branch protection.
required-checks-pass:
if:always()
needs:
-coverage
-tests-pypy
-docs
-install-dev
-typing
runs-on:ubuntu-latest
steps:
-name:Decide whether the needed jobs succeeded or failed
uses:re-actors/alls-green@05ac9388f0aebcb5727afa17fcccfecd6f8ec5fe# v1.2.2
with:
jobs:${{ toJSON(needs) }}

[8]ページ先頭

©2009-2025 Movatter.jp