+# SPDX-FileCopyrightText: 2017 Scott Shawcroft, written for Adafruit Industries
+# SPDX-FileCopyrightText: 2020 Melissa LeBlanc-Williams, written for Adafruit Industries
+#
+# SPDX-License-Identifier: MIT
+
name: Build CI
on: [pull_request, push]
- name: Translate Repo Name For Build Tools filename_prefix
id: repo-name
run: |
- echo ::set-output name=repo-name::Adafruit-Blinka-displayio
- - name: Set up Python 3.6
- uses: actions/setup-python@v1
+ echo "repo-name=Adafruit-Blinka-displayio" >> $GITHUB_OUTPUT
+ - name: Set up Python 3.11
+ uses: actions/setup-python@v4
with:
- python-version: 3.6
+ python-version: "3.11"
- name: Versions
run: |
python3 --version
- name: Checkout Current Repo
- uses: actions/checkout@v1
+ uses: actions/checkout@v3
with:
submodules: true
- name: Checkout tools repo
- uses: actions/checkout@v2
+ uses: actions/checkout@v3
with:
repository: adafruit/actions-ci-circuitpython-libs
path: actions-ci
# (e.g. - apt-get: gettext, etc; pip: circuitpython-build-tools, requirements.txt; etc.)
run: |
source actions-ci/install.sh
- - name: Pip install pylint, black, & Sphinx
+ - name: Pip install Sphinx, pre-commit
run: |
- pip install --force-reinstall pylint black==19.10b0 Sphinx sphinx-rtd-theme
+ pip install --force-reinstall Sphinx sphinx-rtd-theme pre-commit
- name: Library version
run: git describe --dirty --always --tags
- - name: Check formatting
- run: |
- black --check --target-version=py35 .
- - name: PyLint
+ - name: Setup problem matchers
+ uses: adafruit/circuitpython-action-library-ci-problem-matchers@v1
+ - name: Pre-commit hooks
run: |
- pylint $( find . -path './*io.py' )
+ pre-commit run --all-files
- name: Build docs
working-directory: docs
run: sphinx-build -E -W -b html . _build/html
+ - name: Check For pyproject.toml
+ id: need-pypi
+ run: |
+ echo "pyproject-toml=$( find . -wholename './pyproject.toml' )" >> $GITHUB_OUTPUT
+ - name: Build Python package
+ if: contains(steps.need-pypi.outputs.pyproject-toml, 'pyproject.toml')
+ run: |
+ pip install --upgrade build twine
+ for file in $(find -not -path "./.*" -not -path "./docs*" \( -name "*.py" -o -name "*.toml" \) ); do
+ sed -i -e "s/0.0.0+auto.0/1.2.3/" $file;
+ done;
+ python -m build
+ twine check dist/*