Use Ruff & Other updates #11
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# SPDX-FileCopyrightText: 2017 Scott Shawcroft, written for Adafruit Industries | |
# | |
# SPDX-License-Identifier: MIT | |
name: Build CI | |
on: [pull_request, push] | |
jobs: | |
test: | |
runs-on: ubuntu-latest | |
steps: | |
- name: Dump GitHub context | |
env: | |
GITHUB_CONTEXT: ${{ toJson(github) }} | |
run: echo "$GITHUB_CONTEXT" | |
- name: Translate Repo Name For Build Tools filename_prefix | |
id: repo-name | |
run: | | |
echo ::set-output name=repo-name::$( | |
echo ${{ github.repository }} | | |
awk -F '\/' '{ print tolower($2) }' | | |
tr '_' '-' | |
) | |
- name: Set up Python 3.7 | |
uses: actions/setup-python@v1 | |
with: | |
python-version: 3.7 | |
- name: Versions | |
run: | | |
python3 --version | |
- name: Checkout Current Repo | |
uses: actions/checkout@v1 | |
with: | |
submodules: true | |
- name: Checkout tools repo | |
uses: actions/checkout@v2 | |
with: | |
repository: adafruit/actions-ci-circuitpython-libs | |
path: actions-ci | |
- name: Install dependencies | |
# (e.g. - apt-get: gettext, etc; pip: circuitpython-build-tools, requirements.txt; etc.) | |
run: | | |
source actions-ci/install.sh | |
- name: Pip install pylint, Sphinx, pre-commit | |
run: | | |
pip install --force-reinstall pylint Sphinx sphinx-rtd-theme pre-commit | |
- name: Load graphviz | |
run: | | |
sudo apt install graphviz | |
- name: Library version | |
run: git describe --dirty --always --tags | |
- name: Setup problem matchers | |
uses: adafruit/circuitpython-action-library-ci-problem-matchers@v1 | |
- name: Pre-commit hooks | |
run: | | |
pre-commit run --all-files | |
- name: Build assets | |
run: circuitpython-build-bundles --filename_prefix ${{ steps.repo-name.outputs.repo-name }} --library_location . | |
- name: Archive bundles | |
uses: actions/upload-artifact@v2 | |
with: | |
name: bundles | |
path: ${{ github.workspace }}/bundles/ | |
- name: Check For docs folder | |
id: need-docs | |
run: | | |
echo ::set-output name=docs::$( find . -wholename './docs' ) | |
- name: Build docs | |
if: contains(steps.need-docs.outputs.docs, 'docs') | |
working-directory: docs | |
run: sphinx-build -E -W -b html . _build/html | |
- name: Check For setup.py | |
id: need-pypi | |
run: | | |
echo ::set-output name=setup-py::$( find . -wholename './setup.py' ) | |
- name: Build Python package | |
if: contains(steps.need-pypi.outputs.setup-py, 'setup.py') | |
run: | | |
pip install --upgrade setuptools wheel twine readme_renderer testresources | |
python setup.py sdist | |
python setup.py bdist_wheel --universal | |
twine check dist/* |