2021-01-11 20:06:44 +00:00
|
|
|
# SPDX-FileCopyrightText: 2017 Scott Shawcroft, written for Adafruit Industries
|
|
|
|
#
|
|
|
|
# SPDX-License-Identifier: MIT
|
|
|
|
|
2019-12-26 22:25:17 +00:00
|
|
|
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.6
|
|
|
|
uses: actions/setup-python@v1
|
|
|
|
with:
|
|
|
|
python-version: 3.6
|
|
|
|
- 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
|
2020-03-03 06:28:48 +00:00
|
|
|
- name: Install dependencies
|
|
|
|
# (e.g. - apt-get: gettext, etc; pip: circuitpython-build-tools, requirements.txt; etc.)
|
2019-12-26 22:25:17 +00:00
|
|
|
run: |
|
|
|
|
source actions-ci/install.sh
|
2021-01-11 20:06:44 +00:00
|
|
|
- name: Pip install pylint, Sphinx, pre-commit
|
2020-03-03 06:28:48 +00:00
|
|
|
run: |
|
2021-01-11 20:06:44 +00:00
|
|
|
pip install --force-reinstall pylint Sphinx sphinx-rtd-theme pre-commit
|
2019-12-26 22:25:17 +00:00
|
|
|
- name: Library version
|
|
|
|
run: git describe --dirty --always --tags
|
2021-01-11 20:06:44 +00:00
|
|
|
- name: Pre-commit hooks
|
2020-04-07 20:02:31 +00:00
|
|
|
run: |
|
2021-01-11 20:06:44 +00:00
|
|
|
pre-commit run --all-files
|
2019-12-26 22:25:17 +00:00
|
|
|
- name: PyLint
|
|
|
|
run: |
|
|
|
|
pylint $( find . -path './adafruit*.py' )
|
2020-01-09 03:09:22 +00:00
|
|
|
([[ ! -d "examples" ]] || pylint --disable=missing-docstring,invalid-name,bad-whitespace $( find . -path "./examples/*.py" ))
|
2019-12-26 22:25:17 +00:00
|
|
|
- name: Build assets
|
|
|
|
run: circuitpython-build-bundles --filename_prefix ${{ steps.repo-name.outputs.repo-name }} --library_location .
|
2021-01-11 20:06:44 +00:00
|
|
|
- name: Archive bundles
|
|
|
|
uses: actions/upload-artifact@v2
|
|
|
|
with:
|
|
|
|
name: bundles
|
|
|
|
path: ${{ github.workspace }}/bundles/
|
2019-12-26 22:25:17 +00:00
|
|
|
- name: Build docs
|
|
|
|
working-directory: docs
|
|
|
|
run: sphinx-build -E -W -b html . _build/html
|
2021-01-11 20:06:44 +00:00
|
|
|
- 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/*
|