# 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: 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/*